Loading...
Note: File does not exist in v6.8.
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2014 STMicroelectronics Limited.
4 * Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
5 */
6#include "stih407-pinctrl.dtsi"
7#include <dt-bindings/mfd/st-lpc.h>
8#include <dt-bindings/phy/phy.h>
9#include <dt-bindings/reset/stih407-resets.h>
10#include <dt-bindings/interrupt-controller/irq-st.h>
11/ {
12 #address-cells = <1>;
13 #size-cells = <1>;
14
15 reserved-memory {
16 #address-cells = <1>;
17 #size-cells = <1>;
18 ranges;
19
20 gp0_reserved: rproc@45000000 {
21 compatible = "shared-dma-pool";
22 reg = <0x45000000 0x00400000>;
23 no-map;
24 };
25
26 delta_reserved: rproc@44000000 {
27 compatible = "shared-dma-pool";
28 reg = <0x44000000 0x01000000>;
29 no-map;
30 };
31 };
32
33 cpus {
34 #address-cells = <1>;
35 #size-cells = <0>;
36 cpu@0 {
37 device_type = "cpu";
38 compatible = "arm,cortex-a9";
39 reg = <0>;
40
41 /* u-boot puts hpen in SBC dmem at 0xa4 offset */
42 cpu-release-addr = <0x94100A4>;
43
44 /* kHz uV */
45 operating-points = <1500000 0
46 1200000 0
47 800000 0
48 500000 0>;
49
50 clocks = <&clk_m_a9>;
51 clock-names = "cpu";
52 clock-latency = <100000>;
53 cpu0-supply = <&pwm_regulator>;
54 st,syscfg = <&syscfg_core 0x8e0>;
55 };
56 cpu@1 {
57 device_type = "cpu";
58 compatible = "arm,cortex-a9";
59 reg = <1>;
60
61 /* u-boot puts hpen in SBC dmem at 0xa4 offset */
62 cpu-release-addr = <0x94100A4>;
63
64 /* kHz uV */
65 operating-points = <1500000 0
66 1200000 0
67 800000 0
68 500000 0>;
69 };
70 };
71
72 intc: interrupt-controller@8761000 {
73 compatible = "arm,cortex-a9-gic";
74 #interrupt-cells = <3>;
75 interrupt-controller;
76 reg = <0x08761000 0x1000>, <0x08760100 0x100>;
77 };
78
79 scu@8760000 {
80 compatible = "arm,cortex-a9-scu";
81 reg = <0x08760000 0x1000>;
82 };
83
84 timer@8760200 {
85 interrupt-parent = <&intc>;
86 compatible = "arm,cortex-a9-global-timer";
87 reg = <0x08760200 0x100>;
88 interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
89 clocks = <&arm_periph_clk>;
90 };
91
92 l2: cache-controller@8762000 {
93 compatible = "arm,pl310-cache";
94 reg = <0x08762000 0x1000>;
95 arm,data-latency = <3 3 3>;
96 arm,tag-latency = <2 2 2>;
97 cache-unified;
98 cache-level = <2>;
99 };
100
101 arm-pmu {
102 interrupt-parent = <&intc>;
103 compatible = "arm,cortex-a9-pmu";
104 interrupts = <GIC_PPI 15 IRQ_TYPE_LEVEL_HIGH>;
105 };
106
107 pwm_regulator: pwm-regulator {
108 compatible = "pwm-regulator";
109 pwms = <&pwm1 3 8448>;
110 regulator-name = "CPU_1V0_AVS";
111 regulator-min-microvolt = <784000>;
112 regulator-max-microvolt = <1299000>;
113 regulator-always-on;
114 max-duty-cycle = <255>;
115 status = "okay";
116 };
117
118 restart: restart-controller {
119 compatible = "st,stih407-restart";
120 st,syscfg = <&syscfg_sbc_reg>;
121 status = "okay";
122 };
123
124 powerdown: powerdown-controller {
125 compatible = "st,stih407-powerdown";
126 #reset-cells = <1>;
127 };
128
129 softreset: softreset-controller {
130 compatible = "st,stih407-softreset";
131 #reset-cells = <1>;
132 };
133
134 picophyreset: picophyreset-controller {
135 compatible = "st,stih407-picophyreset";
136 #reset-cells = <1>;
137 };
138
139 irq-syscfg {
140 compatible = "st,stih407-irq-syscfg";
141 st,syscfg = <&syscfg_core>;
142 st,irq-device = <ST_IRQ_SYSCFG_PMU_0>,
143 <ST_IRQ_SYSCFG_PMU_1>;
144 st,fiq-device = <ST_IRQ_SYSCFG_DISABLED>,
145 <ST_IRQ_SYSCFG_DISABLED>;
146 };
147
148 usb2_picophy0: phy1 {
149 compatible = "st,stih407-usb2-phy";
150 #phy-cells = <0>;
151 st,syscfg = <&syscfg_core 0x100 0xf4>;
152 resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
153 <&picophyreset STIH407_PICOPHY2_RESET>;
154 reset-names = "global", "port";
155 };
156
157 miphy28lp_phy: miphy28lp {
158 compatible = "st,miphy28lp-phy";
159 st,syscfg = <&syscfg_core>;
160 #address-cells = <1>;
161 #size-cells = <1>;
162 ranges;
163
164 phy_port0: port@9b22000 {
165 reg = <0x9b22000 0xff>,
166 <0x9b09000 0xff>,
167 <0x9b04000 0xff>;
168 reg-names = "sata-up",
169 "pcie-up",
170 "pipew";
171
172 st,syscfg = <0x114 0x818 0xe0 0xec>;
173 #phy-cells = <1>;
174
175 reset-names = "miphy-sw-rst";
176 resets = <&softreset STIH407_MIPHY0_SOFTRESET>;
177 };
178
179 phy_port1: port@9b2a000 {
180 reg = <0x9b2a000 0xff>,
181 <0x9b19000 0xff>,
182 <0x9b14000 0xff>;
183 reg-names = "sata-up",
184 "pcie-up",
185 "pipew";
186
187 st,syscfg = <0x118 0x81c 0xe4 0xf0>;
188
189 #phy-cells = <1>;
190
191 reset-names = "miphy-sw-rst";
192 resets = <&softreset STIH407_MIPHY1_SOFTRESET>;
193 };
194
195 phy_port2: port@8f95000 {
196 reg = <0x8f95000 0xff>,
197 <0x8f90000 0xff>;
198 reg-names = "pipew",
199 "usb3-up";
200
201 st,syscfg = <0x11c 0x820>;
202
203 #phy-cells = <1>;
204
205 reset-names = "miphy-sw-rst";
206 resets = <&softreset STIH407_MIPHY2_SOFTRESET>;
207 };
208 };
209
210 st231_gp0: st231-gp0 {
211 compatible = "st,st231-rproc";
212 memory-region = <&gp0_reserved>;
213 resets = <&softreset STIH407_ST231_GP0_SOFTRESET>;
214 reset-names = "sw_reset";
215 clocks = <&clk_s_c0_flexgen CLK_ST231_GP_0>;
216 clock-frequency = <600000000>;
217 st,syscfg = <&syscfg_core 0x22c>;
218 #mbox-cells = <1>;
219 mbox-names = "vq0_rx", "vq0_tx", "vq1_rx", "vq1_tx";
220 mboxes = <&mailbox0 0 2>, <&mailbox2 0 1>, <&mailbox0 0 3>, <&mailbox2 0 0>;
221 };
222
223 st231_delta: st231-delta {
224 compatible = "st,st231-rproc";
225 memory-region = <&delta_reserved>;
226 resets = <&softreset STIH407_ST231_DMU_SOFTRESET>;
227 reset-names = "sw_reset";
228 clocks = <&clk_s_c0_flexgen CLK_ST231_DMU>;
229 clock-frequency = <600000000>;
230 st,syscfg = <&syscfg_core 0x224>;
231 #mbox-cells = <1>;
232 mbox-names = "vq0_rx", "vq0_tx", "vq1_rx", "vq1_tx";
233 mboxes = <&mailbox0 0 0>, <&mailbox3 0 1>, <&mailbox0 0 1>, <&mailbox3 0 0>;
234 };
235
236 delta0 {
237 compatible = "st,st-delta";
238 clock-names = "delta",
239 "delta-st231",
240 "delta-flash-promip";
241 clocks = <&clk_s_c0_flexgen CLK_VID_DMU>,
242 <&clk_s_c0_flexgen CLK_ST231_DMU>,
243 <&clk_s_c0_flexgen CLK_FLASH_PROMIP>;
244 };
245
246 soc {
247 #address-cells = <1>;
248 #size-cells = <1>;
249 interrupt-parent = <&intc>;
250 ranges;
251 compatible = "simple-bus";
252
253 syscfg_sbc: sbc-syscfg@9620000 {
254 compatible = "st,stih407-sbc-syscfg", "syscon";
255 reg = <0x9620000 0x1000>;
256 };
257
258 syscfg_front: front-syscfg@9280000 {
259 compatible = "st,stih407-front-syscfg", "syscon";
260 reg = <0x9280000 0x1000>;
261 };
262
263 syscfg_rear: rear-syscfg@9290000 {
264 compatible = "st,stih407-rear-syscfg", "syscon";
265 reg = <0x9290000 0x1000>;
266 };
267
268 syscfg_flash: flash-syscfg@92a0000 {
269 compatible = "st,stih407-flash-syscfg", "syscon";
270 reg = <0x92a0000 0x1000>;
271 };
272
273 syscfg_sbc_reg: fvdp-lite-syscfg@9600000 {
274 compatible = "st,stih407-sbc-reg-syscfg", "syscon";
275 reg = <0x9600000 0x1000>;
276 };
277
278 syscfg_core: core-syscfg@92b0000 {
279 compatible = "st,stih407-core-syscfg", "syscon";
280 reg = <0x92b0000 0x1000>;
281
282 sti_sasg_codec: sti-sasg-codec {
283 compatible = "st,stih407-sas-codec";
284 #sound-dai-cells = <1>;
285 status = "disabled";
286 st,syscfg = <&syscfg_core>;
287 };
288 };
289
290 syscfg_lpm: lpm-syscfg@94b5100 {
291 compatible = "st,stih407-lpm-syscfg", "syscon";
292 reg = <0x94b5100 0x1000>;
293 };
294
295 /* Display */
296 vtg_main: sti-vtg-main@8d02800 {
297 compatible = "st,vtg";
298 reg = <0x8d02800 0x200>;
299 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
300 };
301
302 vtg_aux: sti-vtg-aux@8d00200 {
303 compatible = "st,vtg";
304 reg = <0x8d00200 0x100>;
305 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
306 };
307
308 serial@9830000 {
309 compatible = "st,asc";
310 reg = <0x9830000 0x2c>;
311 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
312 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
313 /* Pinctrl moved out to a per-board configuration */
314
315 status = "disabled";
316 };
317
318 serial@9831000 {
319 compatible = "st,asc";
320 reg = <0x9831000 0x2c>;
321 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
322 pinctrl-names = "default";
323 pinctrl-0 = <&pinctrl_serial1>;
324 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
325
326 status = "disabled";
327 };
328
329 serial@9832000 {
330 compatible = "st,asc";
331 reg = <0x9832000 0x2c>;
332 interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
333 pinctrl-names = "default";
334 pinctrl-0 = <&pinctrl_serial2>;
335 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
336
337 status = "disabled";
338 };
339
340 /* SBC_ASC0 - UART10 */
341 sbc_serial0: serial@9530000 {
342 compatible = "st,asc";
343 reg = <0x9530000 0x2c>;
344 interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
345 pinctrl-names = "default";
346 pinctrl-0 = <&pinctrl_sbc_serial0>;
347 clocks = <&clk_sysin>;
348
349 status = "disabled";
350 };
351
352 serial@9531000 {
353 compatible = "st,asc";
354 reg = <0x9531000 0x2c>;
355 interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
356 pinctrl-names = "default";
357 pinctrl-0 = <&pinctrl_sbc_serial1>;
358 clocks = <&clk_sysin>;
359
360 status = "disabled";
361 };
362
363 i2c@9840000 {
364 compatible = "st,comms-ssc4-i2c";
365 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
366 reg = <0x9840000 0x110>;
367 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
368 clock-names = "ssc";
369 clock-frequency = <400000>;
370 pinctrl-names = "default";
371 pinctrl-0 = <&pinctrl_i2c0_default>;
372 #address-cells = <1>;
373 #size-cells = <0>;
374
375 status = "disabled";
376 };
377
378 i2c@9841000 {
379 compatible = "st,comms-ssc4-i2c";
380 reg = <0x9841000 0x110>;
381 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
382 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
383 clock-names = "ssc";
384 clock-frequency = <400000>;
385 pinctrl-names = "default";
386 pinctrl-0 = <&pinctrl_i2c1_default>;
387 #address-cells = <1>;
388 #size-cells = <0>;
389
390 status = "disabled";
391 };
392
393 i2c@9842000 {
394 compatible = "st,comms-ssc4-i2c";
395 reg = <0x9842000 0x110>;
396 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
397 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
398 clock-names = "ssc";
399 clock-frequency = <400000>;
400 pinctrl-names = "default";
401 pinctrl-0 = <&pinctrl_i2c2_default>;
402 #address-cells = <1>;
403 #size-cells = <0>;
404
405 status = "disabled";
406 };
407
408 i2c@9843000 {
409 compatible = "st,comms-ssc4-i2c";
410 reg = <0x9843000 0x110>;
411 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
412 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
413 clock-names = "ssc";
414 clock-frequency = <400000>;
415 pinctrl-names = "default";
416 pinctrl-0 = <&pinctrl_i2c3_default>;
417 #address-cells = <1>;
418 #size-cells = <0>;
419
420 status = "disabled";
421 };
422
423 i2c@9844000 {
424 compatible = "st,comms-ssc4-i2c";
425 reg = <0x9844000 0x110>;
426 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
427 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
428 clock-names = "ssc";
429 clock-frequency = <400000>;
430 pinctrl-names = "default";
431 pinctrl-0 = <&pinctrl_i2c4_default>;
432 #address-cells = <1>;
433 #size-cells = <0>;
434
435 status = "disabled";
436 };
437
438 i2c@9845000 {
439 compatible = "st,comms-ssc4-i2c";
440 reg = <0x9845000 0x110>;
441 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
442 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
443 clock-names = "ssc";
444 clock-frequency = <400000>;
445 pinctrl-names = "default";
446 pinctrl-0 = <&pinctrl_i2c5_default>;
447 #address-cells = <1>;
448 #size-cells = <0>;
449
450 status = "disabled";
451 };
452
453
454 /* SSCs on SBC */
455 i2c@9540000 {
456 compatible = "st,comms-ssc4-i2c";
457 reg = <0x9540000 0x110>;
458 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
459 clocks = <&clk_sysin>;
460 clock-names = "ssc";
461 clock-frequency = <400000>;
462 pinctrl-names = "default";
463 pinctrl-0 = <&pinctrl_i2c10_default>;
464 #address-cells = <1>;
465 #size-cells = <0>;
466
467 status = "disabled";
468 };
469
470 i2c@9541000 {
471 compatible = "st,comms-ssc4-i2c";
472 reg = <0x9541000 0x110>;
473 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
474 clocks = <&clk_sysin>;
475 clock-names = "ssc";
476 clock-frequency = <400000>;
477 pinctrl-names = "default";
478 pinctrl-0 = <&pinctrl_i2c11_default>;
479 #address-cells = <1>;
480 #size-cells = <0>;
481
482 status = "disabled";
483 };
484
485 spi@9840000 {
486 compatible = "st,comms-ssc4-spi";
487 reg = <0x9840000 0x110>;
488 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
489 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
490 clock-names = "ssc";
491 pinctrl-0 = <&pinctrl_spi0_default>;
492 pinctrl-names = "default";
493 #address-cells = <1>;
494 #size-cells = <0>;
495
496 status = "disabled";
497 };
498
499 spi@9841000 {
500 compatible = "st,comms-ssc4-spi";
501 reg = <0x9841000 0x110>;
502 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
503 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
504 clock-names = "ssc";
505 pinctrl-names = "default";
506 pinctrl-0 = <&pinctrl_spi1_default>;
507 #address-cells = <1>;
508 #size-cells = <0>;
509
510 status = "disabled";
511 };
512
513 spi@9842000 {
514 compatible = "st,comms-ssc4-spi";
515 reg = <0x9842000 0x110>;
516 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
517 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
518 clock-names = "ssc";
519 pinctrl-names = "default";
520 pinctrl-0 = <&pinctrl_spi2_default>;
521 #address-cells = <1>;
522 #size-cells = <0>;
523
524 status = "disabled";
525 };
526
527 spi@9843000 {
528 compatible = "st,comms-ssc4-spi";
529 reg = <0x9843000 0x110>;
530 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
531 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
532 clock-names = "ssc";
533 pinctrl-names = "default";
534 pinctrl-0 = <&pinctrl_spi3_default>;
535 #address-cells = <1>;
536 #size-cells = <0>;
537
538 status = "disabled";
539 };
540
541 spi@9844000 {
542 compatible = "st,comms-ssc4-spi";
543 reg = <0x9844000 0x110>;
544 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
545 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
546 clock-names = "ssc";
547 pinctrl-names = "default";
548 pinctrl-0 = <&pinctrl_spi4_default>;
549 #address-cells = <1>;
550 #size-cells = <0>;
551
552 status = "disabled";
553 };
554
555 /* SBC SSC */
556 spi@9540000 {
557 compatible = "st,comms-ssc4-spi";
558 reg = <0x9540000 0x110>;
559 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
560 clocks = <&clk_sysin>;
561 clock-names = "ssc";
562 pinctrl-names = "default";
563 pinctrl-0 = <&pinctrl_spi10_default>;
564 #address-cells = <1>;
565 #size-cells = <0>;
566
567 status = "disabled";
568 };
569
570 spi@9541000 {
571 compatible = "st,comms-ssc4-spi";
572 reg = <0x9541000 0x110>;
573 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
574 clocks = <&clk_sysin>;
575 clock-names = "ssc";
576 pinctrl-names = "default";
577 pinctrl-0 = <&pinctrl_spi11_default>;
578 #address-cells = <1>;
579 #size-cells = <0>;
580
581 status = "disabled";
582 };
583
584 spi@9542000 {
585 compatible = "st,comms-ssc4-spi";
586 reg = <0x9542000 0x110>;
587 interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
588 clocks = <&clk_sysin>;
589 clock-names = "ssc";
590 pinctrl-names = "default";
591 pinctrl-0 = <&pinctrl_spi12_default>;
592 #address-cells = <1>;
593 #size-cells = <0>;
594
595 status = "disabled";
596 };
597
598 mmc0: sdhci@9060000 {
599 compatible = "st,sdhci-stih407", "st,sdhci";
600 status = "disabled";
601 reg = <0x09060000 0x7ff>, <0x9061008 0x20>;
602 reg-names = "mmc", "top-mmc-delay";
603 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
604 interrupt-names = "mmcirq";
605 pinctrl-names = "default";
606 pinctrl-0 = <&pinctrl_mmc0>;
607 clock-names = "mmc", "icn";
608 clocks = <&clk_s_c0_flexgen CLK_MMC_0>,
609 <&clk_s_c0_flexgen CLK_RX_ICN_HVA>;
610 bus-width = <8>;
611 };
612
613 mmc1: sdhci@9080000 {
614 compatible = "st,sdhci-stih407", "st,sdhci";
615 status = "disabled";
616 reg = <0x09080000 0x7ff>;
617 reg-names = "mmc";
618 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
619 interrupt-names = "mmcirq";
620 pinctrl-names = "default";
621 pinctrl-0 = <&pinctrl_sd1>;
622 clock-names = "mmc", "icn";
623 clocks = <&clk_s_c0_flexgen CLK_MMC_1>,
624 <&clk_s_c0_flexgen CLK_RX_ICN_HVA>;
625 resets = <&softreset STIH407_MMC1_SOFTRESET>;
626 bus-width = <4>;
627 };
628
629 /* Watchdog and Real-Time Clock */
630 lpc@8787000 {
631 compatible = "st,stih407-lpc";
632 reg = <0x8787000 0x1000>;
633 interrupts = <GIC_SPI 129 IRQ_TYPE_EDGE_RISING>;
634 clocks = <&clk_s_d3_flexgen CLK_LPC_0>;
635 timeout-sec = <120>;
636 st,syscfg = <&syscfg_core>;
637 st,lpc-mode = <ST_LPC_MODE_WDT>;
638 };
639
640 lpc@8788000 {
641 compatible = "st,stih407-lpc";
642 reg = <0x8788000 0x1000>;
643 interrupts = <GIC_SPI 130 IRQ_TYPE_EDGE_RISING>;
644 clocks = <&clk_s_d3_flexgen CLK_LPC_1>;
645 st,lpc-mode = <ST_LPC_MODE_CLKSRC>;
646 };
647
648 spifsm: spifsm@9022000{
649 compatible = "st,spi-fsm";
650 reg = <0x9022000 0x1000>;
651 reg-names = "spi-fsm";
652 clocks = <&clk_s_c0_flexgen CLK_FLASH_PROMIP>;
653 clock-names = "emi_clk";
654 pinctrl-names = "default";
655 pinctrl-0 = <&pinctrl_fsm>;
656 st,syscfg = <&syscfg_core>;
657 st,boot-device-reg = <0x8c4>;
658 st,boot-device-spi = <0x68>;
659
660 status = "disabled";
661 };
662
663 sata0: sata@9b20000 {
664 compatible = "st,ahci";
665 reg = <0x9b20000 0x1000>;
666
667 interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
668 interrupt-names = "hostc";
669
670 phys = <&phy_port0 PHY_TYPE_SATA>;
671 phy-names = "ahci_phy";
672
673 resets = <&powerdown STIH407_SATA0_POWERDOWN>,
674 <&softreset STIH407_SATA0_SOFTRESET>,
675 <&softreset STIH407_SATA0_PWR_SOFTRESET>;
676 reset-names = "pwr-dwn", "sw-rst", "pwr-rst";
677
678 clock-names = "ahci_clk";
679 clocks = <&clk_s_c0_flexgen CLK_ICN_REG>;
680
681 ports-implemented = <0x1>;
682
683 status = "disabled";
684 };
685
686 sata1: sata@9b28000 {
687 compatible = "st,ahci";
688 reg = <0x9b28000 0x1000>;
689
690 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
691 interrupt-names = "hostc";
692
693 phys = <&phy_port1 PHY_TYPE_SATA>;
694 phy-names = "ahci_phy";
695
696 resets = <&powerdown STIH407_SATA1_POWERDOWN>,
697 <&softreset STIH407_SATA1_SOFTRESET>,
698 <&softreset STIH407_SATA1_PWR_SOFTRESET>;
699 reset-names = "pwr-dwn",
700 "sw-rst",
701 "pwr-rst";
702
703 clock-names = "ahci_clk";
704 clocks = <&clk_s_c0_flexgen CLK_ICN_REG>;
705
706 ports-implemented = <0x1>;
707
708 status = "disabled";
709 };
710
711
712 st_dwc3: dwc3@8f94000 {
713 compatible = "st,stih407-dwc3";
714 reg = <0x08f94000 0x1000>, <0x110 0x4>;
715 reg-names = "reg-glue", "syscfg-reg";
716 st,syscfg = <&syscfg_core>;
717 resets = <&powerdown STIH407_USB3_POWERDOWN>,
718 <&softreset STIH407_MIPHY2_SOFTRESET>;
719 reset-names = "powerdown", "softreset";
720 #address-cells = <1>;
721 #size-cells = <1>;
722 pinctrl-names = "default";
723 pinctrl-0 = <&pinctrl_usb3>;
724 ranges;
725
726 status = "disabled";
727
728 dwc3: usb@9900000 {
729 compatible = "snps,dwc3";
730 reg = <0x09900000 0x100000>;
731 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
732 dr_mode = "host";
733 phy-names = "usb2-phy", "usb3-phy";
734 phys = <&usb2_picophy0>,
735 <&phy_port2 PHY_TYPE_USB3>;
736 snps,dis_u3_susphy_quirk;
737 };
738 };
739
740 /* COMMS PWM Module */
741 pwm0: pwm@9810000 {
742 compatible = "st,sti-pwm";
743 #pwm-cells = <2>;
744 reg = <0x9810000 0x68>;
745 interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
746 pinctrl-names = "default";
747 pinctrl-0 = <&pinctrl_pwm0_chan0_default>;
748 clock-names = "pwm";
749 clocks = <&clk_sysin>;
750 st,pwm-num-chan = <1>;
751
752 status = "disabled";
753 };
754
755 /* SBC PWM Module */
756 pwm1: pwm@9510000 {
757 compatible = "st,sti-pwm";
758 #pwm-cells = <2>;
759 reg = <0x9510000 0x68>;
760 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
761 pinctrl-names = "default";
762 pinctrl-0 = <&pinctrl_pwm1_chan0_default
763 &pinctrl_pwm1_chan1_default
764 &pinctrl_pwm1_chan2_default
765 &pinctrl_pwm1_chan3_default>;
766 clock-names = "pwm";
767 clocks = <&clk_sysin>;
768 st,pwm-num-chan = <4>;
769
770 status = "disabled";
771 };
772
773 rng10: rng@8a89000 {
774 compatible = "st,rng";
775 reg = <0x08a89000 0x1000>;
776 clocks = <&clk_sysin>;
777 status = "okay";
778 };
779
780 rng11: rng@8a8a000 {
781 compatible = "st,rng";
782 reg = <0x08a8a000 0x1000>;
783 clocks = <&clk_sysin>;
784 status = "okay";
785 };
786
787 ethernet0: dwmac@9630000 {
788 device_type = "network";
789 status = "disabled";
790 compatible = "st,stih407-dwmac", "snps,dwmac", "snps,dwmac-3.710";
791 reg = <0x9630000 0x8000>, <0x80 0x4>;
792 reg-names = "stmmaceth", "sti-ethconf";
793
794 st,syscon = <&syscfg_sbc_reg 0x80>;
795 st,gmac_en;
796 resets = <&softreset STIH407_ETH1_SOFTRESET>;
797 reset-names = "stmmaceth";
798
799 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
800 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
801 interrupt-names = "macirq", "eth_wake_irq";
802
803 /* DMA Bus Mode */
804 snps,pbl = <8>;
805
806 pinctrl-names = "default";
807 pinctrl-0 = <&pinctrl_rgmii1>;
808
809 clock-names = "stmmaceth", "sti-ethclk";
810 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>,
811 <&clk_s_c0_flexgen CLK_ETH_PHY>;
812 };
813
814 mailbox0: mailbox@8f00000 {
815 compatible = "st,stih407-mailbox";
816 reg = <0x8f00000 0x1000>;
817 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
818 #mbox-cells = <2>;
819 mbox-name = "a9";
820 status = "okay";
821 };
822
823 mailbox1: mailbox@8f01000 {
824 compatible = "st,stih407-mailbox";
825 reg = <0x8f01000 0x1000>;
826 #mbox-cells = <2>;
827 mbox-name = "st231_gp_1";
828 status = "okay";
829 };
830
831 mailbox2: mailbox@8f02000 {
832 compatible = "st,stih407-mailbox";
833 reg = <0x8f02000 0x1000>;
834 #mbox-cells = <2>;
835 mbox-name = "st231_gp_0";
836 status = "okay";
837 };
838
839 mailbox3: mailbox@8f03000 {
840 compatible = "st,stih407-mailbox";
841 reg = <0x8f03000 0x1000>;
842 #mbox-cells = <2>;
843 mbox-name = "st231_audio_video";
844 status = "okay";
845 };
846
847 /* fdma audio */
848 fdma0: dma-controller@8e20000 {
849 compatible = "st,stih407-fdma-mpe31-11", "st,slim-rproc";
850 reg = <0x8e20000 0x8000>,
851 <0x8e30000 0x3000>,
852 <0x8e37000 0x1000>,
853 <0x8e38000 0x8000>;
854 reg-names = "slimcore", "dmem", "peripherals", "imem";
855 clocks = <&clk_s_c0_flexgen CLK_FDMA>,
856 <&clk_s_c0_flexgen CLK_EXT2F_A9>,
857 <&clk_s_c0_flexgen CLK_EXT2F_A9>,
858 <&clk_s_c0_flexgen CLK_EXT2F_A9>;
859 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
860 dma-channels = <16>;
861 #dma-cells = <3>;
862 };
863
864 /* fdma app */
865 fdma1: dma-controller@8e40000 {
866 compatible = "st,stih407-fdma-mpe31-12", "st,slim-rproc";
867 reg = <0x8e40000 0x8000>,
868 <0x8e50000 0x3000>,
869 <0x8e57000 0x1000>,
870 <0x8e58000 0x8000>;
871 reg-names = "slimcore", "dmem", "peripherals", "imem";
872 clocks = <&clk_s_c0_flexgen CLK_FDMA>,
873 <&clk_s_c0_flexgen CLK_TX_ICN_DMU>,
874 <&clk_s_c0_flexgen CLK_TX_ICN_DMU>,
875 <&clk_s_c0_flexgen CLK_EXT2F_A9>;
876
877 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
878 dma-channels = <16>;
879 #dma-cells = <3>;
880
881 status = "disabled";
882 };
883
884 /* fdma free running */
885 fdma2: dma-controller@8e60000 {
886 compatible = "st,stih407-fdma-mpe31-13", "st,slim-rproc";
887 reg = <0x8e60000 0x8000>,
888 <0x8e70000 0x3000>,
889 <0x8e77000 0x1000>,
890 <0x8e78000 0x8000>;
891 reg-names = "slimcore", "dmem", "peripherals", "imem";
892 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
893 dma-channels = <16>;
894 #dma-cells = <3>;
895 clocks = <&clk_s_c0_flexgen CLK_FDMA>,
896 <&clk_s_c0_flexgen CLK_EXT2F_A9>,
897 <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
898 <&clk_s_c0_flexgen CLK_EXT2F_A9>;
899
900 status = "disabled";
901 };
902
903 sti_uni_player0: sti-uni-player@8d80000 {
904 compatible = "st,stih407-uni-player-hdmi";
905 #sound-dai-cells = <0>;
906 st,syscfg = <&syscfg_core>;
907 clocks = <&clk_s_d0_flexgen CLK_PCM_0>;
908 assigned-clocks = <&clk_s_d0_quadfs 0>, <&clk_s_d0_flexgen CLK_PCM_0>;
909 assigned-clock-parents = <0>, <&clk_s_d0_quadfs 0>;
910 assigned-clock-rates = <50000000>;
911 reg = <0x8d80000 0x158>;
912 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
913 dmas = <&fdma0 2 0 1>;
914 dma-names = "tx";
915
916 status = "disabled";
917 };
918
919 sti_uni_player1: sti-uni-player@8d81000 {
920 compatible = "st,stih407-uni-player-pcm-out";
921 #sound-dai-cells = <0>;
922 st,syscfg = <&syscfg_core>;
923 clocks = <&clk_s_d0_flexgen CLK_PCM_1>;
924 assigned-clocks = <&clk_s_d0_quadfs 1>, <&clk_s_d0_flexgen CLK_PCM_1>;
925 assigned-clock-parents = <0>, <&clk_s_d0_quadfs 1>;
926 assigned-clock-rates = <50000000>;
927 reg = <0x8d81000 0x158>;
928 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
929 dmas = <&fdma0 3 0 1>;
930 dma-names = "tx";
931
932 status = "disabled";
933 };
934
935 sti_uni_player2: sti-uni-player@8d82000 {
936 compatible = "st,stih407-uni-player-dac";
937 #sound-dai-cells = <0>;
938 st,syscfg = <&syscfg_core>;
939 clocks = <&clk_s_d0_flexgen CLK_PCM_2>;
940 assigned-clocks = <&clk_s_d0_quadfs 2>, <&clk_s_d0_flexgen CLK_PCM_2>;
941 assigned-clock-parents = <0>, <&clk_s_d0_quadfs 2>;
942 assigned-clock-rates = <50000000>;
943 reg = <0x8d82000 0x158>;
944 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
945 dmas = <&fdma0 4 0 1>;
946 dma-names = "tx";
947
948 status = "disabled";
949 };
950
951 sti_uni_player3: sti-uni-player@8d85000 {
952 compatible = "st,stih407-uni-player-spdif";
953 #sound-dai-cells = <0>;
954 st,syscfg = <&syscfg_core>;
955 clocks = <&clk_s_d0_flexgen CLK_SPDIFF>;
956 assigned-clocks = <&clk_s_d0_quadfs 3>, <&clk_s_d0_flexgen CLK_SPDIFF>;
957 assigned-clock-parents = <0>, <&clk_s_d0_quadfs 3>;
958 assigned-clock-rates = <50000000>;
959 reg = <0x8d85000 0x158>;
960 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
961 dmas = <&fdma0 7 0 1>;
962 dma-names = "tx";
963
964 status = "disabled";
965 };
966
967 sti_uni_reader0: sti-uni-reader@8d83000 {
968 compatible = "st,stih407-uni-reader-pcm_in";
969 #sound-dai-cells = <0>;
970 st,syscfg = <&syscfg_core>;
971 reg = <0x8d83000 0x158>;
972 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
973 dmas = <&fdma0 5 0 1>;
974 dma-names = "rx";
975
976 status = "disabled";
977 };
978
979 sti_uni_reader1: sti-uni-reader@8d84000 {
980 compatible = "st,stih407-uni-reader-hdmi";
981 #sound-dai-cells = <0>;
982 st,syscfg = <&syscfg_core>;
983 reg = <0x8d84000 0x158>;
984 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
985 dmas = <&fdma0 6 0 1>;
986 dma-names = "rx";
987
988 status = "disabled";
989 };
990 };
991};