These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / arch / arm / boot / dts / exynos5420.dtsi
index 4531753..1b3d6c7 100644 (file)
@@ -15,7 +15,6 @@
 
 #include <dt-bindings/clock/exynos5420.h>
 #include "exynos5.dtsi"
-#include "exynos5420-pinctrl.dtsi"
 
 #include <dt-bindings/clock/exynos-audss-clk.h>
 
                clocks = <&clock CLK_MFC>;
                clock-names = "mfc";
                power-domains = <&mfc_pd>;
+               iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>;
+               iommu-names = "left", "right";
        };
 
        mmc_0: mmc@12200000 {
        mfc_pd: power-domain@10044060 {
                compatible = "samsung,exynos4210-pd";
                reg = <0x10044060 0x20>;
-               clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MOUT_SW_ACLK333>,
-                       <&clock CLK_MOUT_USER_ACLK333>;
-               clock-names = "oscclk", "pclk0", "clk0";
+               clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MOUT_USER_ACLK333>;
+               clock-names = "oscclk", "clk0";
                #power-domain-cells = <0>;
        };
 
                compatible = "samsung,exynos4210-pd";
                reg = <0x100440C0 0x20>;
                #power-domain-cells = <0>;
-               clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MOUT_SW_ACLK200>,
+               clocks = <&clock CLK_FIN_PLL>,
                         <&clock CLK_MOUT_USER_ACLK200_DISP1>,
-                        <&clock CLK_MOUT_SW_ACLK300>,
                         <&clock CLK_MOUT_USER_ACLK300_DISP1>,
-                        <&clock CLK_MOUT_SW_ACLK400>,
                         <&clock CLK_MOUT_USER_ACLK400_DISP1>,
                         <&clock CLK_FIMD1>, <&clock CLK_MIXER>;
-               clock-names = "oscclk", "pclk0", "clk0",
-                             "pclk1", "clk1", "pclk2", "clk2",
-                             "asb0", "asb1";
+               clock-names = "oscclk", "clk0", "clk1", "clk2", "asb0", "asb1";
        };
 
        pinctrl_0: pinctrl@13400000 {
                interrupts = <0 47 0>;
        };
 
-       rtc: rtc@101E0000 {
-               clocks = <&clock CLK_RTC>;
-               clock-names = "rtc";
-               interrupt-parent = <&pmu_system_controller>;
-               status = "disabled";
-       };
-
        amba {
                #address-cells = <1>;
                #size-cells = <1>;
                        <&clock_audss EXYNOS_I2S_BUS>,
                        <&clock_audss EXYNOS_SCLK_I2S>;
                clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
+               #clock-cells = <1>;
+               clock-output-names = "i2s_cdclk0";
+               #sound-dai-cells = <1>;
                samsung,idma-addr = <0x03000000>;
                pinctrl-names = "default";
                pinctrl-0 = <&i2s0_bus>;
                dma-names = "tx", "rx";
                clocks = <&clock CLK_I2S1>, <&clock CLK_SCLK_I2S1>;
                clock-names = "iis", "i2s_opclk0";
+               #clock-cells = <1>;
+               clock-output-names = "i2s_cdclk1";
+               #sound-dai-cells = <1>;
                pinctrl-names = "default";
                pinctrl-0 = <&i2s1_bus>;
                status = "disabled";
                dma-names = "tx", "rx";
                clocks = <&clock CLK_I2S2>, <&clock CLK_SCLK_I2S2>;
                clock-names = "iis", "i2s_opclk0";
+               #clock-cells = <1>;
+               clock-output-names = "i2s_cdclk2";
+               #sound-dai-cells = <1>;
                pinctrl-names = "default";
                pinctrl-0 = <&i2s2_bus>;
                status = "disabled";
                status = "disabled";
        };
 
-       uart_0: serial@12C00000 {
-               clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
-               clock-names = "uart", "clk_uart_baud0";
-       };
-
-       uart_1: serial@12C10000 {
-               clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
-               clock-names = "uart", "clk_uart_baud0";
-       };
-
-       uart_2: serial@12C20000 {
-               clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
-               clock-names = "uart", "clk_uart_baud0";
-       };
-
-       uart_3: serial@12C30000 {
-               clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
-               clock-names = "uart", "clk_uart_baud0";
-       };
-
        pwm: pwm@12dd0000 {
                compatible = "samsung,exynos4210-pwm";
                reg = <0x12dd0000 0x100>;
                #phy-cells = <0>;
        };
 
-       dp: dp-controller@145B0000 {
-               clocks = <&clock CLK_DP1>;
-               clock-names = "dp";
-               phys = <&dp_phy>;
-               phy-names = "dp";
-               power-domains = <&disp_pd>;
-       };
-
        mipi_phy: video-phy@10040714 {
                compatible = "samsung,s5pv210-mipi-video-phy";
-               reg = <0x10040714 12>;
+               syscon = <&pmu_system_controller>;
                #phy-cells = <1>;
        };
 
                status = "disabled";
        };
 
-       fimd: fimd@14400000 {
-               clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
-               clock-names = "sclk_fimd", "fimd";
-               power-domains = <&disp_pd>;
-       };
-
        adc: adc@12D10000 {
                compatible = "samsung,exynos-adc-v2";
                reg = <0x12D10000 0x100>;
                         <&clock CLK_SCLK_HDMI>;
                clock-names = "mixer", "hdmi", "sclk_hdmi";
                power-domains = <&disp_pd>;
+               iommus = <&sysmmu_tv>;
        };
 
        gsc_0: video-scaler@13e00000 {
                clocks = <&clock CLK_GSCL0>;
                clock-names = "gscl";
                power-domains = <&gsc_pd>;
+               iommus = <&sysmmu_gscl0>;
        };
 
        gsc_1: video-scaler@13e10000 {
                clocks = <&clock CLK_GSCL1>;
                clock-names = "gscl";
                power-domains = <&gsc_pd>;
+               iommus = <&sysmmu_gscl1>;
+       };
+
+       jpeg_0: jpeg@11F50000 {
+               compatible = "samsung,exynos5420-jpeg";
+               reg = <0x11F50000 0x1000>;
+               interrupts = <0 89 0>;
+               clock-names = "jpeg";
+               clocks = <&clock CLK_JPEG>;
+               iommus = <&sysmmu_jpeg0>;
+       };
+
+       jpeg_1: jpeg@11F60000 {
+               compatible = "samsung,exynos5420-jpeg";
+               reg = <0x11F60000 0x1000>;
+               interrupts = <0 168 0>;
+               clock-names = "jpeg";
+               clocks = <&clock CLK_JPEG2>;
+               iommus = <&sysmmu_jpeg1>;
        };
 
        pmu_system_controller: system-controller@10040000 {
                samsung,sysreg-phandle = <&sysreg_system_controller>;
                samsung,pmureg-phandle = <&pmu_system_controller>;
        };
+
+       sysmmu_g2dr: sysmmu@0x10A60000 {
+               compatible = "samsung,exynos-sysmmu";
+               reg = <0x10A60000 0x1000>;
+               interrupt-parent = <&combiner>;
+               interrupts = <24 5>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock CLK_SMMU_G2D>, <&clock CLK_G2D>;
+               #iommu-cells = <0>;
+       };
+
+       sysmmu_g2dw: sysmmu@0x10A70000 {
+               compatible = "samsung,exynos-sysmmu";
+               reg = <0x10A70000 0x1000>;
+               interrupt-parent = <&combiner>;
+               interrupts = <22 2>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock CLK_SMMU_G2D>, <&clock CLK_G2D>;
+               #iommu-cells = <0>;
+       };
+
+       sysmmu_tv: sysmmu@0x14650000 {
+               compatible = "samsung,exynos-sysmmu";
+               reg = <0x14650000 0x1000>;
+               interrupt-parent = <&combiner>;
+               interrupts = <7 4>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock CLK_SMMU_MIXER>, <&clock CLK_MIXER>;
+               power-domains = <&disp_pd>;
+               #iommu-cells = <0>;
+       };
+
+       sysmmu_gscl0: sysmmu@0x13E80000 {
+               compatible = "samsung,exynos-sysmmu";
+               reg = <0x13E80000 0x1000>;
+               interrupt-parent = <&combiner>;
+               interrupts = <2 0>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock CLK_SMMU_GSCL0>, <&clock CLK_GSCL0>;
+               power-domains = <&gsc_pd>;
+               #iommu-cells = <0>;
+       };
+
+       sysmmu_gscl1: sysmmu@0x13E90000 {
+               compatible = "samsung,exynos-sysmmu";
+               reg = <0x13E90000 0x1000>;
+               interrupt-parent = <&combiner>;
+               interrupts = <2 2>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock CLK_SMMU_GSCL1>, <&clock CLK_GSCL1>;
+               power-domains = <&gsc_pd>;
+               #iommu-cells = <0>;
+       };
+
+       sysmmu_scaler0r: sysmmu@0x12880000 {
+               compatible = "samsung,exynos-sysmmu";
+               reg = <0x12880000 0x1000>;
+               interrupt-parent = <&combiner>;
+               interrupts = <22 4>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock CLK_SMMU_MSCL0>, <&clock CLK_MSCL0>;
+               #iommu-cells = <0>;
+       };
+
+       sysmmu_scaler1r: sysmmu@0x12890000 {
+               compatible = "samsung,exynos-sysmmu";
+               reg = <0x12890000 0x1000>;
+               interrupts = <0 186 0>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock CLK_SMMU_MSCL1>, <&clock CLK_MSCL1>;
+               #iommu-cells = <0>;
+       };
+
+       sysmmu_scaler2r: sysmmu@0x128A0000 {
+               compatible = "samsung,exynos-sysmmu";
+               reg = <0x128A0000 0x1000>;
+               interrupts = <0 188 0>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock CLK_SMMU_MSCL2>, <&clock CLK_MSCL2>;
+               #iommu-cells = <0>;
+       };
+
+       sysmmu_scaler0w: sysmmu@0x128C0000 {
+               compatible = "samsung,exynos-sysmmu";
+               reg = <0x128C0000 0x1000>;
+               interrupt-parent = <&combiner>;
+               interrupts = <27 2>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock CLK_SMMU_MSCL0>, <&clock CLK_MSCL0>;
+               #iommu-cells = <0>;
+       };
+
+       sysmmu_scaler1w: sysmmu@0x128D0000 {
+               compatible = "samsung,exynos-sysmmu";
+               reg = <0x128D0000 0x1000>;
+               interrupt-parent = <&combiner>;
+               interrupts = <22 6>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock CLK_SMMU_MSCL1>, <&clock CLK_MSCL1>;
+               #iommu-cells = <0>;
+       };
+
+       sysmmu_scaler2w: sysmmu@0x128E0000 {
+               compatible = "samsung,exynos-sysmmu";
+               reg = <0x128E0000 0x1000>;
+               interrupt-parent = <&combiner>;
+               interrupts = <19 6>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock CLK_SMMU_MSCL2>, <&clock CLK_MSCL2>;
+               #iommu-cells = <0>;
+       };
+
+       sysmmu_jpeg0: sysmmu@0x11F10000 {
+               compatible = "samsung,exynos-sysmmu";
+               reg = <0x11F10000 0x1000>;
+               interrupt-parent = <&combiner>;
+               interrupts = <4 2>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock CLK_SMMU_JPEG>, <&clock CLK_JPEG>;
+               #iommu-cells = <0>;
+       };
+
+       sysmmu_jpeg1: sysmmu@0x11F20000 {
+               compatible = "samsung,exynos-sysmmu";
+               reg = <0x11F20000 0x1000>;
+               interrupts = <0 169 0>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock CLK_SMMU_JPEG2>, <&clock CLK_JPEG2>;
+               #iommu-cells = <0>;
+       };
+
+       sysmmu_mfc_l: sysmmu@0x11200000 {
+               compatible = "samsung,exynos-sysmmu";
+               reg = <0x11200000 0x1000>;
+               interrupt-parent = <&combiner>;
+               interrupts = <6 2>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock CLK_SMMU_MFCL>, <&clock CLK_MFC>;
+               power-domains = <&mfc_pd>;
+               #iommu-cells = <0>;
+       };
+
+       sysmmu_mfc_r: sysmmu@0x11210000 {
+               compatible = "samsung,exynos-sysmmu";
+               reg = <0x11210000 0x1000>;
+               interrupt-parent = <&combiner>;
+               interrupts = <8 5>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock CLK_SMMU_MFCR>, <&clock CLK_MFC>;
+               power-domains = <&mfc_pd>;
+               #iommu-cells = <0>;
+       };
+
+       sysmmu_fimd1_0: sysmmu@0x14640000 {
+               compatible = "samsung,exynos-sysmmu";
+               reg = <0x14640000 0x1000>;
+               interrupt-parent = <&combiner>;
+               interrupts = <3 2>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock CLK_SMMU_FIMD1M0>, <&clock CLK_FIMD1>;
+               power-domains = <&disp_pd>;
+               #iommu-cells = <0>;
+       };
+
+       sysmmu_fimd1_1: sysmmu@0x14680000 {
+               compatible = "samsung,exynos-sysmmu";
+               reg = <0x14680000 0x1000>;
+               interrupt-parent = <&combiner>;
+               interrupts = <3 0>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock CLK_SMMU_FIMD1M1>, <&clock CLK_FIMD1>;
+               power-domains = <&disp_pd>;
+               #iommu-cells = <0>;
+       };
+};
+
+&dp {
+       clocks = <&clock CLK_DP1>;
+       clock-names = "dp";
+       phys = <&dp_phy>;
+       phy-names = "dp";
+       power-domains = <&disp_pd>;
+};
+
+&fimd {
+       clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
+       clock-names = "sclk_fimd", "fimd";
+       power-domains = <&disp_pd>;
+       iommus = <&sysmmu_fimd1_0>, <&sysmmu_fimd1_1>;
+       iommu-names = "m0", "m1";
+};
+
+&rtc {
+       clocks = <&clock CLK_RTC>;
+       clock-names = "rtc";
+       interrupt-parent = <&pmu_system_controller>;
+       status = "disabled";
+};
+
+&serial_0 {
+       clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
+       clock-names = "uart", "clk_uart_baud0";
 };
+
+&serial_1 {
+       clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
+       clock-names = "uart", "clk_uart_baud0";
+};
+
+&serial_2 {
+       clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
+       clock-names = "uart", "clk_uart_baud0";
+};
+
+&serial_3 {
+       clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
+       clock-names = "uart", "clk_uart_baud0";
+};
+
+#include "exynos5420-pinctrl.dtsi"