Merge branch 'topic/nhlt' into for-next
[linux-2.6-microblaze.git] / arch / arm / boot / dts / omap4.dtsi
index 9a87440..763bdea 100644 (file)
 
                dsp {
                        compatible = "ti,omap3-c64";
-                       ti,hwmods = "dsp";
                };
 
                iva {
                         */
                };
 
-               dss: dss@58000000 {
-                       compatible = "ti,omap4-dss";
-                       reg = <0x58000000 0x80>;
-                       status = "disabled";
-                       ti,hwmods = "dss_core";
-                       clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>;
-                       clock-names = "fck";
+               /*
+                * DSS is only using l3 mapping without l4 as noted in the TRM
+                * "10.1.3 DSS Register Manual" for omap4460.
+                */
+               target-module@58000000 {
+                       compatible = "ti,sysc-omap2", "ti,sysc";
+                       reg = <0x58000000 4>,
+                             <0x58000014 4>;
+                       reg-names = "rev", "syss";
+                       ti,syss-mask = <1>;
+                       clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 0>,
+                                <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>,
+                                <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>,
+                                <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 11>;
+                       clock-names = "fck", "hdmi_clk", "sys_clk", "tv_clk";
                        #address-cells = <1>;
                        #size-cells = <1>;
-                       ranges;
-
-                       dispc@58001000 {
-                               compatible = "ti,omap4-dispc";
-                               reg = <0x58001000 0x1000>;
-                               interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
-                               ti,hwmods = "dss_dispc";
-                               clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>;
-                               clock-names = "fck";
-                       };
-
-                       rfbi: encoder@58002000  {
-                               compatible = "ti,omap4-rfbi";
-                               reg = <0x58002000 0x1000>;
-                               status = "disabled";
-                               ti,hwmods = "dss_rfbi";
-                               clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, <&l3_div_ck>;
-                               clock-names = "fck", "ick";
-                       };
+                       ranges = <0 0x58000000 0x1000000>;
 
-                       venc: encoder@58003000 {
-                               compatible = "ti,omap4-venc";
-                               reg = <0x58003000 0x1000>;
+                       dss: dss@0 {
+                               compatible = "ti,omap4-dss";
+                               reg = <0 0x80>;
                                status = "disabled";
-                               ti,hwmods = "dss_venc";
-                               clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 11>;
+                               clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>;
                                clock-names = "fck";
-                       };
-
-                       dsi1: encoder@58004000 {
-                               compatible = "ti,omap4-dsi";
-                               reg = <0x58004000 0x200>,
-                                     <0x58004200 0x40>,
-                                     <0x58004300 0x20>;
-                               reg-names = "proto", "phy", "pll";
-                               interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
-                               status = "disabled";
-                               ti,hwmods = "dss_dsi1";
-                               clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>,
-                                        <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
-                               clock-names = "fck", "sys_clk";
-                       };
-
-                       dsi2: encoder@58005000 {
-                               compatible = "ti,omap4-dsi";
-                               reg = <0x58005000 0x200>,
-                                     <0x58005200 0x40>,
-                                     <0x58005300 0x20>;
-                               reg-names = "proto", "phy", "pll";
-                               interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
-                               status = "disabled";
-                               ti,hwmods = "dss_dsi2";
-                               clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>,
-                                        <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
-                               clock-names = "fck", "sys_clk";
-                       };
-
-                       hdmi: encoder@58006000 {
-                               compatible = "ti,omap4-hdmi";
-                               reg = <0x58006000 0x200>,
-                                     <0x58006200 0x100>,
-                                     <0x58006300 0x100>,
-                                     <0x58006400 0x1000>;
-                               reg-names = "wp", "pll", "phy", "core";
-                               interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
-                               status = "disabled";
-                               ti,hwmods = "dss_hdmi";
-                               clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>,
-                                        <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
-                               clock-names = "fck", "sys_clk";
-                               dmas = <&sdma 76>;
-                               dma-names = "audio_tx";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               ranges = <0 0 0x1000000>;
+
+                               target-module@1000 {
+                                       compatible = "ti,sysc-omap2", "ti,sysc";
+                                       reg = <0x1000 0x4>,
+                                             <0x1010 0x4>,
+                                             <0x1014 0x4>;
+                                       reg-names = "rev", "sysc", "syss";
+                                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
+                                                       <SYSC_IDLE_NO>,
+                                                       <SYSC_IDLE_SMART>;
+                                       ti,sysc-midle = <SYSC_IDLE_FORCE>,
+                                                       <SYSC_IDLE_NO>,
+                                                       <SYSC_IDLE_SMART>;
+                                       ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
+                                                        SYSC_OMAP2_ENAWAKEUP |
+                                                        SYSC_OMAP2_SOFTRESET |
+                                                        SYSC_OMAP2_AUTOIDLE)>;
+                                       ti,syss-mask = <1>;
+                                       clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>,
+                                                <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
+                                       clock-names = "fck", "sys_clk";
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+                                       ranges = <0 0x1000 0x1000>;
+
+                                       dispc@0 {
+                                               compatible = "ti,omap4-dispc";
+                                               reg = <0 0x1000>;
+                                               interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
+                                               clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>;
+                                               clock-names = "fck";
+                                       };
+                               };
+
+                               target-module@2000 {
+                                       compatible = "ti,sysc-omap2", "ti,sysc";
+                                       reg = <0x2000 0x4>,
+                                             <0x2010 0x4>,
+                                             <0x2014 0x4>;
+                                       reg-names = "rev", "sysc", "syss";
+                                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
+                                                       <SYSC_IDLE_NO>,
+                                                       <SYSC_IDLE_SMART>;
+                                       ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
+                                                        SYSC_OMAP2_AUTOIDLE)>;
+                                       ti,syss-mask = <1>;
+                                       clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>,
+                                                <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
+                                       clock-names = "fck", "sys_clk";
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+                                       ranges = <0 0x2000 0x1000>;
+
+                                       rfbi: encoder@0  {
+                                               reg = <0 0x1000>;
+                                               status = "disabled";
+                                               clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, <&l3_div_ck>;
+                                               clock-names = "fck", "ick";
+                                       };
+                               };
+
+                               target-module@3000 {
+                                       compatible = "ti,sysc-omap2", "ti,sysc";
+                                       reg = <0x3000 0x4>;
+                                       reg-names = "rev";
+                                       clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
+                                       clock-names = "sys_clk";
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+                                       ranges = <0 0x3000 0x1000>;
+
+                                       venc: encoder@0 {
+                                               compatible = "ti,omap4-venc";
+                                               reg = <0 0x1000>;
+                                               status = "disabled";
+                                               clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 11>;
+                                               clock-names = "fck";
+                                       };
+                               };
+
+                               target-module@4000 {
+                                       compatible = "ti,sysc-omap2", "ti,sysc";
+                                       reg = <0x4000 0x4>,
+                                             <0x4010 0x4>,
+                                             <0x4014 0x4>;
+                                       reg-names = "rev", "sysc", "syss";
+                                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
+                                                       <SYSC_IDLE_NO>,
+                                                       <SYSC_IDLE_SMART>;
+                                       ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
+                                                        SYSC_OMAP2_ENAWAKEUP |
+                                                        SYSC_OMAP2_SOFTRESET |
+                                                        SYSC_OMAP2_AUTOIDLE)>;
+                                       ti,syss-mask = <1>;
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+                                       ranges = <0 0x4000 0x1000>;
+
+                                       dsi1: encoder@0 {
+                                               compatible = "ti,omap4-dsi";
+                                               reg = <0 0x200>,
+                                                     <0x200 0x40>,
+                                                     <0x300 0x20>;
+                                               reg-names = "proto", "phy", "pll";
+                                               interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
+                                               status = "disabled";
+                                               clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>,
+                                                        <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
+                                               clock-names = "fck", "sys_clk";
+                                       };
+                               };
+
+                               target-module@5000 {
+                                       compatible = "ti,sysc-omap2", "ti,sysc";
+                                       reg = <0x5000 0x4>,
+                                             <0x5010 0x4>,
+                                             <0x5014 0x4>;
+                                       reg-names = "rev", "sysc", "syss";
+                                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
+                                                       <SYSC_IDLE_NO>,
+                                                       <SYSC_IDLE_SMART>;
+                                       ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
+                                                        SYSC_OMAP2_ENAWAKEUP |
+                                                        SYSC_OMAP2_SOFTRESET |
+                                                        SYSC_OMAP2_AUTOIDLE)>;
+                                       ti,syss-mask = <1>;
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+                                       ranges = <0 0x5000 0x1000>;
+
+                                       dsi2: encoder@0 {
+                                               compatible = "ti,omap4-dsi";
+                                               reg = <0 0x200>,
+                                                     <0x200 0x40>,
+                                                     <0x300 0x20>;
+                                               reg-names = "proto", "phy", "pll";
+                                               interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
+                                               status = "disabled";
+                                               clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>,
+                                                        <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
+                                               clock-names = "fck", "sys_clk";
+                                       };
+                               };
+
+                               target-module@6000 {
+                                       compatible = "ti,sysc-omap4", "ti,sysc";
+                                       reg = <0x6000 0x4>,
+                                             <0x6010 0x4>;
+                                       reg-names = "rev", "sysc";
+                                       /*
+                                        * Has SYSC_IDLE_SMART and SYSC_IDLE_SMART_WKUP
+                                        * but HDMI audio will fail with them.
+                                        */
+                                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
+                                                       <SYSC_IDLE_NO>;
+                                       ti,sysc-mask = <(SYSC_OMAP4_SOFTRESET)>;
+                                       clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>,
+                                                <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>;
+                                       clock-names = "fck", "dss_clk";
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+                                       ranges = <0 0x6000 0x2000>;
+
+                                       hdmi: encoder@0 {
+                                       compatible = "ti,omap4-hdmi";
+                                               reg = <0 0x200>,
+                                                     <0x200 0x100>,
+                                                     <0x300 0x100>,
+                                                     <0x400 0x1000>;
+                                               reg-names = "wp", "pll", "phy", "core";
+                                               interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
+                                               status = "disabled";
+                                               clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>,
+                                                        <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
+                                               clock-names = "fck", "sys_clk";
+                                               dmas = <&sdma 76>;
+                                               dma-names = "audio_tx";
+                                       };
+                               };
                        };
                };
        };