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