Merge remote-tracking branch 'torvalds/master' into perf/core
[linux-2.6-microblaze.git] / arch / arm / boot / dts / bcm958625hr.dts
1 /*
2  *  BSD LICENSE
3  *
4  *  Copyright(c) 2016 Broadcom.  All rights reserved.
5  *
6  *  Redistribution and use in source and binary forms, with or without
7  *  modification, are permitted provided that the following conditions
8  *  are met:
9  *
10  *    * Redistributions of source code must retain the above copyright
11  *      notice, this list of conditions and the following disclaimer.
12  *    * Redistributions in binary form must reproduce the above copyright
13  *      notice, this list of conditions and the following disclaimer in
14  *      the documentation and/or other materials provided with the
15  *      distribution.
16  *    * Neither the name of Broadcom Corporation nor the names of its
17  *      contributors may be used to endorse or promote products derived
18  *      from this software without specific prior written permission.
19  *
20  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32
33 /dts-v1/;
34
35 #include "bcm-nsp.dtsi"
36 #include <dt-bindings/gpio/gpio.h>
37
38 / {
39         model = "NorthStar Plus SVK (BCM958625HR)";
40         compatible = "brcm,bcm58625", "brcm,nsp";
41
42         chosen {
43                 stdout-path = "serial0:115200n8";
44         };
45
46         memory@60000000 {
47                 device_type = "memory";
48                 reg = <0x60000000 0x20000000>;
49         };
50
51         gpio-restart {
52                 compatible = "gpio-restart";
53                 gpios = <&gpioa 15 GPIO_ACTIVE_LOW>;
54                 open-source;
55                 priority = <200>;
56         };
57
58         sfp: sfp {
59                 compatible = "sff,sfp";
60                 i2c-bus = <&i2c0>;
61                 mod-def0-gpios = <&gpioa 28 GPIO_ACTIVE_LOW>;
62                 los-gpios = <&gpioa 24 GPIO_ACTIVE_HIGH>;
63                 tx-fault-gpios = <&gpioa 30 GPIO_ACTIVE_HIGH>;
64                 tx-disable-gpios = <&gpioa 26 GPIO_ACTIVE_HIGH>;
65         };
66 };
67
68 &i2c0 {
69         status = "okay";
70 };
71
72 &dma {
73         status = "okay";
74 };
75
76 &amac0 {
77         status = "okay";
78 };
79
80 &amac1 {
81         status = "okay";
82 };
83
84 &amac2 {
85         status = "okay";
86 };
87
88 &ehci0 {
89         status = "okay";
90 };
91
92 &nand {
93         nandcs@0 {
94                 compatible = "brcm,nandcs";
95                 reg = <0>;
96                 nand-on-flash-bbt;
97
98                 #address-cells = <1>;
99                 #size-cells = <1>;
100
101                 nand-ecc-strength = <24>;
102                 nand-ecc-step-size = <1024>;
103
104                 brcm,nand-oob-sector-size = <27>;
105
106                 partition@0 {
107                         label = "nboot";
108                         reg = <0x00000000 0x00200000>;
109                         read-only;
110                 };
111                 partition@200000 {
112                         label = "nenv";
113                         reg = <0x00200000 0x00400000>;
114                 };
115                 partition@600000 {
116                         label = "nsystem";
117                         reg = <0x00600000 0x00a00000>;
118                 };
119                 partition@1000000 {
120                         label = "nrootfs";
121                         reg = <0x01000000 0x03000000>;
122                 };
123                 partition@4000000 {
124                         label = "ncustfs";
125                         reg = <0x04000000 0x3c000000>;
126                 };
127         };
128 };
129
130 &ohci0 {
131         status = "okay";
132 };
133
134 &pcie0 {
135         status = "okay";
136 };
137
138 &pcie1 {
139         status = "okay";
140 };
141
142 &pinctrl {
143         pinctrl-names = "default";
144         pinctrl-0 = <&nand_sel>;
145         nand_sel: nand_sel {
146                 function = "nand";
147                 groups = "nand_grp";
148         };
149 };
150
151 &qspi {
152         bspi-sel = <0>;
153         flash: m25p80@0 {
154                 #address-cells = <1>;
155                 #size-cells = <1>;
156                 compatible = "m25p80";
157                 reg = <0x0>;
158                 spi-max-frequency = <12500000>;
159                 m25p,fast-read;
160                 spi-cpol;
161                 spi-cpha;
162
163                 partition@0 {
164                         label = "boot";
165                         reg = <0x00000000 0x000a0000>;
166                 };
167
168                 partition@a0000 {
169                         label = "env";
170                         reg = <0x000a0000 0x00060000>;
171                 };
172
173                 partition@100000 {
174                         label = "system";
175                         reg = <0x00100000 0x00600000>;
176                 };
177
178                 partition@700000 {
179                         label = "rootfs";
180                         reg = <0x00700000 0x01900000>;
181                 };
182         };
183 };
184
185 &sata_phy0 {
186         status = "okay";
187 };
188
189 &sata_phy1 {
190         status = "okay";
191 };
192
193 &srab {
194         compatible = "brcm,bcm58625-srab", "brcm,nsp-srab";
195         status = "okay";
196
197         ports {
198                 port@0 {
199                         label = "port0";
200                         reg = <0>;
201                 };
202
203                 port@1 {
204                         label = "port1";
205                         reg = <1>;
206                 };
207
208                 port@2 {
209                         label = "port2";
210                         reg = <2>;
211                 };
212
213                 port@3 {
214                         label = "port3";
215                         reg = <3>;
216                 };
217
218                 port@4 {
219                         label = "port4";
220                         reg = <4>;
221                 };
222
223                 port@5 {
224                         label = "sfp";
225                         phy-mode = "sgmii";
226                         reg = <5>;
227                         sfp = <&sfp>;
228                         managed = "in-band-status";
229                 };
230
231                 port@8 {
232                         ethernet = <&amac2>;
233                         label = "cpu";
234                         reg = <8>;
235                         fixed-link {
236                                 speed = <1000>;
237                                 full-duplex;
238                         };
239                 };
240         };
241 };
242
243 &uart0 {
244         status = "okay";
245 };
246
247 &usb3_phy {
248         status = "okay";
249 };
250
251 &xhci {
252         status = "okay";
253 };