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 "ns2.dtsi"
36
37/ {
38	model = "Broadcom NS2 XMC";
39	compatible = "brcm,ns2-xmc", "brcm,ns2";
40
41	aliases {
42		serial0 = &uart3;
43	};
44
45	chosen {
46		stdout-path = "serial0:115200n8";
47		bootargs = "earlycon=uart8250,mmio32,0x66130000";
48	};
49
50	memory {
51		device_type = "memory";
52		reg = <0x000000000 0x80000000 0x00000001 0x00000000>;
53	};
54};
55
56&enet {
57	status = "okay";
58};
59
60&i2c0 {
61	status = "okay";
62};
63
64&i2c1 {
65	status = "okay";
66};
67
68&mdio_mux_iproc {
69	mdio@10 {
70		gphy0: eth-phy@10 {
71			reg = <0x10>;
72		};
73	};
74};
75
76&nand {
77	nandcs@0 {
78		compatible = "brcm,nandcs";
79		reg = <0>;
80		nand-ecc-mode = "hw";
81		nand-ecc-strength = <8>;
82		nand-ecc-step-size = <512>;
83		nand-bus-width = <16>;
84		brcm,nand-oob-sector-size = <16>;
85		#address-cells = <1>;
86		#size-cells = <1>;
87
88		partition@0 {
89			label = "nboot";
90			reg = <0x00000000 0x00280000>; /*  2.5MB */
91			read-only;
92		};
93
94		partition@280000 {
95			label = "nenv";
96			reg = <0x00280000 0x00040000>; /* 0.25MB */
97			read-only;
98		};
99
100		partition@2c0000 {
101			label = "ndtb";
102			reg = <0x002c0000 0x00040000>; /* 0.25MB */
103			read-only;
104		};
105
106		partition@300000 {
107			label = "nsystem";
108			reg = <0x00300000 0x03d00000>; /*   61MB */
109			read-only;
110		};
111
112		partition@4000000 {
113			label = "nrootfs";
114			reg = <0x04000000 0x06400000>; /*  100MB */
115		};
116
117		partition@a400000{
118			label = "ncustfs";
119			reg = <0x0a400000 0x35c00000>; /*  860MB */
120		};
121	};
122};
123
124&pci_phy0 {
125	status = "okay";
126};
127
128&pcie0 {
129	status = "okay";
130};
131
132&pcie8 {
133	status = "okay";
134};
135
136&sata_phy0 {
137	status = "okay";
138};
139
140&sata_phy1 {
141	status = "okay";
142};
143
144&sata {
145	status = "okay";
146};
147
148&qspi {
149	flash: m25p80@0 {
150		#address-cells = <1>;
151		#size-cells = <1>;
152		compatible = "m25p80";
153		spi-max-frequency = <62500000>;
154		m25p,default-addr-width = <3>;
155		reg = <0x0 0x0>;
156
157		partition@0 {
158			label = "bl0";
159			reg = <0x00000000 0x00080000>; /*  512KB */
160		};
161
162		partition@80000 {
163			label = "fip";
164			reg = <0x00080000 0x00150000>; /* 1344KB */
165		};
166
167		partition@1e0000 {
168			label = "env";
169			reg = <0x001e0000 0x00010000>;/*    64KB */
170		};
171
172		partition@1f0000 {
173			label = "dtb";
174			reg = <0x001f0000 0x00010000>; /*   64KB */
175		};
176
177		partition@200000 {
178			label = "kernel";
179			reg = <0x00200000 0x00e00000>; /*   14MB */
180		};
181
182		partition@1000000 {
183			label = "rootfs";
184			reg = <0x01000000 0x01000000>; /*   16MB */
185		};
186	};
187};
188
189&uart3 {
190	status = "okay";
191};
192