blob: cf226b02141f0e524141dcc4f1a17f2d76382f2f [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
Jon Masona7dd6232016-05-05 19:29:32 -040042 chosen {
43 stdout-path = "serial0:115200n8";
44 };
Florian Fainelli9a4865d2016-06-28 18:04:21 -070045
46 memory {
Jon Masonc53beb42016-07-14 16:14:17 -040047 device_type = "memory";
Florian Fainelli0a5aff62018-02-26 17:00:35 -080048 reg = <0x60000000 0x20000000>;
Florian Fainelli9a4865d2016-06-28 18:04:21 -070049 };
Jon Masonb1aaf882016-08-03 14:39:00 -040050
51 gpio-restart {
52 compatible = "gpio-restart";
53 gpios = <&gpioa 15 GPIO_ACTIVE_LOW>;
Jon Masonacfa28b2017-03-01 18:02:28 -050054 open-source;
Jon Masonb1aaf882016-08-03 14:39:00 -040055 priority = <200>;
56 };
Florian Fainelli046ead62018-08-31 12:20:37 -070057
58 /* Hardware I2C block cannot do more than 63 bytes per transfer,
59 * which would prevent reading from a SFP's EEPROM (256 byte).
60 */
61 i2c1: i2c {
62 compatible = "i2c-gpio";
63 sda-gpios = <&gpioa 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
64 scl-gpios = <&gpioa 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
65 };
66
67 sfp: sfp {
68 compatible = "sff,sfp";
69 i2c-bus = <&i2c1>;
70 mod-def0-gpios = <&gpioa 28 GPIO_ACTIVE_LOW>;
71 los-gpios = <&gpioa 24 GPIO_ACTIVE_HIGH>;
72 tx-fault-gpios = <&gpioa 30 GPIO_ACTIVE_HIGH>;
73 tx-disable-gpios = <&gpioa 26 GPIO_ACTIVE_HIGH>;
74 };
Jon Masona7dd6232016-05-05 19:29:32 -040075};
76
Jon Mason1fd2bb62016-12-13 13:13:45 -050077&amac0 {
78 status = "okay";
79};
80
Jon Mason5aeda7b2016-12-13 13:13:49 -050081&amac1 {
82 status = "okay";
83};
84
85&amac2 {
86 status = "okay";
87};
88
Jon Mason1d8ece62017-03-07 18:34:04 -050089&ehci0 {
90 status = "okay";
91};
92
Jon Masona7dd6232016-05-05 19:29:32 -040093&nand {
94 nandcs@0 {
95 compatible = "brcm,nandcs";
96 reg = <0>;
97 nand-on-flash-bbt;
98
99 #address-cells = <1>;
100 #size-cells = <1>;
101
102 nand-ecc-strength = <24>;
103 nand-ecc-step-size = <1024>;
104
105 brcm,nand-oob-sector-size = <27>;
106
107 partition@0 {
108 label = "nboot";
109 reg = <0x00000000 0x00200000>;
110 read-only;
111 };
112 partition@200000 {
113 label = "nenv";
114 reg = <0x00200000 0x00400000>;
115 };
116 partition@600000 {
117 label = "nsystem";
118 reg = <0x00600000 0x00a00000>;
119 };
120 partition@1000000 {
121 label = "nrootfs";
122 reg = <0x01000000 0x03000000>;
123 };
124 partition@4000000 {
125 label = "ncustfs";
126 reg = <0x04000000 0x3c000000>;
127 };
128 };
129};
130
Jon Mason1d8ece62017-03-07 18:34:04 -0500131&ohci0 {
132 status = "okay";
133};
134
Jon Masona7dd6232016-05-05 19:29:32 -0400135&pcie0 {
136 status = "okay";
137};
138
139&pcie1 {
140 status = "okay";
141};
142
143&pinctrl {
144 pinctrl-names = "default";
145 pinctrl-0 = <&nand_sel>;
146 nand_sel: nand_sel {
147 function = "nand";
148 groups = "nand_grp";
149 };
150};
Florian Fainelli1bc1d822016-07-08 11:49:29 -0700151
Jon Mason89b0a4c2016-12-13 13:13:47 -0500152&qspi {
153 bspi-sel = <0>;
154 flash: m25p80@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
Jon Mason1fd2bb62016-12-13 13:13:45 -0500186&sata_phy0 {
187 status = "okay";
188};
189
190&sata_phy1 {
191 status = "okay";
192};
193
Florian Fainelli1bc1d822016-07-08 11:49:29 -0700194&srab {
195 compatible = "brcm,bcm58625-srab", "brcm,nsp-srab";
196 status = "okay";
197
198 ports {
199 #address-cells = <1>;
200 #size-cells = <0>;
201
202 port@0 {
203 label = "port0";
204 reg = <0>;
205 };
206
207 port@1 {
208 label = "port1";
209 reg = <1>;
210 };
211
212 port@2 {
213 label = "port2";
214 reg = <2>;
215 };
216
217 port@3 {
218 label = "port3";
219 reg = <3>;
220 };
221
222 port@4 {
223 label = "port4";
224 reg = <4>;
225 };
226
Florian Fainelli046ead62018-08-31 12:20:37 -0700227 port@5 {
228 label = "sfp";
229 phy-mode = "sgmii";
230 reg = <5>;
231 sfp = <&sfp>;
232 managed = "in-band-status";
233 };
234
Florian Fainelli3746fd72018-02-27 12:45:19 -0800235 port@8 {
236 ethernet = <&amac2>;
Florian Fainelli1bc1d822016-07-08 11:49:29 -0700237 label = "cpu";
Florian Fainelli3746fd72018-02-27 12:45:19 -0800238 reg = <8>;
Florian Fainelli1bc1d822016-07-08 11:49:29 -0700239 fixed-link {
240 speed = <1000>;
241 full-duplex;
242 };
243 };
244 };
245};
Jon Mason70725d62016-08-03 14:38:56 -0400246
Jon Mason1fd2bb62016-12-13 13:13:45 -0500247&uart0 {
Jon Mason70725d62016-08-03 14:38:56 -0400248 status = "okay";
249};
Jon Masonbbe526f2017-07-31 17:54:23 -0400250
251&usb3_phy {
252 status = "okay";
253};
254
255&xhci {
256 status = "okay";
257};