GNU Linux-libre 6.1.90-gnu
[releases.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,bcm958625hr", "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_controller {
93         nand@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         status = "okay";
153         bspi-sel = <0>;
154         flash: flash@0 {
155                 #address-cells = <1>;
156                 #size-cells = <1>;
157                 compatible = "m25p80";
158                 reg = <0x0>;
159                 spi-max-frequency = <12500000>;
160                 m25p,fast-read;
161                 spi-cpol;
162                 spi-cpha;
163
164                 partition@0 {
165                         label = "boot";
166                         reg = <0x00000000 0x000a0000>;
167                 };
168
169                 partition@a0000 {
170                         label = "env";
171                         reg = <0x000a0000 0x00060000>;
172                 };
173
174                 partition@100000 {
175                         label = "system";
176                         reg = <0x00100000 0x00600000>;
177                 };
178
179                 partition@700000 {
180                         label = "rootfs";
181                         reg = <0x00700000 0x01900000>;
182                 };
183         };
184 };
185
186 &sata_phy0 {
187         status = "okay";
188 };
189
190 &sata_phy1 {
191         status = "okay";
192 };
193
194 &srab {
195         compatible = "brcm,bcm58625-srab", "brcm,nsp-srab";
196         status = "okay";
197
198         ports {
199                 port@0 {
200                         label = "port0";
201                         reg = <0>;
202                 };
203
204                 port@1 {
205                         label = "port1";
206                         reg = <1>;
207                 };
208
209                 port@2 {
210                         label = "port2";
211                         reg = <2>;
212                 };
213
214                 port@3 {
215                         label = "port3";
216                         reg = <3>;
217                 };
218
219                 port@4 {
220                         label = "port4";
221                         reg = <4>;
222                 };
223
224                 port@5 {
225                         label = "sfp";
226                         phy-mode = "sgmii";
227                         reg = <5>;
228                         sfp = <&sfp>;
229                         managed = "in-band-status";
230                 };
231
232                 port@8 {
233                         ethernet = <&amac2>;
234                         label = "cpu";
235                         reg = <8>;
236                         fixed-link {
237                                 speed = <1000>;
238                                 full-duplex;
239                         };
240                 };
241         };
242 };
243
244 &uart0 {
245         status = "okay";
246 };
247
248 &usb3_phy {
249         status = "okay";
250 };
251
252 &xhci {
253         status = "okay";
254 };