Merge tags 'genpd-dts-dra7', 'genpd-dts-omap4' and 'genpd-dts-omap5' into omap-for...
authorTony Lindgren <tony@atomide.com>
Wed, 10 Mar 2021 12:16:34 +0000 (14:16 +0200)
committerTony Lindgren <tony@atomide.com>
Wed, 10 Mar 2021 12:16:34 +0000 (14:16 +0200)
Merge together genpd related dts changes to provide base for dropping the
legacy data to prevent merge conflicts and to send dts changes separately.

arch/arm/boot/dts/omap4-l4.dtsi
arch/arm/boot/dts/omap4.dtsi
arch/arm/boot/dts/omap4460.dtsi
arch/arm/boot/dts/omap5-l4.dtsi
arch/arm/boot/dts/omap5.dtsi

index e0bb60a..c83849d 100644 (file)
@@ -1,6 +1,9 @@
 // SPDX-License-Identifier: GPL-2.0
 &l4_cfg {                                              /* 0x4a000000 */
-       compatible = "ti,omap4-l4-cfg", "simple-bus";
+       compatible = "ti,omap4-l4-cfg", "simple-pm-bus";
+       power-domains = <&prm_core>;
+       clocks = <&l4_cfg_clkctrl OMAP4_L4_CFG_CLKCTRL 0>;
+       clock-names = "fck";
        reg = <0x4a000000 0x800>,
              <0x4a000800 0x800>,
              <0x4a001000 0x1000>;
@@ -16,7 +19,7 @@
                 <0x00300000 0x4a300000 0x080000>;      /* segment 6 */
 
        segment@0 {                                     /* 0x4a000000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x00000000 0x00000000 0x000800>,      /* ap 0 */
        };
 
        segment@80000 {                                 /* 0x4a080000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x00059000 0x000d9000 0x001000>,      /* ap 13 */
        };
 
        segment@100000 {                                        /* 0x4a100000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x00000000 0x00100000 0x001000>,      /* ap 21 */
        };
 
        segment@180000 {                                        /* 0x4a180000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
        };
 
        segment@200000 {                                        /* 0x4a200000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x0001e000 0x0021e000 0x001000>,      /* ap 31 */
        };
 
        segment@280000 {                                        /* 0x4a280000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
        };
 
        l4_cfg_segment_300000: segment@300000 {                 /* 0x4a300000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x00000000 0x00300000 0x020000>,      /* ap 67 */
 };
 
 &l4_wkup {                                             /* 0x4a300000 */
-       compatible = "ti,omap4-l4-wkup", "simple-bus";
+       compatible = "ti,omap4-l4-wkup", "simple-pm-bus";
+       power-domains = <&prm_wkup>;
+       clocks = <&l4_wkup_clkctrl OMAP4_L4_WKUP_CLKCTRL 0>;
+       clock-names = "fck";
        reg = <0x4a300000 0x800>,
              <0x4a300800 0x800>,
              <0x4a301000 0x1000>;
                 <0x00020000 0x4a320000 0x010000>;      /* segment 2 */
 
        segment@0 {                                     /* 0x4a300000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x00000000 0x00000000 0x000800>,      /* ap 0 */
        };
 
        segment@10000 {                                 /* 0x4a310000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x00000000 0x00010000 0x001000>,      /* ap 5 */
        };
 
        segment@20000 {                                 /* 0x4a320000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x00006000 0x00026000 0x001000>,      /* ap 13 */
 };
 
 &l4_per {                                              /* 0x48000000 */
-       compatible = "ti,omap4-l4-per", "simple-bus";
+       compatible = "ti,omap4-l4-per", "simple-pm-bus";
+       power-domains = <&prm_l4per>;
+       clocks = <&l4_per_clkctrl OMAP4_L4_PER_CLKCTRL 0>;
+       clock-names = "fck";
        reg = <0x48000000 0x800>,
              <0x48000800 0x800>,
              <0x48001000 0x400>,
                 <0x00200000 0x48200000 0x200000>;      /* segment 1 */
 
        segment@0 {                                     /* 0x48000000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x00000000 0x00000000 0x000800>,      /* ap 0 */
        };
 
        segment@200000 {                                        /* 0x48200000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x00150000 0x00350000 0x001000>,      /* ap 77 */
index 4a9f949..fc0be94 100644 (file)
        };
 
        /*
-        * Note that 4430 needs cross trigger interface (CTI) supported
-        * before we can configure the interrupts. This means sampling
-        * events are not supported for pmu. Note that 4460 does not use
-        * CTI, see also 4460.dtsi.
+        * Needed early by omap4_sram_init() for barrier, do not move to l3
+        * interconnect as simple-pm-bus probes at module_init() time.
         */
-       pmu {
-               compatible = "arm,cortex-a9-pmu";
-               ti,hwmods = "debugss";
+       ocmcram: sram@40304000 {
+               compatible = "mmio-sram";
+               reg = <0x40304000 0xa000>; /* 40k */
        };
 
        gic: interrupt-controller@48241000 {
                interrupt-parent = <&gic>;
        };
 
-       /*
-        * The soc node represents the soc top level view. It is used for IPs
-        * that are not memory mapped in the MPU view or for the MPU itself.
-        */
-       soc {
-               compatible = "ti,omap-infra";
-               mpu {
-                       compatible = "ti,omap4-mpu";
-                       ti,hwmods = "mpu";
-                       sram = <&ocmcram>;
-               };
-       };
-
        /*
         * XXX: Use a flat representation of the OMAP4 interconnect.
         * The real OMAP interconnect network is quite complex.
         * hierarchy.
         */
        ocp {
-               compatible = "ti,omap4-l3-noc", "simple-bus";
+               compatible = "simple-bus";
+               power-domains = <&prm_l4per>;
+               clocks = <&l3_1_clkctrl OMAP4_L3_MAIN_1_CLKCTRL 0>,
+                        <&l3_2_clkctrl OMAP4_L3_MAIN_2_CLKCTRL 0>,
+                        <&l3_instr_clkctrl OMAP4_L3_MAIN_3_CLKCTRL 0>;
                #address-cells = <1>;
                #size-cells = <1>;
                ranges;
                ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3";
-               reg = <0x44000000 0x1000>,
-                     <0x44800000 0x2000>,
-                     <0x45000000 0x1000>;
-               interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
-                            <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
+
+               l3-noc@44000000 {
+                       compatible = "ti,omap4-l3-noc";
+                       reg = <0x44000000 0x1000>,
+                             <0x44800000 0x2000>,
+                             <0x45000000 0x1000>;
+                       interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
+               };
 
                l4_wkup: interconnect@4a300000 {
                };
                l4_per: interconnect@48000000 {
                };
 
-               l4_abe: interconnect@40100000 {
+               target-module@48210000 {
+                       compatible = "ti,sysc-omap4-simple", "ti,sysc";
+                       power-domains = <&prm_mpu>;
+                       clocks = <&mpuss_clkctrl OMAP4_MPU_CLKCTRL 0>;
+                       clock-names = "fck";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x48210000 0x1f0000>;
+
+                       mpu {
+                               compatible = "ti,omap4-mpu";
+                               sram = <&ocmcram>;
+                       };
                };
 
-               ocmcram: sram@40304000 {
-                       compatible = "mmio-sram";
-                       reg = <0x40304000 0xa000>; /* 40k */
+               l4_abe: interconnect@40100000 {
                };
 
                target-module@50000000 {
                                        <SYSC_IDLE_SMART>,
                                        <SYSC_IDLE_SMART_WKUP>;
                        ti,sysc-delay-us = <2>;
+                       power-domains = <&prm_cam>;
                        clocks = <&iss_clkctrl OMAP4_ISS_CLKCTRL 0>;
                        clock-names = "fck";
                        #address-cells = <1>;
                        /* No child device binding, driver in staging */
                };
 
+               /*
+                * Note that 4430 needs cross trigger interface (CTI) supported
+                * before we can configure the interrupts. This means sampling
+                * events are not supported for pmu. Note that 4460 does not use
+                * CTI, see also 4460.dtsi.
+                */
+               target-module@54000000 {
+                       compatible = "ti,sysc-omap4-simple", "ti,sysc";
+                       ti,hwmods = "debugss";
+                       power-domains = <&prm_emu>;
+                       clocks = <&emu_sys_clkctrl OMAP4_DEBUGSS_CLKCTRL 0>;
+                       clock-names = "fck";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0x0 0x54000000 0x1000000>;
+
+                       pmu: pmu {
+                               compatible = "arm,cortex-a9-pmu";
+                       };
+               };
+
                target-module@55082000 {
                        compatible = "ti,sysc-omap2", "ti,sysc";
                        reg = <0x55082000 0x4>,
                        /* No child device binding or driver in mainline */
                };
 
-               dmm@4e000000 {
-                       compatible = "ti,omap4-dmm";
-                       reg = <0x4e000000 0x800>;
-                       interrupts = <0 113 0x4>;
+               target-module@4e000000 {
+                       compatible = "ti,sysc-omap2", "ti,sysc";
                        ti,hwmods = "dmm";
+                       reg = <0x4e000000 0x4>,
+                             <0x4e000010 0x4>;
+                       reg-names = "rev", "sysc";
+                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
+                                       <SYSC_IDLE_NO>,
+                                       <SYSC_IDLE_SMART>;
+                       ranges = <0x0 0x4e000000 0x2000000>;
+                       #size-cells = <1>;
+                       #address-cells = <1>;
+
+                       dmm@0 {
+                               compatible = "ti,omap4-dmm";
+                               reg = <0 0x800>;
+                               interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
+                       };
                };
 
-               emif1: emif@4c000000 {
-                       compatible = "ti,emif-4d";
-                       reg = <0x4c000000 0x100>;
-                       interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
+               target-module@4c000000 {
+                       compatible = "ti,sysc-omap4-simple", "ti,sysc";
                        ti,hwmods = "emif1";
-                       ti,no-idle-on-init;
-                       phy-type = <1>;
-                       hw-caps-read-idle-ctrl;
-                       hw-caps-ll-interface;
-                       hw-caps-temp-alert;
+                       reg = <0x4c000000 0x4>;
+                       reg-names = "rev";
+                       clocks = <&l3_emif_clkctrl OMAP4_EMIF1_CLKCTRL 0>;
+                       clock-names = "fck";
+                       ti,no-idle;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0x0 0x4c000000 0x1000000>;
+
+                       emif1: emif@0 {
+                               compatible = "ti,emif-4d";
+                               reg = <0 0x100>;
+                               interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
+                               phy-type = <1>;
+                               hw-caps-read-idle-ctrl;
+                               hw-caps-ll-interface;
+                               hw-caps-temp-alert;
+                       };
                };
 
-               emif2: emif@4d000000 {
-                       compatible = "ti,emif-4d";
-                       reg = <0x4d000000 0x100>;
-                       interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
+               target-module@4d000000 {
+                       compatible = "ti,sysc-omap4-simple", "ti,sysc";
                        ti,hwmods = "emif2";
-                       ti,no-idle-on-init;
-                       phy-type = <1>;
-                       hw-caps-read-idle-ctrl;
-                       hw-caps-ll-interface;
-                       hw-caps-temp-alert;
+                       reg = <0x4d000000 0x4>;
+                       reg-names = "rev";
+                       clocks = <&l3_emif_clkctrl OMAP4_EMIF2_CLKCTRL 0>;
+                       clock-names = "fck";
+                       ti,no-idle;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0x0 0x4d000000 0x1000000>;
+
+                       emif2: emif@0 {
+                               compatible = "ti,emif-4d";
+                               reg = <0 0x100>;
+                               interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
+                               phy-type = <1>;
+                               hw-caps-read-idle-ctrl;
+                               hw-caps-ll-interface;
+                               hw-caps-temp-alert;
+                       };
                };
 
                dsp: dsp {
                                        <SYSC_IDLE_NO>,
                                        <SYSC_IDLE_SMART>,
                                        <SYSC_IDLE_SMART_WKUP>;
+                       power-domains = <&prm_gfx>;
                        clocks = <&l3_gfx_clkctrl OMAP4_GPU_CLKCTRL 0>;
                        clock-names = "fck";
                        #address-cells = <1>;
index 2d3e549..3d6db1d 100644 (file)
                };
        };
 
-       pmu {
-               compatible = "arm,cortex-a9-pmu";
-               interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
-                            <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
-               ti,hwmods = "debugss";
-       };
-
        thermal-zones {
                #include "omap4-cpu-thermal.dtsi"
        };
                 <0x00030000 0x00030000 0x00010000>;
 };
 
+&pmu {
+       compatible = "arm,cortex-a9-pmu";
+       interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
+};
+
 /include/ "omap446x-clocks.dtsi"
index 887b335..b148b28 100644 (file)
@@ -1,5 +1,8 @@
 &l4_cfg {                                              /* 0x4a000000 */
-       compatible = "ti,omap5-l4-cfg", "simple-bus";
+       compatible = "ti,omap5-l4-cfg", "simple-pm-bus";
+       power-domains = <&prm_core>;
+       clocks = <&l4cfg_clkctrl OMAP5_L4_CFG_CLKCTRL 0>;
+       clock-names = "fck";
        reg = <0x4a000000 0x800>,
              <0x4a000800 0x800>,
              <0x4a001000 0x1000>;
@@ -15,7 +18,7 @@
                 <0x00300000 0x4a300000 0x080000>;      /* segment 6 */
 
        segment@0 {                                     /* 0x4a000000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x00000000 0x00000000 0x000800>,      /* ap 0 */
        };
 
        segment@80000 {                                 /* 0x4a080000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x00059000 0x000d9000 0x001000>,      /* ap 13 */
        };
 
        segment@100000 {                                        /* 0x4a100000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x00002000 0x00102000 0x001000>,      /* ap 59 */
                };
 
                target-module@40000 {                   /* 0x4a140000, ap 101 16.0 */
-                       compatible = "ti,sysc";
-                       status = "disabled";
-                       #address-cells = <1>;
+                       compatible = "ti,sysc-omap4", "ti,sysc";
+                       reg = <0x400fc 4>,
+                             <0x41100 4>;
+                       reg-names = "rev", "sysc";
+                       ti,sysc-midle = <SYSC_IDLE_FORCE>,
+                                       <SYSC_IDLE_NO>,
+                                       <SYSC_IDLE_SMART>;
+                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
+                                       <SYSC_IDLE_NO>,
+                                       <SYSC_IDLE_SMART>,
+                                       <SYSC_IDLE_SMART_WKUP>;
+                       power-domains = <&prm_l3init>;
+                       clocks = <&l3init_clkctrl OMAP5_SATA_CLKCTRL 0>;
+                       clock-names = "fck";
                        #size-cells = <1>;
+                       #address-cells = <1>;
                        ranges = <0x0 0x40000 0x10000>;
+
+                       sata: sata@0 {
+                               compatible = "snps,dwc-ahci";
+                               reg = <0 0x1100>, <0x1100 0x8>;
+                               interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
+                               phys = <&sata_phy>;
+                               phy-names = "sata-phy";
+                               clocks = <&l3init_clkctrl OMAP5_SATA_CLKCTRL 8>;
+                               ports-implemented = <0x1>;
+                       };
                };
        };
 
        segment@180000 {                                        /* 0x4a180000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
        };
 
        segment@200000 {                                        /* 0x4a200000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x0001e000 0x0021e000 0x001000>,      /* ap 29 */
        };
 
        segment@280000 {                                        /* 0x4a280000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
        };
 
        segment@300000 {                                        /* 0x4a300000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
        };
 };
 
 &l4_per {                                              /* 0x48000000 */
-       compatible = "ti,omap5-l4-per", "simple-bus";
+       compatible = "ti,omap5-l4-per", "simple-pm-bus";
+       power-domains = <&prm_core>;
+       clocks = <&l4per_clkctrl OMAP5_L4_PER_CLKCTRL 0>;
+       clock-names = "fck";
        reg = <0x48000000 0x800>,
              <0x48000800 0x800>,
              <0x48001000 0x400>,
                 <0x00200000 0x48200000 0x200000>;      /* segment 1 */
 
        segment@0 {                                     /* 0x48000000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x00000000 0x00000000 0x000800>,      /* ap 0 */
        };
 
        segment@200000 {                                        /* 0x48200000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
        };
 };
 
 &l4_wkup {                                             /* 0x4ae00000 */
-       compatible = "ti,omap5-l4-wkup", "simple-bus";
+       compatible = "ti,omap5-l4-wkup", "simple-pm-bus";
+       power-domains = <&prm_wkupaon>;
+       clocks = <&wkupaon_clkctrl OMAP5_L4_WKUP_CLKCTRL 0>;
+       clock-names = "fck";
        reg = <0x4ae00000 0x800>,
              <0x4ae00800 0x800>,
              <0x4ae01000 0x1000>;
                 <0x00020000 0x4ae20000 0x010000>;      /* segment 2 */
 
        segment@0 {                                     /* 0x4ae00000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x00000000 0x00000000 0x000800>,      /* ap 0 */
        };
 
        segment@10000 {                                 /* 0x4ae10000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x00000000 0x00010000 0x001000>,      /* ap 5 */
        };
 
        segment@20000 {                                 /* 0x4ae20000 */
-               compatible = "simple-bus";
+               compatible = "simple-pm-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x00006000 0x00026000 0x001000>,      /* ap 13 */
index ee821d0..681fee3 100644 (file)
                             <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
        };
 
+       /*
+        * Needed early by omap4_sram_init() for barrier, do not move to l3
+        * interconnect as simple-pm-bus probes at module_init() time.
+        */
+       ocmcram: sram@40300000 {
+               compatible = "mmio-sram";
+               reg = <0 0x40300000 0 0x20000>; /* 128k */
+       };
+
        gic: interrupt-controller@48211000 {
                compatible = "arm,cortex-a15-gic";
                interrupt-controller;
                interrupt-parent = <&gic>;
        };
 
-       /*
-        * The soc node represents the soc top level view. It is used for IPs
-        * that are not memory mapped in the MPU view or for the MPU itself.
-        */
-       soc {
-               compatible = "ti,omap-infra";
-               mpu {
-                       compatible = "ti,omap4-mpu";
-                       ti,hwmods = "mpu";
-                       sram = <&ocmcram>;
-               };
-       };
-
        /*
         * XXX: Use a flat representation of the OMAP3 interconnect.
         * The real OMAP interconnect network is quite complex.
         * hierarchy.
         */
        ocp {
-               compatible = "ti,omap5-l3-noc", "simple-bus";
+               compatible = "simple-pm-bus";
+               power-domains = <&prm_core>;
+               clocks = <&l3main1_clkctrl OMAP5_L3_MAIN_1_CLKCTRL 0>,
+                        <&l3main2_clkctrl OMAP5_L3_MAIN_2_CLKCTRL 0>,
+                        <&l3instr_clkctrl OMAP5_L3_MAIN_3_CLKCTRL 0>;
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0 0 0 0xc0000000>;
                dma-ranges = <0x80000000 0x0 0x80000000 0x80000000>;
                ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3";
-               reg = <0 0x44000000 0 0x2000>,
-                     <0 0x44800000 0 0x3000>,
-                     <0 0x45000000 0 0x4000>;
-               interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
-                            <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
+
+               l3-noc@44000000 {
+                       compatible = "ti,omap5-l3-noc";
+                       reg = <0x44000000 0x2000>,
+                             <0x44800000 0x3000>,
+                             <0x45000000 0x4000>;
+                       interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
+               };
 
                l4_wkup: interconnect@4ae00000 {
                };
                l4_per: interconnect@48000000 {
                };
 
-               l4_abe: interconnect@40100000 {
+               target-module@48210000 {
+                       compatible = "ti,sysc-omap4-simple", "ti,sysc";
+                       power-domains = <&prm_mpu>;
+                       clocks = <&mpu_clkctrl OMAP5_MPU_CLKCTRL 0>;
+                       clock-names = "fck";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x48210000 0x1f0000>;
+
+                       mpu {
+                               compatible = "ti,omap4-mpu";
+                               sram = <&ocmcram>;
+                       };
                };
 
-               ocmcram: sram@40300000 {
-                       compatible = "mmio-sram";
-                       reg = <0x40300000 0x20000>; /* 128k */
+               l4_abe: interconnect@40100000 {
                };
 
-               gpmc: gpmc@50000000 {
-                       compatible = "ti,omap4430-gpmc";
-                       reg = <0x50000000 0x1000>;
-                       #address-cells = <2>;
-                       #size-cells = <1>;
-                       interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
-                       dmas = <&sdma 4>;
-                       dma-names = "rxtx";
-                       gpmc,num-cs = <8>;
-                       gpmc,num-waitpins = <4>;
-                       ti,hwmods = "gpmc";
-                       clocks = <&l3_iclk_div>;
+               target-module@50000000 {
+                       compatible = "ti,sysc-omap2", "ti,sysc";
+                       reg = <0x50000000 4>,
+                             <0x50000010 4>,
+                             <0x50000014 4>;
+                       reg-names = "rev", "sysc", "syss";
+                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
+                                       <SYSC_IDLE_NO>,
+                                       <SYSC_IDLE_SMART>;
+                       ti,syss-mask = <1>;
+                       ti,no-idle-on-init;
+                       clocks = <&l3main2_clkctrl OMAP5_L3_MAIN_2_GPMC_CLKCTRL 0>;
                        clock-names = "fck";
-                       interrupt-controller;
-                       #interrupt-cells = <2>;
-                       gpio-controller;
-                       #gpio-cells = <2>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0x50000000 0x50000000 0x00001000>, /* regs */
+                                <0x00000000 0x00000000 0x40000000>; /* data */
+
+                       gpmc: gpmc@50000000 {
+                               compatible = "ti,omap4430-gpmc";
+                               reg = <0x50000000 0x1000>;
+                               #address-cells = <2>;
+                               #size-cells = <1>;
+                               interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
+                               dmas = <&sdma 4>;
+                               dma-names = "rxtx";
+                               gpmc,num-cs = <8>;
+                               gpmc,num-waitpins = <4>;
+                               clock-names = "fck";
+                               interrupt-controller;
+                               #interrupt-cells = <2>;
+                               gpio-controller;
+                               #gpio-cells = <2>;
+                       };
                };
 
                target-module@55082000 {
                        status = "disabled";
                };
 
-               dmm@4e000000 {
-                       compatible = "ti,omap5-dmm";
-                       reg = <0x4e000000 0x800>;
-                       interrupts = <0 113 0x4>;
+               target-module@4e000000 {
+                       compatible = "ti,sysc-omap2", "ti,sysc";
                        ti,hwmods = "dmm";
+                       reg = <0x4e000000 0x4>,
+                             <0x4e000010 0x4>;
+                       reg-names = "rev", "sysc";
+                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
+                                       <SYSC_IDLE_NO>,
+                                       <SYSC_IDLE_SMART>;
+                       ranges = <0x0 0x4e000000 0x2000000>;
+                       #size-cells = <1>;
+                       #address-cells = <1>;
+
+                       dmm@0 {
+                               compatible = "ti,omap5-dmm";
+                               reg = <0 0x800>;
+                               interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
+                       };
                };
 
-               emif1: emif@4c000000 {
-                       compatible      = "ti,emif-4d5";
-                       ti,hwmods       = "emif1";
-                       ti,no-idle-on-init;
-                       phy-type        = <2>; /* DDR PHY type: Intelli PHY */
-                       reg = <0x4c000000 0x400>;
-                       interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
-                       hw-caps-read-idle-ctrl;
-                       hw-caps-ll-interface;
-                       hw-caps-temp-alert;
+               target-module@4c000000 {
+                       compatible = "ti,sysc-omap4-simple", "ti,sysc";
+                       ti,hwmods = "emif1";
+                       reg = <0x4c000000 0x4>;
+                       reg-names = "rev";
+                       clocks = <&emif_clkctrl OMAP5_EMIF1_CLKCTRL 0>;
+                       clock-names = "fck";
+                       ti,no-idle;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0x0 0x4c000000 0x1000000>;
+
+                       emif1: emif@0 {
+                               compatible = "ti,emif-4d5";
+                               reg = <0 0x400>;
+                               interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
+                               phy-type = <2>; /* DDR PHY type: Intelli PHY */
+                               hw-caps-read-idle-ctrl;
+                               hw-caps-ll-interface;
+                               hw-caps-temp-alert;
+                       };
                };
 
-               emif2: emif@4d000000 {
-                       compatible      = "ti,emif-4d5";
-                       ti,hwmods       = "emif2";
-                       ti,no-idle-on-init;
-                       phy-type        = <2>; /* DDR PHY type: Intelli PHY */
-                       reg = <0x4d000000 0x400>;
-                       interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
-                       hw-caps-read-idle-ctrl;
-                       hw-caps-ll-interface;
-                       hw-caps-temp-alert;
+               target-module@4d000000 {
+                       compatible = "ti,sysc-omap4-simple", "ti,sysc";
+                       ti,hwmods = "emif2";
+                       reg = <0x4d000000 0x4>;
+                       reg-names = "rev";
+                       clocks = <&emif_clkctrl OMAP5_EMIF2_CLKCTRL 0>;
+                       clock-names = "fck";
+                       ti,no-idle;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0x0 0x4d000000 0x1000000>;
+
+                       emif2: emif@0 {
+                               compatible = "ti,emif-4d5";
+                               reg = <0 0x400>;
+                               interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
+                               phy-type = <2>; /* DDR PHY type: Intelli PHY */
+                               hw-caps-read-idle-ctrl;
+                               hw-caps-ll-interface;
+                               hw-caps-temp-alert;
+                       };
                };
 
                aes1_target: target-module@4b501000 {
                        #thermal-sensor-cells = <1>;
                };
 
-               /* OCP2SCP3 */
-               sata: sata@4a141100 {
-                       compatible = "snps,dwc-ahci";
-                       reg = <0x4a140000 0x1100>, <0x4a141100 0x7>;
-                       interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
-                       phys = <&sata_phy>;
-                       phy-names = "sata-phy";
-                       clocks = <&l3init_clkctrl OMAP5_SATA_CLKCTRL 8>;
-                       ti,hwmods = "sata";
-                       ports-implemented = <0x1>;
-               };
-
                target-module@56000000 {
                        compatible = "ti,sysc-omap4", "ti,sysc";
                        reg = <0x5600fe00 0x4>,