Merge tag 'docs-5.11-2' of git://git.lwn.net/linux
[linux-2.6-microblaze.git] / arch / arm / boot / dts / bcm958625k.dts
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 "bcm-nsp.dtsi"
36
37 / {
38         model = "NorthStar Plus SVK (BCM958625K)";
39         compatible = "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 {
72         nandcs@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         bspi-sel = <0>;
157         flash: m25p80@0 {
158                 #address-cells = <1>;
159                 #size-cells = <1>;
160                 compatible = "m25p80";
161                 reg = <0x0>;
162                 spi-max-frequency = <12500000>;
163                 m25p,fast-read;
164                 spi-cpol;
165                 spi-cpha;
166
167                 partition@0 {
168                         label = "boot";
169                         reg = <0x00000000 0x000a0000>;
170                 };
171
172                 partition@a0000 {
173                         label = "env";
174                         reg = <0x000a0000 0x00060000>;
175                 };
176
177                 partition@100000 {
178                         label = "system";
179                         reg = <0x00100000 0x00600000>;
180                 };
181
182                 partition@700000 {
183                         label = "rootfs";
184                         reg = <0x00700000 0x01900000>;
185                 };
186         };
187 };
188
189 &sata_phy0 {
190         status = "okay";
191 };
192
193 &sata_phy1 {
194         status = "okay";
195 };
196
197 &sata {
198         status = "okay";
199 };
200
201 /*
202  * By default the sd slot is functional. For emmc to work add "<&emmc_sel>"
203  * and delete "<&nand_sel>" in "pinctrl-0" property of pinctrl node. Remove the
204  * bus-width property here and disable the nand node with status = "disabled";.
205  *
206  * Ex: pinctrl-0 = <&emmc_sel>, <&gpiobs>, <&pwmc>;
207  */
208 &sdio {
209         bus-width = <4>;
210         no-1-8-v;
211         status = "okay";
212 };
213
214 &srab {
215         compatible = "brcm,bcm58625-srab", "brcm,nsp-srab";
216         status = "okay";
217
218         ports {
219                 port@0 {
220                         label = "port0";
221                         reg = <0>;
222                 };
223
224                 port@1 {
225                         label = "port1";
226                         reg = <1>;
227                 };
228
229                 port@2 {
230                         label = "port2";
231                         reg = <2>;
232                 };
233
234                 port@3 {
235                         label = "port3";
236                         reg = <3>;
237                 };
238
239                 port@4 {
240                         label = "port4";
241                         reg = <4>;
242                 };
243
244                 port@8 {
245                         ethernet = <&amac2>;
246                         label = "cpu";
247                         reg = <8>;
248                         fixed-link {
249                                 speed = <1000>;
250                                 full-duplex;
251                         };
252                 };
253         };
254 };
255
256 &uart0 {
257         status = "okay";
258 };
259
260 &uart1 {
261         status = "okay";
262 };
263
264 &usb3_phy {
265         status = "okay";
266 };
267
268 &xhci {
269         status = "okay";
270 };