]> git.ipfire.org Git - thirdparty/u-boot.git/blob - src/arm/marvell/armada-370-c200-v2.dts
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / src / arm / marvell / armada-370-c200-v2.dts
1 // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
2 /*
3 * Device Tree file for Ctera C200-V2
4 *
5 * Copyright (C) 2022 Pawel Dembicki <paweldembicki@gmail.com>
6 */
7
8 /dts-v1/;
9
10 #include "armada-370.dtsi"
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/input/input.h>
13 #include <dt-bindings/thermal/thermal.h>
14 #include <dt-bindings/leds/common.h>
15
16 / {
17 model = "Ctera C200 V2";
18 compatible = "ctera,c200-v2", "marvell,armada370", "marvell,armada-370-xp";
19
20 chosen {
21 bootargs = "console=ttyS0,115200";
22 stdout-path = "serial0:115200n8";
23 };
24
25 memory {
26 device_type = "memory";
27 reg = <0x00000000 0x40000000>; /* 1024 MB */
28 };
29
30 soc {
31 ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000
32 MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000
33 MBUS_ID(0x09, 0x01) 0 0xf1100000 0x10000>;
34 };
35
36 thermal-zones {
37 ethphy-thermal {
38 polling-delay = <20000>;
39 polling-delay-passive = <2000>;
40
41 thermal-sensors = <&ethphy0>;
42
43 trips {
44 ethphy_alert1: trip1 {
45 temperature = <65000>;
46 hysteresis = <4000>;
47 type = "passive";
48 };
49
50 ethphy_crit: trip2 {
51 temperature = <100000>;
52 hysteresis = <2000>;
53 type = "critical";
54 };
55 };
56 };
57 };
58
59 beeper {
60 compatible = "pwm-beeper";
61 pinctrl-0 = <&pmx_beeper>;
62 pinctrl-names = "default";
63 pwms = <&gpio1 31 4000>;
64 };
65
66 gpio-poweroff {
67 compatible = "gpio-poweroff";
68 pinctrl-0 = <&pmx_poweroff>;
69 pinctrl-names = "default";
70 gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
71 };
72
73 keys {
74 compatible = "gpio-keys";
75 pinctrl-0 = <&pmx_buttons>;
76 pinctrl-names = "default";
77
78 button-power {
79 label = "Power Button";
80 linux,code = <KEY_POWER>;
81 gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>;
82 };
83
84 button-reset {
85 label = "Reset Button";
86 linux,code = <KEY_RESTART>;
87 gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
88 };
89
90 button-usb1 {
91 label = "USB1 Button";
92 linux,code = <BTN_0>;
93 gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
94 };
95
96 button-usb2 {
97 label = "USB2 Button";
98 linux,code = <BTN_1>;
99 gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
100 };
101 };
102
103 leds {
104 compatible = "gpio-leds";
105 pinctrl-0 = <&pmx_leds1 &pmx_leds2>;
106 pinctrl-names = "default";
107
108 led-0 {
109 function = LED_FUNCTION_USB;
110 function-enumerator = <2>;
111 color = <LED_COLOR_ID_RED>;
112 gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
113 };
114
115 led-1 {
116 function = LED_FUNCTION_USB;
117 function-enumerator = <2>;
118 color = <LED_COLOR_ID_GREEN>;
119 gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
120 };
121
122 led-2 {
123 function = LED_FUNCTION_USB;
124 function-enumerator = <1>;
125 color = <LED_COLOR_ID_RED>;
126 gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
127 };
128
129 led-3 {
130 function = LED_FUNCTION_USB;
131 function-enumerator = <1>;
132 color = <LED_COLOR_ID_GREEN>;
133 gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
134 };
135
136 led-4 {
137 function = LED_FUNCTION_DISK;
138 function-enumerator = <2>;
139 color = <LED_COLOR_ID_GREEN>;
140 gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
141 };
142
143 led-5 {
144 function = LED_FUNCTION_DISK;
145 function-enumerator = <1>;
146 color = <LED_COLOR_ID_RED>;
147 gpios = <&gpio1 18 GPIO_ACTIVE_LOW>;
148 };
149
150 led-6 {
151 function = LED_FUNCTION_DISK;
152 function-enumerator = <2>;
153 color = <LED_COLOR_ID_RED>;
154 gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
155 };
156
157 led-7 {
158 function = LED_FUNCTION_INDICATOR;
159 color = <LED_COLOR_ID_BLUE>;
160 gpios = <&gpio1 20 GPIO_ACTIVE_HIGH>;
161 };
162
163 led-8 {
164 function = LED_FUNCTION_DISK_ERR;
165 color = <LED_COLOR_ID_RED>;
166 gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
167 };
168
169 led-9 {
170 function = LED_FUNCTION_DISK_ERR;
171 color = <LED_COLOR_ID_GREEN>;
172 gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
173 };
174
175 led-10 {
176 function = LED_FUNCTION_STATUS;
177 color = <LED_COLOR_ID_RED>;
178 gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
179 };
180
181 led-11 {
182 function = LED_FUNCTION_DISK;
183 function-enumerator = <1>;
184 color = <LED_COLOR_ID_GREEN>;
185 gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
186 };
187
188 led-12 {
189 function = LED_FUNCTION_STATUS;
190 color = <LED_COLOR_ID_GREEN>;
191 gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
192 };
193 };
194 };
195
196 &coherencyfab {
197 broken-idle;
198 };
199
200 &eth1 {
201 pinctrl-0 = <&ge1_rgmii_pins>;
202 pinctrl-names = "default";
203 status = "okay";
204 phy-handle = <&ethphy0>;
205 phy-connection-type = "rgmii-id";
206 };
207
208 &i2c0 {
209 pinctrl-0 = <&i2c0_pins>;
210 pinctrl-names = "default";
211 clock-frequency = <100000>;
212 status = "okay";
213
214 hwmon@2a {
215 compatible = "nuvoton,nct7802";
216 reg = <0x2a>;
217 };
218
219 rtc@30 {
220 compatible = "sii,s35390a";
221 reg = <0x30>;
222 };
223 };
224
225 &mdio {
226 pinctrl-0 = <&mdio_pins>;
227 pinctrl-names = "default";
228
229 ethphy0: ethernet-phy@0 { /* Marvell 88E1318 */
230 reg = <0>;
231 #thermal-sensor-cells = <0>;
232 };
233 };
234
235 &nand_controller {
236 status = "okay";
237
238 nand@0 {
239 reg = <0>;
240 label = "pxa3xx_nand-0";
241 nand-rb = <0>;
242 marvell,nand-keep-config;
243 nand-on-flash-bbt;
244 nand-ecc-strength = <4>;
245 nand-ecc-step-size = <512>;
246
247 partitions {
248 compatible = "fixed-partitions";
249 #address-cells = <1>;
250 #size-cells = <1>;
251
252 partition@0 {
253 label = "uboot";
254 reg = <0x0000000 0x200000>;
255 read-only;
256 };
257
258 partition@200000 {
259 label = "certificate";
260 reg = <0x0200000 0x100000>;
261 read-only;
262 };
263
264 partition@300000 {
265 label = "preset_cfg";
266 reg = <0x0300000 0x100000>;
267 read-only;
268 };
269
270 partition@400000 {
271 label = "dev_params";
272 reg = <0x0400000 0x100000>;
273 read-only;
274 };
275 partition@500000 {
276 label = "active_bank";
277 reg = <0x0500000 0x0100000>;
278 };
279
280 partition@600000 {
281 label = "magic";
282 reg = <0x0600000 0x0100000>;
283 read-only;
284 };
285
286 partition@700000 {
287 label = "bank1";
288 reg = <0x0700000 0x2800000>;
289 };
290
291 partition@2f00000 {
292 label = "bank2";
293 reg = <0x2f00000 0x2800000>;
294 };
295
296 /* 0x5700000-0x5a00000 undefined in vendor firmware */
297
298 partition@5a00000 {
299 label = "reserved";
300 reg = <0x5a00000 0x2000000>;
301 };
302
303 partition@7a00000 {
304 label = "rootfs";
305 reg = <0x7a00000 0x8600000>;
306 };
307 };
308 };
309 };
310
311 &pciec {
312 status = "okay";
313
314 pcie@1,0 { /* Renesas uPD720202 USB 3.0 controller */
315 pinctrl-0 = <&pmx_pcie>;
316 pinctrl-names = "default";
317 status = "okay";
318 reset-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>;
319 };
320 };
321
322 &pinctrl {
323 pmx_poweroff: pmx-poweroff {
324 marvell,pins = "mpp7";
325 marvell,function = "gpo";
326 };
327
328 pmx_power_cpu: pmx-power-cpu {
329 marvell,pins = "mpp4";
330 marvell,function = "vdd";
331 };
332
333 pmx_buttons: pmx-buttons {
334 marvell,pins = "mpp6", "mpp10", "mpp14", "mpp32";
335 marvell,function = "gpio";
336 };
337
338 pmx_leds1: pmx-leds1 {
339 marvell,pins = "mpp47";
340 marvell,function = "gpo";
341 };
342
343 pmx_leds2: pmx-leds2 {
344 marvell,pins = "mpp12", "mpp13", "mpp15", "mpp16", "mpp50", "mpp51",
345 "mpp52", "mpp53", "mpp55", "mpp56", "mpp57", "mpp58";
346 marvell,function = "gpio";
347 };
348
349 pmx_pcie: pmx-pcie {
350 marvell,pins = "mpp59";
351 marvell,function = "gpio";
352 };
353
354 pmx_beeper: pmx-beeper {
355 marvell,pins = "mpp63";
356 marvell,function = "gpio";
357 };
358 };
359
360 &pmsu {
361 pinctrl-0 = <&pmx_power_cpu>;
362 pinctrl-names = "default";
363 };
364
365 &rtc {
366 status = "disabled";
367 };
368
369 &sata {
370 nr-ports = <2>;
371 status = "okay";
372 #address-cells = <1>;
373 #size-cells = <0>;
374
375 hdd0_temp: sata-port@0 {
376 reg = <0>;
377 #thermal-sensor-cells = <0>;
378 };
379
380 hdd1_temp: sata-port@1 {
381 reg = <1>;
382 #thermal-sensor-cells = <0>;
383 };
384 };
385
386 &uart0 {
387 status = "okay";
388 };