]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blob - arch/arm/boot/dts/bcm958625k.dts
Merge tag 'for-4.17-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave...
[mirror_ubuntu-eoan-kernel.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 aliases {
42 serial0 = &uart0;
43 serial1 = &uart1;
44 };
45
46 chosen {
47 stdout-path = "serial0:115200n8";
48 };
49
50 memory {
51 device_type = "memory";
52 reg = <0x60000000 0x80000000>;
53 };
54 };
55
56 &amac0 {
57 status = "okay";
58 };
59
60 &amac1 {
61 status = "okay";
62 };
63
64 &amac2 {
65 status = "okay";
66 };
67
68 &ehci0 {
69 status = "okay";
70 };
71
72 &nand {
73 nandcs@0 {
74 compatible = "brcm,nandcs";
75 reg = <0>;
76 nand-on-flash-bbt;
77
78 #address-cells = <1>;
79 #size-cells = <1>;
80
81 nand-ecc-strength = <24>;
82 nand-ecc-step-size = <1024>;
83
84 brcm,nand-oob-sector-size = <27>;
85
86 partition@0 {
87 label = "nboot";
88 reg = <0x00000000 0x00200000>;
89 read-only;
90 };
91 partition@200000 {
92 label = "nenv";
93 reg = <0x00200000 0x00400000>;
94 };
95 partition@600000 {
96 label = "nsystem";
97 reg = <0x00600000 0x00a00000>;
98 };
99 partition@1000000 {
100 label = "nrootfs";
101 reg = <0x01000000 0x03000000>;
102 };
103 partition@4000000 {
104 label = "ncustfs";
105 reg = <0x04000000 0x3c000000>;
106 };
107 };
108 };
109
110 &ohci0 {
111 status = "okay";
112 };
113
114 &pcie0 {
115 status = "okay";
116 };
117
118 &pcie1 {
119 status = "okay";
120 };
121
122 &pcie2 {
123 status = "okay";
124 };
125
126 &pinctrl {
127 pinctrl-names = "default";
128 pinctrl-0 = <&nand_sel>, <&gpiobs>, <&pwmc>;
129
130 nand_sel: nand_sel {
131 function = "nand";
132 groups = "nand_grp";
133 };
134
135 gpiobs: gpiobs {
136 function = "gpio_b";
137 groups = "gpio_b_0_grp", "gpio_b_1_grp", "gpio_b_2_grp",
138 "gpio_b_3_grp";
139 };
140
141 pwmc: pwmc {
142 function = "pwm";
143 groups = "pwm0_grp", "pwm1_grp", "pwm2_grp", "pwm3_grp";
144 };
145
146 emmc_sel: emmc_sel {
147 function = "emmc";
148 groups = "emmc_grp";
149 };
150 };
151
152 &pwm {
153 status = "okay";
154 };
155
156 &qspi {
157 bspi-sel = <0>;
158 flash: m25p80@0 {
159 #address-cells = <1>;
160 #size-cells = <1>;
161 compatible = "m25p80";
162 reg = <0x0>;
163 spi-max-frequency = <12500000>;
164 m25p,fast-read;
165 spi-cpol;
166 spi-cpha;
167
168 partition@0 {
169 label = "boot";
170 reg = <0x00000000 0x000a0000>;
171 };
172
173 partition@a0000 {
174 label = "env";
175 reg = <0x000a0000 0x00060000>;
176 };
177
178 partition@100000 {
179 label = "system";
180 reg = <0x00100000 0x00600000>;
181 };
182
183 partition@700000 {
184 label = "rootfs";
185 reg = <0x00700000 0x01900000>;
186 };
187 };
188 };
189
190 &sata_phy0 {
191 status = "okay";
192 };
193
194 &sata_phy1 {
195 status = "okay";
196 };
197
198 &sata {
199 status = "okay";
200 };
201
202 /*
203 * By default the sd slot is functional. For emmc to work add "<&emmc_sel>"
204 * and delete "<&nand_sel>" in "pinctrl-0" property of pinctrl node. Remove the
205 * bus-width property here and disable the nand node with status = "disabled";.
206 *
207 * Ex: pinctrl-0 = <&emmc_sel>, <&gpiobs>, <&pwmc>;
208 */
209 &sdio {
210 bus-width = <4>;
211 no-1-8-v;
212 status = "ok";
213 };
214
215 &srab {
216 compatible = "brcm,bcm58625-srab", "brcm,nsp-srab";
217 status = "okay";
218
219 ports {
220 #address-cells = <1>;
221 #size-cells = <0>;
222
223 port@0 {
224 label = "port0";
225 reg = <0>;
226 };
227
228 port@1 {
229 label = "port1";
230 reg = <1>;
231 };
232
233 port@2 {
234 label = "port2";
235 reg = <2>;
236 };
237
238 port@3 {
239 label = "port3";
240 reg = <3>;
241 };
242
243 port@4 {
244 label = "port4";
245 reg = <4>;
246 };
247
248 port@8 {
249 ethernet = <&amac2>;
250 label = "cpu";
251 reg = <8>;
252 fixed-link {
253 speed = <1000>;
254 full-duplex;
255 };
256 };
257 };
258 };
259
260 &uart0 {
261 status = "okay";
262 };
263
264 &uart1 {
265 status = "okay";
266 };
267
268 &usb3_phy {
269 status = "okay";
270 };
271
272 &xhci {
273 status = "okay";
274 };