]> git.sur5r.net Git - u-boot/blob - arch/arm/dts/stih407-family.dtsi
Merge branch 'master' of git://git.denx.de/u-boot-rockchip
[u-boot] / arch / arm / dts / stih407-family.dtsi
1 /*
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 };