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