blob: a53a2f629d74198a5c3f4e5d27f0ba5954c0950a [file] [log] [blame]
Jon Masona7dd6232016-05-05 19:29:32 -04001/*
2 * BSD LICENSE
3 *
Jon Mason1fd2bb62016-12-13 13:13:45 -05004 * Copyright(c) 2016 Broadcom. All rights reserved.
Jon Masona7dd6232016-05-05 19:29:32 -04005 *
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"
Jon Masonb1aaf882016-08-03 14:39:00 -040036#include <dt-bindings/gpio/gpio.h>
Jon Masona7dd6232016-05-05 19:29:32 -040037
38/ {
39 model = "NorthStar Plus SVK (BCM958625HR)";
40 compatible = "brcm,bcm58625", "brcm,nsp";
41
42 aliases {
43 serial0 = &uart0;
44 };
45
46 chosen {
47 stdout-path = "serial0:115200n8";
48 };
Florian Fainelli9a4865d2016-06-28 18:04:21 -070049
50 memory {
Jon Masonc53beb42016-07-14 16:14:17 -040051 device_type = "memory";
Florian Fainelli0a5aff62018-02-26 17:00:35 -080052 reg = <0x60000000 0x20000000>;
Florian Fainelli9a4865d2016-06-28 18:04:21 -070053 };
Jon Masonb1aaf882016-08-03 14:39:00 -040054
55 gpio-restart {
56 compatible = "gpio-restart";
57 gpios = <&gpioa 15 GPIO_ACTIVE_LOW>;
Jon Masonacfa28b2017-03-01 18:02:28 -050058 open-source;
Jon Masonb1aaf882016-08-03 14:39:00 -040059 priority = <200>;
60 };
Florian Fainelli046ead62018-08-31 12:20:37 -070061
62 /* Hardware I2C block cannot do more than 63 bytes per transfer,
63 * which would prevent reading from a SFP's EEPROM (256 byte).
64 */
65 i2c1: i2c {
66 compatible = "i2c-gpio";
67 sda-gpios = <&gpioa 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
68 scl-gpios = <&gpioa 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
69 };
70
71 sfp: sfp {
72 compatible = "sff,sfp";
73 i2c-bus = <&i2c1>;
74 mod-def0-gpios = <&gpioa 28 GPIO_ACTIVE_LOW>;
75 los-gpios = <&gpioa 24 GPIO_ACTIVE_HIGH>;
76 tx-fault-gpios = <&gpioa 30 GPIO_ACTIVE_HIGH>;
77 tx-disable-gpios = <&gpioa 26 GPIO_ACTIVE_HIGH>;
78 };
Jon Masona7dd6232016-05-05 19:29:32 -040079};
80
Jon Mason1fd2bb62016-12-13 13:13:45 -050081&amac0 {
82 status = "okay";
83};
84
Jon Mason5aeda7b2016-12-13 13:13:49 -050085&amac1 {
86 status = "okay";
87};
88
89&amac2 {
90 status = "okay";
91};
92
Jon Mason1d8ece62017-03-07 18:34:04 -050093&ehci0 {
94 status = "okay";
95};
96
Jon Masona7dd6232016-05-05 19:29:32 -040097&nand {
98 nandcs@0 {
99 compatible = "brcm,nandcs";
100 reg = <0>;
101 nand-on-flash-bbt;
102
103 #address-cells = <1>;
104 #size-cells = <1>;
105
106 nand-ecc-strength = <24>;
107 nand-ecc-step-size = <1024>;
108
109 brcm,nand-oob-sector-size = <27>;
110
111 partition@0 {
112 label = "nboot";
113 reg = <0x00000000 0x00200000>;
114 read-only;
115 };
116 partition@200000 {
117 label = "nenv";
118 reg = <0x00200000 0x00400000>;
119 };
120 partition@600000 {
121 label = "nsystem";
122 reg = <0x00600000 0x00a00000>;
123 };
124 partition@1000000 {
125 label = "nrootfs";
126 reg = <0x01000000 0x03000000>;
127 };
128 partition@4000000 {
129 label = "ncustfs";
130 reg = <0x04000000 0x3c000000>;
131 };
132 };
133};
134
Jon Mason1d8ece62017-03-07 18:34:04 -0500135&ohci0 {
136 status = "okay";
137};
138
Jon Masona7dd6232016-05-05 19:29:32 -0400139&pcie0 {
140 status = "okay";
141};
142
143&pcie1 {
144 status = "okay";
145};
146
147&pinctrl {
148 pinctrl-names = "default";
149 pinctrl-0 = <&nand_sel>;
150 nand_sel: nand_sel {
151 function = "nand";
152 groups = "nand_grp";
153 };
154};
Florian Fainelli1bc1d822016-07-08 11:49:29 -0700155
Jon Mason89b0a4c2016-12-13 13:13:47 -0500156&qspi {
157 bspi-sel = <0>;
158 flash: m25p80@0 {
159 #address-cells = <1>;
160 #size-cells = <1>;
161 compatible = "m25p80";
162 reg = <0x0>;
163 spi-max-frequency = <12500000>;
164 m25p,fast-read;
165 spi-cpol;
166 spi-cpha;
167
168 partition@0 {
169 label = "boot";
170 reg = <0x00000000 0x000a0000>;
171 };
172
173 partition@a0000 {
174 label = "env";
175 reg = <0x000a0000 0x00060000>;
176 };
177
178 partition@100000 {
179 label = "system";
180 reg = <0x00100000 0x00600000>;
181 };
182
183 partition@700000 {
184 label = "rootfs";
185 reg = <0x00700000 0x01900000>;
186 };
187 };
188};
189
Jon Mason1fd2bb62016-12-13 13:13:45 -0500190&sata_phy0 {
191 status = "okay";
192};
193
194&sata_phy1 {
195 status = "okay";
196};
197
Florian Fainelli1bc1d822016-07-08 11:49:29 -0700198&srab {
199 compatible = "brcm,bcm58625-srab", "brcm,nsp-srab";
200 status = "okay";
201
202 ports {
203 #address-cells = <1>;
204 #size-cells = <0>;
205
206 port@0 {
207 label = "port0";
208 reg = <0>;
209 };
210
211 port@1 {
212 label = "port1";
213 reg = <1>;
214 };
215
216 port@2 {
217 label = "port2";
218 reg = <2>;
219 };
220
221 port@3 {
222 label = "port3";
223 reg = <3>;
224 };
225
226 port@4 {
227 label = "port4";
228 reg = <4>;
229 };
230
Florian Fainelli046ead62018-08-31 12:20:37 -0700231 port@5 {
232 label = "sfp";
233 phy-mode = "sgmii";
234 reg = <5>;
235 sfp = <&sfp>;
236 managed = "in-band-status";
237 };
238
Florian Fainelli3746fd72018-02-27 12:45:19 -0800239 port@8 {
240 ethernet = <&amac2>;
Florian Fainelli1bc1d822016-07-08 11:49:29 -0700241 label = "cpu";
Florian Fainelli3746fd72018-02-27 12:45:19 -0800242 reg = <8>;
Florian Fainelli1bc1d822016-07-08 11:49:29 -0700243 fixed-link {
244 speed = <1000>;
245 full-duplex;
246 };
247 };
248 };
249};
Jon Mason70725d62016-08-03 14:38:56 -0400250
Jon Mason1fd2bb62016-12-13 13:13:45 -0500251&uart0 {
Jon Mason70725d62016-08-03 14:38:56 -0400252 status = "okay";
253};
Jon Masonbbe526f2017-07-31 17:54:23 -0400254
255&usb3_phy {
256 status = "okay";
257};
258
259&xhci {
260 status = "okay";
261};