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