1/*
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 "ns2.dtsi"
36
37/ {
38	model = "Broadcom NS2 SVK";
39	compatible = "brcm,ns2-svk", "brcm,ns2";
40
41	aliases {
42		serial0 = &uart3;
43		serial1 = &uart0;
44		serial2 = &uart1;
45		serial3 = &uart2;
46	};
47
48	chosen {
49		stdout-path = "serial0:115200n8";
50		bootargs = "earlycon=uart8250,mmio32,0x66130000";
51	};
52
53	memory@80000000 {
54		device_type = "memory";
55		reg = <0x00000000 0x80000000 0x00000000 0x40000000>;
56	};
57};
58
59&enet {
60	status = "okay";
61};
62
63&pci_phy0 {
64	status = "okay";
65};
66
67&pci_phy1 {
68	status = "okay";
69};
70
71&pcie0 {
72	status = "okay";
73};
74
75&pcie4 {
76	status = "okay";
77};
78
79&pcie8 {
80	status = "okay";
81};
82
83&i2c0 {
84	status = "okay";
85};
86
87&i2c1 {
88	status = "okay";
89};
90
91&uart0 {
92	status = "okay";
93};
94
95&uart1 {
96	status = "okay";
97};
98
99&uart2 {
100	status = "okay";
101};
102
103&uart3 {
104	status = "okay";
105};
106
107&ssp0 {
108	status = "okay";
109
110	slic@0 {
111		compatible = "silabs,si3226x";
112		reg = <0>;
113		spi-max-frequency = <5000000>;
114		spi-cpha;
115		spi-cpol;
116		pl022,interface = <0>;
117		pl022,slave-tx-disable = <0>;
118		pl022,com-mode = <0>;
119		pl022,rx-level-trig = <1>;
120		pl022,tx-level-trig = <1>;
121		pl022,ctrl-len = <11>;
122		pl022,wait-state = <0>;
123		pl022,duplex = <0>;
124	};
125};
126
127&ssp1 {
128	status = "okay";
129
130	at25@0 {
131		compatible = "atmel,at25";
132		reg = <0>;
133		spi-max-frequency = <5000000>;
134		at25,byte-len = <0x8000>;
135		at25,addr-mode = <2>;
136		at25,page-size = <64>;
137		spi-cpha;
138		spi-cpol;
139		pl022,interface = <0>;
140		pl022,com-mode = <0>;
141		pl022,rx-level-trig = <1>;
142		pl022,tx-level-trig = <1>;
143		pl022,ctrl-len = <11>;
144		pl022,wait-state = <0>;
145		pl022,duplex = <0>;
146	};
147};
148
149&sata_phy0 {
150	status = "okay";
151};
152
153&sata_phy1 {
154	status = "okay";
155};
156
157&sata {
158	status = "okay";
159};
160
161&sdio0 {
162	status = "okay";
163};
164
165&sdio1 {
166	status = "okay";
167};
168
169&nand {
170	nandcs@0 {
171		compatible = "brcm,nandcs";
172		reg = <0>;
173		nand-ecc-mode = "hw";
174		nand-ecc-strength = <8>;
175		nand-ecc-step-size = <512>;
176		nand-bus-width = <16>;
177		brcm,nand-oob-sector-size = <16>;
178		#address-cells = <1>;
179		#size-cells = <1>;
180	};
181};
182
183&mdio_mux_iproc {
184	mdio@10 {
185		gphy0: eth-phy@10 {
186			enet-phy-lane-swap;
187			reg = <0x10>;
188		};
189	};
190};
191
192&pinctrl {
193	pinctrl-names = "default";
194	pinctrl-0 = <&nand_sel>;
195	nand_sel: nand_sel {
196		function = "nand";
197		groups = "nand_grp";
198	};
199};
200
201&qspi {
202	flash: flash@0 {
203		#address-cells = <1>;
204		#size-cells = <1>;
205		compatible = "m25p80";
206		reg = <0x0>;
207		spi-max-frequency = <12500000>;
208		m25p,fast-read;
209		spi-cpol;
210		spi-cpha;
211
212		partition@0 {
213			label = "boot";
214			reg = <0x00000000 0x000a0000>;
215		};
216
217		partition@a0000 {
218			label = "env";
219			reg = <0x000a0000 0x00060000>;
220		};
221
222		partition@100000 {
223			label = "system";
224			reg = <0x00100000 0x00600000>;
225		};
226
227		partition@700000 {
228			label = "rootfs";
229			reg = <0x00700000 0x01900000>;
230		};
231	};
232};
233