Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003  * Copyright (C) 2014 STMicroelectronics Limited.
0004  * Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
0005  */
0006 #include "stih407-pinctrl.dtsi"
0007 #include <dt-bindings/mfd/st-lpc.h>
0008 #include <dt-bindings/phy/phy.h>
0009 #include <dt-bindings/reset/stih407-resets.h>
0010 #include <dt-bindings/interrupt-controller/irq-st.h>
0011 / {
0012         #address-cells = <1>;
0013         #size-cells = <1>;
0014 
0015         reserved-memory {
0016                 #address-cells = <1>;
0017                 #size-cells = <1>;
0018                 ranges;
0019 
0020                 gp0_reserved: rproc@45000000 {
0021                         compatible = "shared-dma-pool";
0022                         reg = <0x45000000 0x00400000>;
0023                         no-map;
0024                 };
0025 
0026                 delta_reserved: rproc@44000000 {
0027                         compatible = "shared-dma-pool";
0028                         reg = <0x44000000 0x01000000>;
0029                         no-map;
0030                 };
0031         };
0032 
0033         cpus {
0034                 #address-cells = <1>;
0035                 #size-cells = <0>;
0036                 cpu@0 {
0037                         device_type = "cpu";
0038                         compatible = "arm,cortex-a9";
0039                         reg = <0>;
0040 
0041                         /* u-boot puts hpen in SBC dmem at 0xa4 offset */
0042                         cpu-release-addr = <0x94100A4>;
0043 
0044                                          /* kHz     uV   */
0045                         operating-points = <1500000 0
0046                                             1200000 0
0047                                             800000  0
0048                                             500000  0>;
0049 
0050                         clocks = <&clk_m_a9>;
0051                         clock-names = "cpu";
0052                         clock-latency = <100000>;
0053                         cpu0-supply = <&pwm_regulator>;
0054                         st,syscfg = <&syscfg_core 0x8e0>;
0055                 };
0056                 cpu@1 {
0057                         device_type = "cpu";
0058                         compatible = "arm,cortex-a9";
0059                         reg = <1>;
0060 
0061                         /* u-boot puts hpen in SBC dmem at 0xa4 offset */
0062                         cpu-release-addr = <0x94100A4>;
0063 
0064                                          /* kHz     uV   */
0065                         operating-points = <1500000 0
0066                                             1200000 0
0067                                             800000  0
0068                                             500000  0>;
0069                 };
0070         };
0071 
0072         intc: interrupt-controller@8761000 {
0073                 compatible = "arm,cortex-a9-gic";
0074                 #interrupt-cells = <3>;
0075                 interrupt-controller;
0076                 reg = <0x08761000 0x1000>, <0x08760100 0x100>;
0077         };
0078 
0079         scu@8760000 {
0080                 compatible = "arm,cortex-a9-scu";
0081                 reg = <0x08760000 0x1000>;
0082         };
0083 
0084         timer@8760200 {
0085                 interrupt-parent = <&intc>;
0086                 compatible = "arm,cortex-a9-global-timer";
0087                 reg = <0x08760200 0x100>;
0088                 interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
0089                 clocks = <&arm_periph_clk>;
0090         };
0091 
0092         l2: cache-controller@8762000 {
0093                 compatible = "arm,pl310-cache";
0094                 reg = <0x08762000 0x1000>;
0095                 arm,data-latency = <3 3 3>;
0096                 arm,tag-latency = <2 2 2>;
0097                 cache-unified;
0098                 cache-level = <2>;
0099         };
0100 
0101         arm-pmu {
0102                 interrupt-parent = <&intc>;
0103                 compatible = "arm,cortex-a9-pmu";
0104                 interrupts = <GIC_PPI 15 IRQ_TYPE_LEVEL_HIGH>;
0105         };
0106 
0107         pwm_regulator: pwm-regulator {
0108                 compatible = "pwm-regulator";
0109                 pwms = <&pwm1 3 8448>;
0110                 regulator-name = "CPU_1V0_AVS";
0111                 regulator-min-microvolt = <784000>;
0112                 regulator-max-microvolt = <1299000>;
0113                 regulator-always-on;
0114                 max-duty-cycle = <255>;
0115                 status = "okay";
0116         };
0117 
0118         restart: restart-controller {
0119                 compatible = "st,stih407-restart";
0120                 st,syscfg = <&syscfg_sbc_reg>;
0121                 status = "okay";
0122         };
0123 
0124         powerdown: powerdown-controller {
0125                 compatible = "st,stih407-powerdown";
0126                 #reset-cells = <1>;
0127         };
0128 
0129         softreset: softreset-controller {
0130                 compatible = "st,stih407-softreset";
0131                 #reset-cells = <1>;
0132         };
0133 
0134         picophyreset: picophyreset-controller {
0135                 compatible = "st,stih407-picophyreset";
0136                 #reset-cells = <1>;
0137         };
0138 
0139         irq-syscfg {
0140                 compatible = "st,stih407-irq-syscfg";
0141                 st,syscfg = <&syscfg_core>;
0142                 st,irq-device = <ST_IRQ_SYSCFG_PMU_0>,
0143                                 <ST_IRQ_SYSCFG_PMU_1>;
0144                 st,fiq-device = <ST_IRQ_SYSCFG_DISABLED>,
0145                                 <ST_IRQ_SYSCFG_DISABLED>;
0146         };
0147 
0148         usb2_picophy0: phy1 {
0149                 compatible = "st,stih407-usb2-phy";
0150                 #phy-cells = <0>;
0151                 st,syscfg = <&syscfg_core 0x100 0xf4>;
0152                 resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
0153                          <&picophyreset STIH407_PICOPHY2_RESET>;
0154                 reset-names = "global", "port";
0155         };
0156 
0157         miphy28lp_phy: miphy28lp {
0158                 compatible = "st,miphy28lp-phy";
0159                 st,syscfg = <&syscfg_core>;
0160                 #address-cells = <1>;
0161                 #size-cells = <1>;
0162                 ranges;
0163 
0164                 phy_port0: port@9b22000 {
0165                         reg = <0x9b22000 0xff>,
0166                               <0x9b09000 0xff>,
0167                               <0x9b04000 0xff>;
0168                         reg-names = "sata-up",
0169                                     "pcie-up",
0170                                     "pipew";
0171 
0172                         st,syscfg = <0x114 0x818 0xe0 0xec>;
0173                         #phy-cells = <1>;
0174 
0175                         reset-names = "miphy-sw-rst";
0176                         resets = <&softreset STIH407_MIPHY0_SOFTRESET>;
0177                 };
0178 
0179                 phy_port1: port@9b2a000 {
0180                         reg = <0x9b2a000 0xff>,
0181                               <0x9b19000 0xff>,
0182                               <0x9b14000 0xff>;
0183                         reg-names = "sata-up",
0184                                     "pcie-up",
0185                                     "pipew";
0186 
0187                         st,syscfg = <0x118 0x81c 0xe4 0xf0>;
0188 
0189                         #phy-cells = <1>;
0190 
0191                         reset-names = "miphy-sw-rst";
0192                         resets = <&softreset STIH407_MIPHY1_SOFTRESET>;
0193                 };
0194 
0195                 phy_port2: port@8f95000 {
0196                         reg = <0x8f95000 0xff>,
0197                               <0x8f90000 0xff>;
0198                         reg-names = "pipew",
0199                                     "usb3-up";
0200 
0201                         st,syscfg = <0x11c 0x820>;
0202 
0203                         #phy-cells = <1>;
0204 
0205                         reset-names = "miphy-sw-rst";
0206                         resets = <&softreset STIH407_MIPHY2_SOFTRESET>;
0207                 };
0208         };
0209 
0210         st231_gp0: st231-gp0 {
0211                 compatible = "st,st231-rproc";
0212                 memory-region = <&gp0_reserved>;
0213                 resets = <&softreset STIH407_ST231_GP0_SOFTRESET>;
0214                 reset-names = "sw_reset";
0215                 clocks = <&clk_s_c0_flexgen CLK_ST231_GP_0>;
0216                 clock-frequency = <600000000>;
0217                 st,syscfg = <&syscfg_core 0x22c>;
0218                 #mbox-cells = <1>;
0219                 mbox-names = "vq0_rx", "vq0_tx", "vq1_rx", "vq1_tx";
0220                 mboxes = <&mailbox0 0 2>, <&mailbox2 0 1>, <&mailbox0 0 3>, <&mailbox2 0 0>;
0221         };
0222 
0223         st231_delta: st231-delta {
0224                 compatible = "st,st231-rproc";
0225                 memory-region = <&delta_reserved>;
0226                 resets = <&softreset STIH407_ST231_DMU_SOFTRESET>;
0227                 reset-names = "sw_reset";
0228                 clocks = <&clk_s_c0_flexgen CLK_ST231_DMU>;
0229                 clock-frequency = <600000000>;
0230                 st,syscfg = <&syscfg_core 0x224>;
0231                 #mbox-cells = <1>;
0232                 mbox-names = "vq0_rx", "vq0_tx", "vq1_rx", "vq1_tx";
0233                 mboxes = <&mailbox0 0 0>, <&mailbox3 0 1>, <&mailbox0 0 1>, <&mailbox3 0 0>;
0234         };
0235 
0236         delta0 {
0237                 compatible = "st,st-delta";
0238                 clock-names = "delta",
0239                               "delta-st231",
0240                               "delta-flash-promip";
0241                 clocks = <&clk_s_c0_flexgen CLK_VID_DMU>,
0242                          <&clk_s_c0_flexgen CLK_ST231_DMU>,
0243                          <&clk_s_c0_flexgen CLK_FLASH_PROMIP>;
0244         };
0245 
0246         soc {
0247                 #address-cells = <1>;
0248                 #size-cells = <1>;
0249                 interrupt-parent = <&intc>;
0250                 ranges;
0251                 compatible = "simple-bus";
0252 
0253                 syscfg_sbc: sbc-syscfg@9620000 {
0254                         compatible = "st,stih407-sbc-syscfg", "syscon";
0255                         reg = <0x9620000 0x1000>;
0256                 };
0257 
0258                 syscfg_front: front-syscfg@9280000 {
0259                         compatible = "st,stih407-front-syscfg", "syscon";
0260                         reg = <0x9280000 0x1000>;
0261                 };
0262 
0263                 syscfg_rear: rear-syscfg@9290000 {
0264                         compatible = "st,stih407-rear-syscfg", "syscon";
0265                         reg = <0x9290000 0x1000>;
0266                 };
0267 
0268                 syscfg_flash: flash-syscfg@92a0000 {
0269                         compatible = "st,stih407-flash-syscfg", "syscon";
0270                         reg = <0x92a0000 0x1000>;
0271                 };
0272 
0273                 syscfg_sbc_reg: fvdp-lite-syscfg@9600000 {
0274                         compatible = "st,stih407-sbc-reg-syscfg", "syscon";
0275                         reg = <0x9600000 0x1000>;
0276                 };
0277 
0278                 syscfg_core: core-syscfg@92b0000 {
0279                         compatible = "st,stih407-core-syscfg", "syscon";
0280                         reg = <0x92b0000 0x1000>;
0281 
0282                         sti_sasg_codec: sti-sasg-codec {
0283                                 compatible = "st,stih407-sas-codec";
0284                                 #sound-dai-cells = <1>;
0285                                 status = "disabled";
0286                                 st,syscfg = <&syscfg_core>;
0287                         };
0288                 };
0289 
0290                 syscfg_lpm: lpm-syscfg@94b5100 {
0291                         compatible = "st,stih407-lpm-syscfg", "syscon";
0292                         reg = <0x94b5100 0x1000>;
0293                 };
0294 
0295                 /* Display */
0296                 vtg_main: sti-vtg-main@8d02800 {
0297                         compatible = "st,vtg";
0298                         reg = <0x8d02800 0x200>;
0299                         interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
0300                 };
0301 
0302                 vtg_aux: sti-vtg-aux@8d00200 {
0303                         compatible = "st,vtg";
0304                         reg = <0x8d00200 0x100>;
0305                         interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
0306                 };
0307 
0308                 serial@9830000 {
0309                         compatible = "st,asc";
0310                         reg = <0x9830000 0x2c>;
0311                         interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
0312                         clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
0313                         /* Pinctrl moved out to a per-board configuration */
0314 
0315                         status = "disabled";
0316                 };
0317 
0318                 serial@9831000 {
0319                         compatible = "st,asc";
0320                         reg = <0x9831000 0x2c>;
0321                         interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
0322                         pinctrl-names = "default";
0323                         pinctrl-0 = <&pinctrl_serial1>;
0324                         clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
0325 
0326                         status = "disabled";
0327                 };
0328 
0329                 serial@9832000 {
0330                         compatible = "st,asc";
0331                         reg = <0x9832000 0x2c>;
0332                         interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
0333                         pinctrl-names = "default";
0334                         pinctrl-0 = <&pinctrl_serial2>;
0335                         clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
0336 
0337                         status = "disabled";
0338                 };
0339 
0340                 /* SBC_ASC0 - UART10 */
0341                 sbc_serial0: serial@9530000 {
0342                         compatible = "st,asc";
0343                         reg = <0x9530000 0x2c>;
0344                         interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
0345                         pinctrl-names = "default";
0346                         pinctrl-0 = <&pinctrl_sbc_serial0>;
0347                         clocks = <&clk_sysin>;
0348 
0349                         status = "disabled";
0350                 };
0351 
0352                 serial@9531000 {
0353                         compatible = "st,asc";
0354                         reg = <0x9531000 0x2c>;
0355                         interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
0356                         pinctrl-names = "default";
0357                         pinctrl-0 = <&pinctrl_sbc_serial1>;
0358                         clocks = <&clk_sysin>;
0359 
0360                         status = "disabled";
0361                 };
0362 
0363                 i2c@9840000 {
0364                         compatible = "st,comms-ssc4-i2c";
0365                         interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
0366                         reg = <0x9840000 0x110>;
0367                         clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
0368                         clock-names = "ssc";
0369                         clock-frequency = <400000>;
0370                         pinctrl-names = "default";
0371                         pinctrl-0 = <&pinctrl_i2c0_default>;
0372                         #address-cells = <1>;
0373                         #size-cells = <0>;
0374 
0375                         status = "disabled";
0376                 };
0377 
0378                 i2c@9841000 {
0379                         compatible = "st,comms-ssc4-i2c";
0380                         reg = <0x9841000 0x110>;
0381                         interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
0382                         clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
0383                         clock-names = "ssc";
0384                         clock-frequency = <400000>;
0385                         pinctrl-names = "default";
0386                         pinctrl-0 = <&pinctrl_i2c1_default>;
0387                         #address-cells = <1>;
0388                         #size-cells = <0>;
0389 
0390                         status = "disabled";
0391                 };
0392 
0393                 i2c@9842000 {
0394                         compatible = "st,comms-ssc4-i2c";
0395                         reg = <0x9842000 0x110>;
0396                         interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
0397                         clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
0398                         clock-names = "ssc";
0399                         clock-frequency = <400000>;
0400                         pinctrl-names = "default";
0401                         pinctrl-0 = <&pinctrl_i2c2_default>;
0402                         #address-cells = <1>;
0403                         #size-cells = <0>;
0404 
0405                         status = "disabled";
0406                 };
0407 
0408                 i2c@9843000 {
0409                         compatible = "st,comms-ssc4-i2c";
0410                         reg = <0x9843000 0x110>;
0411                         interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
0412                         clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
0413                         clock-names = "ssc";
0414                         clock-frequency = <400000>;
0415                         pinctrl-names = "default";
0416                         pinctrl-0 = <&pinctrl_i2c3_default>;
0417                         #address-cells = <1>;
0418                         #size-cells = <0>;
0419 
0420                         status = "disabled";
0421                 };
0422 
0423                 i2c@9844000 {
0424                         compatible = "st,comms-ssc4-i2c";
0425                         reg = <0x9844000 0x110>;
0426                         interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
0427                         clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
0428                         clock-names = "ssc";
0429                         clock-frequency = <400000>;
0430                         pinctrl-names = "default";
0431                         pinctrl-0 = <&pinctrl_i2c4_default>;
0432                         #address-cells = <1>;
0433                         #size-cells = <0>;
0434 
0435                         status = "disabled";
0436                 };
0437 
0438                 i2c@9845000 {
0439                         compatible = "st,comms-ssc4-i2c";
0440                         reg = <0x9845000 0x110>;
0441                         interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
0442                         clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
0443                         clock-names = "ssc";
0444                         clock-frequency = <400000>;
0445                         pinctrl-names = "default";
0446                         pinctrl-0 = <&pinctrl_i2c5_default>;
0447                         #address-cells = <1>;
0448                         #size-cells = <0>;
0449 
0450                         status = "disabled";
0451                 };
0452 
0453 
0454                 /* SSCs on SBC */
0455                 i2c@9540000 {
0456                         compatible = "st,comms-ssc4-i2c";
0457                         reg = <0x9540000 0x110>;
0458                         interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
0459                         clocks = <&clk_sysin>;
0460                         clock-names = "ssc";
0461                         clock-frequency = <400000>;
0462                         pinctrl-names = "default";
0463                         pinctrl-0 = <&pinctrl_i2c10_default>;
0464                         #address-cells = <1>;
0465                         #size-cells = <0>;
0466 
0467                         status = "disabled";
0468                 };
0469 
0470                 i2c@9541000 {
0471                         compatible = "st,comms-ssc4-i2c";
0472                         reg = <0x9541000 0x110>;
0473                         interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
0474                         clocks = <&clk_sysin>;
0475                         clock-names = "ssc";
0476                         clock-frequency = <400000>;
0477                         pinctrl-names = "default";
0478                         pinctrl-0 = <&pinctrl_i2c11_default>;
0479                         #address-cells = <1>;
0480                         #size-cells = <0>;
0481 
0482                         status = "disabled";
0483                 };
0484 
0485                 spi@9840000 {
0486                         compatible = "st,comms-ssc4-spi";
0487                         reg = <0x9840000 0x110>;
0488                         interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
0489                         clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
0490                         clock-names = "ssc";
0491                         pinctrl-0 = <&pinctrl_spi0_default>;
0492                         pinctrl-names = "default";
0493                         #address-cells = <1>;
0494                         #size-cells = <0>;
0495 
0496                         status = "disabled";
0497                 };
0498 
0499                 spi@9841000 {
0500                         compatible = "st,comms-ssc4-spi";
0501                         reg = <0x9841000 0x110>;
0502                         interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
0503                         clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
0504                         clock-names = "ssc";
0505                         pinctrl-names = "default";
0506                         pinctrl-0 = <&pinctrl_spi1_default>;
0507                         #address-cells = <1>;
0508                         #size-cells = <0>;
0509 
0510                         status = "disabled";
0511                 };
0512 
0513                 spi@9842000 {
0514                         compatible = "st,comms-ssc4-spi";
0515                         reg = <0x9842000 0x110>;
0516                         interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
0517                         clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
0518                         clock-names = "ssc";
0519                         pinctrl-names = "default";
0520                         pinctrl-0 = <&pinctrl_spi2_default>;
0521                         #address-cells = <1>;
0522                         #size-cells = <0>;
0523 
0524                         status = "disabled";
0525                 };
0526 
0527                 spi@9843000 {
0528                         compatible = "st,comms-ssc4-spi";
0529                         reg = <0x9843000 0x110>;
0530                         interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
0531                         clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
0532                         clock-names = "ssc";
0533                         pinctrl-names = "default";
0534                         pinctrl-0 = <&pinctrl_spi3_default>;
0535                         #address-cells = <1>;
0536                         #size-cells = <0>;
0537 
0538                         status = "disabled";
0539                 };
0540 
0541                 spi@9844000 {
0542                         compatible = "st,comms-ssc4-spi";
0543                         reg = <0x9844000 0x110>;
0544                         interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
0545                         clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
0546                         clock-names = "ssc";
0547                         pinctrl-names = "default";
0548                         pinctrl-0 = <&pinctrl_spi4_default>;
0549                         #address-cells = <1>;
0550                         #size-cells = <0>;
0551 
0552                         status = "disabled";
0553                 };
0554 
0555                 /* SBC SSC */
0556                 spi@9540000 {
0557                         compatible = "st,comms-ssc4-spi";
0558                         reg = <0x9540000 0x110>;
0559                         interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
0560                         clocks = <&clk_sysin>;
0561                         clock-names = "ssc";
0562                         pinctrl-names = "default";
0563                         pinctrl-0 = <&pinctrl_spi10_default>;
0564                         #address-cells = <1>;
0565                         #size-cells = <0>;
0566 
0567                         status = "disabled";
0568                 };
0569 
0570                 spi@9541000 {
0571                         compatible = "st,comms-ssc4-spi";
0572                         reg = <0x9541000 0x110>;
0573                         interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
0574                         clocks = <&clk_sysin>;
0575                         clock-names = "ssc";
0576                         pinctrl-names = "default";
0577                         pinctrl-0 = <&pinctrl_spi11_default>;
0578                         #address-cells = <1>;
0579                         #size-cells = <0>;
0580 
0581                         status = "disabled";
0582                 };
0583 
0584                 spi@9542000 {
0585                         compatible = "st,comms-ssc4-spi";
0586                         reg = <0x9542000 0x110>;
0587                         interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
0588                         clocks = <&clk_sysin>;
0589                         clock-names = "ssc";
0590                         pinctrl-names = "default";
0591                         pinctrl-0 = <&pinctrl_spi12_default>;
0592                         #address-cells = <1>;
0593                         #size-cells = <0>;
0594 
0595                         status = "disabled";
0596                 };
0597 
0598                 mmc0: sdhci@9060000 {
0599                         compatible = "st,sdhci-stih407", "st,sdhci";
0600                         status = "disabled";
0601                         reg = <0x09060000 0x7ff>, <0x9061008 0x20>;
0602                         reg-names = "mmc", "top-mmc-delay";
0603                         interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
0604                         interrupt-names = "mmcirq";
0605                         pinctrl-names = "default";
0606                         pinctrl-0 = <&pinctrl_mmc0>;
0607                         clock-names = "mmc", "icn";
0608                         clocks = <&clk_s_c0_flexgen CLK_MMC_0>,
0609                                  <&clk_s_c0_flexgen CLK_RX_ICN_HVA>;
0610                         bus-width = <8>;
0611                 };
0612 
0613                 mmc1: sdhci@9080000 {
0614                         compatible = "st,sdhci-stih407", "st,sdhci";
0615                         status = "disabled";
0616                         reg = <0x09080000 0x7ff>;
0617                         reg-names = "mmc";
0618                         interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
0619                         interrupt-names = "mmcirq";
0620                         pinctrl-names = "default";
0621                         pinctrl-0 = <&pinctrl_sd1>;
0622                         clock-names = "mmc", "icn";
0623                         clocks = <&clk_s_c0_flexgen CLK_MMC_1>,
0624                                  <&clk_s_c0_flexgen CLK_RX_ICN_HVA>;
0625                         resets = <&softreset STIH407_MMC1_SOFTRESET>;
0626                         bus-width = <4>;
0627                 };
0628 
0629                 /* Watchdog and Real-Time Clock */
0630                 lpc@8787000 {
0631                         compatible = "st,stih407-lpc";
0632                         reg = <0x8787000 0x1000>;
0633                         interrupts = <GIC_SPI 129 IRQ_TYPE_EDGE_RISING>;
0634                         clocks = <&clk_s_d3_flexgen CLK_LPC_0>;
0635                         timeout-sec = <120>;
0636                         st,syscfg = <&syscfg_core>;
0637                         st,lpc-mode = <ST_LPC_MODE_WDT>;
0638                 };
0639 
0640                 lpc@8788000 {
0641                         compatible = "st,stih407-lpc";
0642                         reg = <0x8788000 0x1000>;
0643                         interrupts = <GIC_SPI 130 IRQ_TYPE_EDGE_RISING>;
0644                         clocks = <&clk_s_d3_flexgen CLK_LPC_1>;
0645                         st,lpc-mode = <ST_LPC_MODE_CLKSRC>;
0646                 };
0647 
0648                 spifsm: spifsm@9022000{
0649                         compatible = "st,spi-fsm";
0650                         reg = <0x9022000 0x1000>;
0651                         reg-names = "spi-fsm";
0652                         clocks = <&clk_s_c0_flexgen CLK_FLASH_PROMIP>;
0653                         clock-names = "emi_clk";
0654                         pinctrl-names = "default";
0655                         pinctrl-0 = <&pinctrl_fsm>;
0656                         st,syscfg = <&syscfg_core>;
0657                         st,boot-device-reg = <0x8c4>;
0658                         st,boot-device-spi = <0x68>;
0659 
0660                         status = "disabled";
0661                 };
0662 
0663                 sata0: sata@9b20000 {
0664                         compatible = "st,ahci";
0665                         reg = <0x9b20000 0x1000>;
0666 
0667                         interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
0668                         interrupt-names = "hostc";
0669 
0670                         phys = <&phy_port0 PHY_TYPE_SATA>;
0671                         phy-names = "ahci_phy";
0672 
0673                         resets = <&powerdown STIH407_SATA0_POWERDOWN>,
0674                                  <&softreset STIH407_SATA0_SOFTRESET>,
0675                                  <&softreset STIH407_SATA0_PWR_SOFTRESET>;
0676                         reset-names = "pwr-dwn", "sw-rst", "pwr-rst";
0677 
0678                         clock-names = "ahci_clk";
0679                         clocks = <&clk_s_c0_flexgen CLK_ICN_REG>;
0680 
0681                         ports-implemented = <0x1>;
0682 
0683                         status = "disabled";
0684                 };
0685 
0686                 sata1: sata@9b28000 {
0687                         compatible = "st,ahci";
0688                         reg = <0x9b28000 0x1000>;
0689 
0690                         interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
0691                         interrupt-names = "hostc";
0692 
0693                         phys = <&phy_port1 PHY_TYPE_SATA>;
0694                         phy-names = "ahci_phy";
0695 
0696                         resets = <&powerdown STIH407_SATA1_POWERDOWN>,
0697                                  <&softreset STIH407_SATA1_SOFTRESET>,
0698                                  <&softreset STIH407_SATA1_PWR_SOFTRESET>;
0699                         reset-names = "pwr-dwn",
0700                                       "sw-rst",
0701                                       "pwr-rst";
0702 
0703                         clock-names = "ahci_clk";
0704                         clocks = <&clk_s_c0_flexgen CLK_ICN_REG>;
0705 
0706                         ports-implemented = <0x1>;
0707 
0708                         status = "disabled";
0709                 };
0710 
0711 
0712                 st_dwc3: dwc3@8f94000 {
0713                         compatible = "st,stih407-dwc3";
0714                         reg = <0x08f94000 0x1000>, <0x110 0x4>;
0715                         reg-names = "reg-glue", "syscfg-reg";
0716                         st,syscfg = <&syscfg_core>;
0717                         resets = <&powerdown STIH407_USB3_POWERDOWN>,
0718                                  <&softreset STIH407_MIPHY2_SOFTRESET>;
0719                         reset-names = "powerdown", "softreset";
0720                         #address-cells = <1>;
0721                         #size-cells = <1>;
0722                         pinctrl-names = "default";
0723                         pinctrl-0 = <&pinctrl_usb3>;
0724                         ranges;
0725 
0726                         status = "disabled";
0727 
0728                         dwc3: usb@9900000 {
0729                                 compatible = "snps,dwc3";
0730                                 reg = <0x09900000 0x100000>;
0731                                 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
0732                                 dr_mode = "host";
0733                                 phy-names = "usb2-phy", "usb3-phy";
0734                                 phys = <&usb2_picophy0>,
0735                                        <&phy_port2 PHY_TYPE_USB3>;
0736                                 snps,dis_u3_susphy_quirk;
0737                         };
0738                 };
0739 
0740                 /* COMMS PWM Module */
0741                 pwm0: pwm@9810000 {
0742                         compatible = "st,sti-pwm";
0743                         #pwm-cells = <2>;
0744                         reg = <0x9810000 0x68>;
0745                         interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
0746                         pinctrl-names = "default";
0747                         pinctrl-0 = <&pinctrl_pwm0_chan0_default>;
0748                         clock-names = "pwm";
0749                         clocks = <&clk_sysin>;
0750                         st,pwm-num-chan = <1>;
0751 
0752                         status = "disabled";
0753                 };
0754 
0755                 /* SBC PWM Module */
0756                 pwm1: pwm@9510000 {
0757                         compatible = "st,sti-pwm";
0758                         #pwm-cells = <2>;
0759                         reg = <0x9510000 0x68>;
0760                         interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
0761                         pinctrl-names = "default";
0762                         pinctrl-0 = <&pinctrl_pwm1_chan0_default
0763                                      &pinctrl_pwm1_chan1_default
0764                                      &pinctrl_pwm1_chan2_default
0765                                      &pinctrl_pwm1_chan3_default>;
0766                         clock-names = "pwm";
0767                         clocks = <&clk_sysin>;
0768                         st,pwm-num-chan = <4>;
0769 
0770                         status = "disabled";
0771                 };
0772 
0773                 rng10: rng@8a89000 {
0774                         compatible = "st,rng";
0775                         reg = <0x08a89000 0x1000>;
0776                         clocks = <&clk_sysin>;
0777                         status = "okay";
0778                 };
0779 
0780                 rng11: rng@8a8a000 {
0781                         compatible = "st,rng";
0782                         reg = <0x08a8a000 0x1000>;
0783                         clocks = <&clk_sysin>;
0784                         status = "okay";
0785                 };
0786 
0787                 ethernet0: dwmac@9630000 {
0788                         device_type = "network";
0789                         status = "disabled";
0790                         compatible = "st,stih407-dwmac", "snps,dwmac", "snps,dwmac-3.710";
0791                         reg = <0x9630000 0x8000>, <0x80 0x4>;
0792                         reg-names = "stmmaceth", "sti-ethconf";
0793 
0794                         st,syscon = <&syscfg_sbc_reg 0x80>;
0795                         st,gmac_en;
0796                         resets = <&softreset STIH407_ETH1_SOFTRESET>;
0797                         reset-names = "stmmaceth";
0798 
0799                         interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
0800                                      <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
0801                         interrupt-names = "macirq", "eth_wake_irq";
0802 
0803                         /* DMA Bus Mode */
0804                         snps,pbl = <8>;
0805 
0806                         pinctrl-names = "default";
0807                         pinctrl-0 = <&pinctrl_rgmii1>;
0808 
0809                         clock-names = "stmmaceth", "sti-ethclk";
0810                         clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>,
0811                                  <&clk_s_c0_flexgen CLK_ETH_PHY>;
0812                 };
0813 
0814                 mailbox0: mailbox@8f00000  {
0815                         compatible = "st,stih407-mailbox";
0816                         reg = <0x8f00000 0x1000>;
0817                         interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
0818                         #mbox-cells = <2>;
0819                         mbox-name = "a9";
0820                         status = "okay";
0821                 };
0822 
0823                 mailbox1: mailbox@8f01000 {
0824                         compatible = "st,stih407-mailbox";
0825                         reg = <0x8f01000 0x1000>;
0826                         #mbox-cells = <2>;
0827                         mbox-name = "st231_gp_1";
0828                         status = "okay";
0829                 };
0830 
0831                 mailbox2: mailbox@8f02000 {
0832                         compatible = "st,stih407-mailbox";
0833                         reg = <0x8f02000 0x1000>;
0834                         #mbox-cells = <2>;
0835                         mbox-name = "st231_gp_0";
0836                         status = "okay";
0837                 };
0838 
0839                 mailbox3: mailbox@8f03000 {
0840                         compatible = "st,stih407-mailbox";
0841                         reg = <0x8f03000 0x1000>;
0842                         #mbox-cells = <2>;
0843                         mbox-name = "st231_audio_video";
0844                         status = "okay";
0845                 };
0846 
0847                 /* fdma audio */
0848                 fdma0: dma-controller@8e20000 {
0849                         compatible = "st,stih407-fdma-mpe31-11", "st,slim-rproc";
0850                         reg = <0x8e20000 0x8000>,
0851                               <0x8e30000 0x3000>,
0852                               <0x8e37000 0x1000>,
0853                               <0x8e38000 0x8000>;
0854                         reg-names = "slimcore", "dmem", "peripherals", "imem";
0855                         clocks = <&clk_s_c0_flexgen CLK_FDMA>,
0856                                  <&clk_s_c0_flexgen CLK_EXT2F_A9>,
0857                                  <&clk_s_c0_flexgen CLK_EXT2F_A9>,
0858                                  <&clk_s_c0_flexgen CLK_EXT2F_A9>;
0859                         interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
0860                         dma-channels = <16>;
0861                         #dma-cells = <3>;
0862                 };
0863 
0864                 /* fdma app */
0865                 fdma1: dma-controller@8e40000 {
0866                         compatible = "st,stih407-fdma-mpe31-12", "st,slim-rproc";
0867                         reg = <0x8e40000 0x8000>,
0868                               <0x8e50000 0x3000>,
0869                               <0x8e57000 0x1000>,
0870                               <0x8e58000 0x8000>;
0871                         reg-names = "slimcore", "dmem", "peripherals", "imem";
0872                         clocks = <&clk_s_c0_flexgen CLK_FDMA>,
0873                                 <&clk_s_c0_flexgen CLK_TX_ICN_DMU>,
0874                                 <&clk_s_c0_flexgen CLK_TX_ICN_DMU>,
0875                                 <&clk_s_c0_flexgen CLK_EXT2F_A9>;
0876 
0877                         interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
0878                         dma-channels = <16>;
0879                         #dma-cells = <3>;
0880 
0881                         status = "disabled";
0882                 };
0883 
0884                 /* fdma free running */
0885                 fdma2: dma-controller@8e60000 {
0886                         compatible = "st,stih407-fdma-mpe31-13", "st,slim-rproc";
0887                         reg = <0x8e60000 0x8000>,
0888                               <0x8e70000 0x3000>,
0889                               <0x8e77000 0x1000>,
0890                               <0x8e78000 0x8000>;
0891                         reg-names = "slimcore", "dmem", "peripherals", "imem";
0892                         interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
0893                         dma-channels = <16>;
0894                         #dma-cells = <3>;
0895                         clocks = <&clk_s_c0_flexgen CLK_FDMA>,
0896                                 <&clk_s_c0_flexgen CLK_EXT2F_A9>,
0897                                 <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
0898                                 <&clk_s_c0_flexgen CLK_EXT2F_A9>;
0899 
0900                         status = "disabled";
0901                 };
0902 
0903                 sti_uni_player0: sti-uni-player@8d80000 {
0904                         compatible = "st,stih407-uni-player-hdmi";
0905                         #sound-dai-cells = <0>;
0906                         st,syscfg = <&syscfg_core>;
0907                         clocks = <&clk_s_d0_flexgen CLK_PCM_0>;
0908                         assigned-clocks = <&clk_s_d0_quadfs 0>, <&clk_s_d0_flexgen CLK_PCM_0>;
0909                         assigned-clock-parents = <0>, <&clk_s_d0_quadfs 0>;
0910                         assigned-clock-rates = <50000000>;
0911                         reg = <0x8d80000 0x158>;
0912                         interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
0913                         dmas = <&fdma0 2 0 1>;
0914                         dma-names = "tx";
0915 
0916                         status = "disabled";
0917                 };
0918 
0919                 sti_uni_player1: sti-uni-player@8d81000 {
0920                         compatible = "st,stih407-uni-player-pcm-out";
0921                         #sound-dai-cells = <0>;
0922                         st,syscfg = <&syscfg_core>;
0923                         clocks = <&clk_s_d0_flexgen CLK_PCM_1>;
0924                         assigned-clocks = <&clk_s_d0_quadfs 1>, <&clk_s_d0_flexgen CLK_PCM_1>;
0925                         assigned-clock-parents = <0>, <&clk_s_d0_quadfs 1>;
0926                         assigned-clock-rates = <50000000>;
0927                         reg = <0x8d81000 0x158>;
0928                         interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
0929                         dmas = <&fdma0 3 0 1>;
0930                         dma-names = "tx";
0931 
0932                         status = "disabled";
0933                 };
0934 
0935                 sti_uni_player2: sti-uni-player@8d82000 {
0936                         compatible = "st,stih407-uni-player-dac";
0937                         #sound-dai-cells = <0>;
0938                         st,syscfg = <&syscfg_core>;
0939                         clocks = <&clk_s_d0_flexgen CLK_PCM_2>;
0940                         assigned-clocks = <&clk_s_d0_quadfs 2>, <&clk_s_d0_flexgen CLK_PCM_2>;
0941                         assigned-clock-parents = <0>, <&clk_s_d0_quadfs 2>;
0942                         assigned-clock-rates = <50000000>;
0943                         reg = <0x8d82000 0x158>;
0944                         interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
0945                         dmas = <&fdma0 4 0 1>;
0946                         dma-names = "tx";
0947 
0948                         status = "disabled";
0949                 };
0950 
0951                 sti_uni_player3: sti-uni-player@8d85000 {
0952                         compatible = "st,stih407-uni-player-spdif";
0953                         #sound-dai-cells = <0>;
0954                         st,syscfg = <&syscfg_core>;
0955                         clocks = <&clk_s_d0_flexgen CLK_SPDIFF>;
0956                         assigned-clocks = <&clk_s_d0_quadfs 3>, <&clk_s_d0_flexgen CLK_SPDIFF>;
0957                         assigned-clock-parents = <0>, <&clk_s_d0_quadfs 3>;
0958                         assigned-clock-rates = <50000000>;
0959                         reg = <0x8d85000 0x158>;
0960                         interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
0961                         dmas = <&fdma0 7 0 1>;
0962                         dma-names = "tx";
0963 
0964                         status = "disabled";
0965                 };
0966 
0967                 sti_uni_reader0: sti-uni-reader@8d83000 {
0968                         compatible = "st,stih407-uni-reader-pcm_in";
0969                         #sound-dai-cells = <0>;
0970                         st,syscfg = <&syscfg_core>;
0971                         reg = <0x8d83000 0x158>;
0972                         interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
0973                         dmas = <&fdma0 5 0 1>;
0974                         dma-names = "rx";
0975 
0976                         status = "disabled";
0977                 };
0978 
0979                 sti_uni_reader1: sti-uni-reader@8d84000 {
0980                         compatible = "st,stih407-uni-reader-hdmi";
0981                         #sound-dai-cells = <0>;
0982                         st,syscfg = <&syscfg_core>;
0983                         reg = <0x8d84000 0x158>;
0984                         interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
0985                         dmas = <&fdma0 6 0 1>;
0986                         dma-names = "rx";
0987 
0988                         status = "disabled";
0989                 };
0990         };
0991 };