2 * Copyright (C) 2014 STMicroelectronics Limited.
3 * Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
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.
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-controller/stih407-resets.h>
22 compatible = "arm,cortex-a9";
27 compatible = "arm,cortex-a9";
32 intc: interrupt-controller@08761000 {
33 compatible = "arm,cortex-a9-gic";
34 #interrupt-cells = <3>;
36 reg = <0x08761000 0x1000>, <0x08760100 0x100>;
40 compatible = "arm,cortex-a9-scu";
41 reg = <0x08760000 0x1000>;
45 interrupt-parent = <&intc>;
46 compatible = "arm,cortex-a9-global-timer";
47 reg = <0x08760200 0x100>;
48 interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
49 clocks = <&arm_periph_clk>;
52 l2: cache-controller {
53 compatible = "arm,pl310-cache";
54 reg = <0x08762000 0x1000>;
55 arm,data-latency = <3 3 3>;
56 arm,tag-latency = <2 2 2>;
64 interrupt-parent = <&intc>;
66 compatible = "simple-bus";
68 powerdown: powerdown-controller {
69 compatible = "st,stih407-powerdown";
73 softreset: softreset-controller {
74 compatible = "st,stih407-softreset";
78 picophyreset: picophyreset-controller {
79 compatible = "st,stih407-picophyreset";
83 syscfg_sbc: sbc-syscfg@9620000 {
84 compatible = "st,stih407-sbc-syscfg", "syscon";
85 reg = <0x9620000 0x1000>;
88 syscfg_front: front-syscfg@9280000 {
89 compatible = "st,stih407-front-syscfg", "syscon";
90 reg = <0x9280000 0x1000>;
93 syscfg_rear: rear-syscfg@9290000 {
94 compatible = "st,stih407-rear-syscfg", "syscon";
95 reg = <0x9290000 0x1000>;
98 syscfg_flash: flash-syscfg@92a0000 {
99 compatible = "st,stih407-flash-syscfg", "syscon";
100 reg = <0x92a0000 0x1000>;
103 syscfg_sbc_reg: fvdp-lite-syscfg@9600000 {
104 compatible = "st,stih407-sbc-reg-syscfg", "syscon";
105 reg = <0x9600000 0x1000>;
108 syscfg_core: core-syscfg@92b0000 {
109 compatible = "st,stih407-core-syscfg", "syscon";
110 reg = <0x92b0000 0x1000>;
113 syscfg_lpm: lpm-syscfg@94b5100 {
114 compatible = "st,stih407-lpm-syscfg", "syscon";
115 reg = <0x94b5100 0x1000>;
119 compatible = "st,asc";
120 reg = <0x9830000 0x2c>;
121 interrupts = <GIC_SPI 122 IRQ_TYPE_NONE>;
122 pinctrl-names = "default";
123 pinctrl-0 = <&pinctrl_serial0>;
124 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
130 compatible = "st,asc";
131 reg = <0x9831000 0x2c>;
132 interrupts = <GIC_SPI 123 IRQ_TYPE_NONE>;
133 pinctrl-names = "default";
134 pinctrl-0 = <&pinctrl_serial1>;
135 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
141 compatible = "st,asc";
142 reg = <0x9832000 0x2c>;
143 interrupts = <GIC_SPI 124 IRQ_TYPE_NONE>;
144 pinctrl-names = "default";
145 pinctrl-0 = <&pinctrl_serial2>;
146 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
151 /* SBC_ASC0 - UART10 */
152 sbc_serial0: serial@9530000 {
153 compatible = "st,asc";
154 reg = <0x9530000 0x2c>;
155 interrupts = <GIC_SPI 138 IRQ_TYPE_NONE>;
156 pinctrl-names = "default";
157 pinctrl-0 = <&pinctrl_sbc_serial0>;
158 clocks = <&clk_sysin>;
164 compatible = "st,asc";
165 reg = <0x9531000 0x2c>;
166 interrupts = <GIC_SPI 139 IRQ_TYPE_NONE>;
167 pinctrl-names = "default";
168 pinctrl-0 = <&pinctrl_sbc_serial1>;
169 clocks = <&clk_sysin>;
175 compatible = "st,comms-ssc4-i2c";
176 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
177 reg = <0x9840000 0x110>;
178 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
180 clock-frequency = <400000>;
181 pinctrl-names = "default";
182 pinctrl-0 = <&pinctrl_i2c0_default>;
188 compatible = "st,comms-ssc4-i2c";
189 reg = <0x9841000 0x110>;
190 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
191 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
193 clock-frequency = <400000>;
194 pinctrl-names = "default";
195 pinctrl-0 = <&pinctrl_i2c1_default>;
201 compatible = "st,comms-ssc4-i2c";
202 reg = <0x9842000 0x110>;
203 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
204 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
206 clock-frequency = <400000>;
207 pinctrl-names = "default";
208 pinctrl-0 = <&pinctrl_i2c2_default>;
214 compatible = "st,comms-ssc4-i2c";
215 reg = <0x9843000 0x110>;
216 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
217 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
219 clock-frequency = <400000>;
220 pinctrl-names = "default";
221 pinctrl-0 = <&pinctrl_i2c3_default>;
227 compatible = "st,comms-ssc4-i2c";
228 reg = <0x9844000 0x110>;
229 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
230 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
232 clock-frequency = <400000>;
233 pinctrl-names = "default";
234 pinctrl-0 = <&pinctrl_i2c4_default>;
240 compatible = "st,comms-ssc4-i2c";
241 reg = <0x9845000 0x110>;
242 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
243 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
245 clock-frequency = <400000>;
246 pinctrl-names = "default";
247 pinctrl-0 = <&pinctrl_i2c5_default>;
255 compatible = "st,comms-ssc4-i2c";
256 reg = <0x9540000 0x110>;
257 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
258 clocks = <&clk_sysin>;
260 clock-frequency = <400000>;
261 pinctrl-names = "default";
262 pinctrl-0 = <&pinctrl_i2c10_default>;
268 compatible = "st,comms-ssc4-i2c";
269 reg = <0x9541000 0x110>;
270 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
271 clocks = <&clk_sysin>;
273 clock-frequency = <400000>;
274 pinctrl-names = "default";
275 pinctrl-0 = <&pinctrl_i2c11_default>;
280 usb2_picophy0: phy1 {
281 compatible = "st,stih407-usb2-phy";
283 st,syscfg = <&syscfg_core 0x100 0xf4>;
284 resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
285 <&picophyreset STIH407_PICOPHY2_RESET>;
286 reset-names = "global", "port";
289 miphy28lp_phy: miphy28lp@9b22000 {
290 compatible = "st,miphy28lp-phy";
291 st,syscfg = <&syscfg_core>;
292 #address-cells = <1>;
296 phy_port0: port@9b22000 {
297 reg = <0x9b22000 0xff>,
300 reg-names = "sata-up",
304 st,syscfg = <0x114 0x818 0xe0 0xec>;
307 reset-names = "miphy-sw-rst";
308 resets = <&softreset STIH407_MIPHY0_SOFTRESET>;
311 phy_port1: port@9b2a000 {
312 reg = <0x9b2a000 0xff>,
315 reg-names = "sata-up",
319 st,syscfg = <0x118 0x81c 0xe4 0xf0>;
323 reset-names = "miphy-sw-rst";
324 resets = <&softreset STIH407_MIPHY1_SOFTRESET>;
327 phy_port2: port@8f95000 {
328 reg = <0x8f95000 0xff>,
333 st,syscfg = <0x11c 0x820>;
337 reset-names = "miphy-sw-rst";
338 resets = <&softreset STIH407_MIPHY2_SOFTRESET>;
343 compatible = "st,comms-ssc4-spi";
344 reg = <0x9840000 0x110>;
345 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
346 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
348 pinctrl-0 = <&pinctrl_spi0_default>;
349 pinctrl-names = "default";
350 #address-cells = <1>;
357 compatible = "st,comms-ssc4-spi";
358 reg = <0x9841000 0x110>;
359 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
360 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
367 compatible = "st,comms-ssc4-spi";
368 reg = <0x9842000 0x110>;
369 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
370 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
377 compatible = "st,comms-ssc4-spi";
378 reg = <0x9843000 0x110>;
379 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
380 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
387 compatible = "st,comms-ssc4-spi";
388 reg = <0x9844000 0x110>;
389 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
390 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
398 compatible = "st,comms-ssc4-spi";
399 reg = <0x9540000 0x110>;
400 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
401 clocks = <&clk_sysin>;
408 compatible = "st,comms-ssc4-spi";
409 reg = <0x9541000 0x110>;
410 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
411 clocks = <&clk_sysin>;
418 compatible = "st,comms-ssc4-spi";
419 reg = <0x9542000 0x110>;
420 interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
421 clocks = <&clk_sysin>;
427 mmc0: sdhci@09060000 {
428 compatible = "st,sdhci-stih407", "st,sdhci";
430 reg = <0x09060000 0x7ff>, <0x9061008 0x20>;
431 reg-names = "mmc", "top-mmc-delay";
432 interrupts = <GIC_SPI 92 IRQ_TYPE_NONE>;
433 interrupt-names = "mmcirq";
434 pinctrl-names = "default";
435 pinctrl-0 = <&pinctrl_mmc0>;
437 clocks = <&clk_s_c0_flexgen CLK_MMC_0>;
442 mmc1: sdhci@09080000 {
443 compatible = "st,sdhci-stih407", "st,sdhci";
445 reg = <0x09080000 0x7ff>;
447 interrupts = <GIC_SPI 90 IRQ_TYPE_NONE>;
448 interrupt-names = "mmcirq";
449 pinctrl-names = "default";
450 pinctrl-0 = <&pinctrl_sd1>;
452 clocks = <&clk_s_c0_flexgen CLK_MMC_1>;
453 resets = <&softreset STIH407_MMC1_SOFTRESET>;
457 /* Watchdog and Real-Time Clock */
459 compatible = "st,stih407-lpc";
460 reg = <0x8787000 0x1000>;
461 interrupts = <GIC_SPI 129 IRQ_TYPE_EDGE_RISING>;
462 clocks = <&clk_s_d3_flexgen CLK_LPC_0>;
464 st,syscfg = <&syscfg_core>;
465 st,lpc-mode = <ST_LPC_MODE_WDT>;
469 compatible = "st,stih407-lpc";
470 reg = <0x8788000 0x1000>;
471 interrupts = <GIC_SPI 130 IRQ_TYPE_EDGE_RISING>;
472 clocks = <&clk_s_d3_flexgen CLK_LPC_1>;
473 st,lpc-mode = <ST_LPC_MODE_RTC>;
476 sata0: sata@9b20000 {
477 compatible = "st,ahci";
478 reg = <0x9b20000 0x1000>;
480 interrupts = <GIC_SPI 159 IRQ_TYPE_NONE>;
481 interrupt-names = "hostc";
483 phys = <&phy_port0 PHY_TYPE_SATA>;
484 phy-names = "ahci_phy";
486 resets = <&powerdown STIH407_SATA0_POWERDOWN>,
487 <&softreset STIH407_SATA0_SOFTRESET>,
488 <&softreset STIH407_SATA0_PWR_SOFTRESET>;
489 reset-names = "pwr-dwn", "sw-rst", "pwr-rst";
491 clock-names = "ahci_clk";
492 clocks = <&clk_s_c0_flexgen CLK_ICN_REG>;
497 sata1: sata@9b28000 {
498 compatible = "st,ahci";
499 reg = <0x9b28000 0x1000>;
501 interrupts = <GIC_SPI 170 IRQ_TYPE_NONE>;
502 interrupt-names = "hostc";
504 phys = <&phy_port1 PHY_TYPE_SATA>;
505 phy-names = "ahci_phy";
507 resets = <&powerdown STIH407_SATA1_POWERDOWN>,
508 <&softreset STIH407_SATA1_SOFTRESET>,
509 <&softreset STIH407_SATA1_PWR_SOFTRESET>;
510 reset-names = "pwr-dwn",
514 clock-names = "ahci_clk";
515 clocks = <&clk_s_c0_flexgen CLK_ICN_REG>;