blob: 69ebc7a913a737bb4e9142c83ed8d26282ab7c8d [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001/*
2 * BSD LICENSE
3 *
4 * Copyright(c) 2015 Broadcom Corporation. 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
37/ {
38 model = "NorthStar Plus SVK (BCM958625K)";
39 compatible = "brcm,bcm958625k", "brcm,bcm58625", "brcm,nsp";
40
41 chosen {
42 stdout-path = "serial0:115200n8";
43 };
44
45 memory@60000000 {
46 device_type = "memory";
47 reg = <0x60000000 0x80000000>;
48 };
49};
50
51&dma {
52 status = "okay";
53};
54
55&amac0 {
56 status = "okay";
57};
58
59&amac1 {
60 status = "okay";
61};
62
63&amac2 {
64 status = "okay";
65};
66
67&ehci0 {
68 status = "okay";
69};
70
71&nand_controller {
72 nand@0 {
73 compatible = "brcm,nandcs";
74 reg = <0>;
75 nand-on-flash-bbt;
76
77 #address-cells = <1>;
78 #size-cells = <1>;
79
80 nand-ecc-strength = <24>;
81 nand-ecc-step-size = <1024>;
82
83 brcm,nand-oob-sector-size = <27>;
84
85 partition@0 {
86 label = "nboot";
87 reg = <0x00000000 0x00200000>;
88 read-only;
89 };
90 partition@200000 {
91 label = "nenv";
92 reg = <0x00200000 0x00400000>;
93 };
94 partition@600000 {
95 label = "nsystem";
96 reg = <0x00600000 0x00a00000>;
97 };
98 partition@1000000 {
99 label = "nrootfs";
100 reg = <0x01000000 0x03000000>;
101 };
102 partition@4000000 {
103 label = "ncustfs";
104 reg = <0x04000000 0x3c000000>;
105 };
106 };
107};
108
109&ohci0 {
110 status = "okay";
111};
112
113&pcie0 {
114 status = "okay";
115};
116
117&pcie1 {
118 status = "okay";
119};
120
121&pcie2 {
122 status = "okay";
123};
124
125&pinctrl {
126 pinctrl-names = "default";
127 pinctrl-0 = <&nand_sel>, <&gpiobs>, <&pwmc>;
128
129 nand_sel: nand_sel {
130 function = "nand";
131 groups = "nand_grp";
132 };
133
134 gpiobs: gpiobs {
135 function = "gpio_b";
136 groups = "gpio_b_0_grp", "gpio_b_1_grp", "gpio_b_2_grp",
137 "gpio_b_3_grp";
138 };
139
140 pwmc: pwmc {
141 function = "pwm";
142 groups = "pwm0_grp", "pwm1_grp", "pwm2_grp", "pwm3_grp";
143 };
144
145 emmc_sel: emmc_sel {
146 function = "emmc";
147 groups = "emmc_grp";
148 };
149};
150
151&pwm {
152 status = "okay";
153};
154
155&qspi {
156 status = "okay";
157 bspi-sel = <0>;
158 flash: flash@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
190&sata_phy0 {
191 status = "okay";
192};
193
194&sata_phy1 {
195 status = "okay";
196};
197
198&sata {
199 status = "okay";
200};
201
202/*
203 * By default the sd slot is functional. For emmc to work add "<&emmc_sel>"
204 * and delete "<&nand_sel>" in "pinctrl-0" property of pinctrl node. Remove the
205 * bus-width property here and disable the nand node with status = "disabled";.
206 *
207 * Ex: pinctrl-0 = <&emmc_sel>, <&gpiobs>, <&pwmc>;
208 */
209&sdio {
210 bus-width = <4>;
211 no-1-8-v;
212 status = "okay";
213};
214
215&srab {
216 compatible = "brcm,bcm58625-srab", "brcm,nsp-srab";
217 status = "okay";
218
219 ports {
220 port@0 {
221 label = "port0";
222 reg = <0>;
223 };
224
225 port@1 {
226 label = "port1";
227 reg = <1>;
228 };
229
230 port@2 {
231 label = "port2";
232 reg = <2>;
233 };
234
235 port@3 {
236 label = "port3";
237 reg = <3>;
238 };
239
240 port@4 {
241 label = "port4";
242 reg = <4>;
243 };
244
245 port@8 {
246 ethernet = <&amac2>;
247 label = "cpu";
248 reg = <8>;
249 fixed-link {
250 speed = <1000>;
251 full-duplex;
252 };
253 };
254 };
255};
256
257&uart0 {
258 status = "okay";
259};
260
261&uart1 {
262 status = "okay";
263};
264
265&usb3_phy {
266 status = "okay";
267};
268
269&xhci {
270 status = "okay";
271};