ARM: Exynos4: add clocks for SYSMMU controller and enable IOMMU support
authorMarek Szyprowski <m.szyprowski@samsung.com>
Wed, 21 Aug 2013 11:24:22 +0000 (13:24 +0200)
committerChanho Park <chanho61.park@samsung.com>
Tue, 18 Nov 2014 02:44:06 +0000 (11:44 +0900)
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
arch/arm/boot/dts/exynos4.dtsi
arch/arm/boot/dts/exynos4x12.dtsi

index d8525ec..cd2725a 100644 (file)
                        samsung,power-domain = <&pd_cam>;
                        samsung,sysreg = <&sys_reg>;
                        status = "disabled";
+                       iommu = <&sysmmu_fimc0>;
                };
 
                fimc_1: fimc@11810000 {
                        samsung,power-domain = <&pd_cam>;
                        samsung,sysreg = <&sys_reg>;
                        status = "disabled";
+                       iommu = <&sysmmu_fimc1>;
                };
 
                fimc_2: fimc@11820000 {
                        samsung,power-domain = <&pd_cam>;
                        samsung,sysreg = <&sys_reg>;
                        status = "disabled";
+                       iommu = <&sysmmu_fimc2>;
                };
 
                fimc_3: fimc@11830000 {
                        samsung,power-domain = <&pd_cam>;
                        samsung,sysreg = <&sys_reg>;
                        status = "disabled";
+                       iommu = <&sysmmu_fimc3>;
                };
 
                csis_0: csis@11880000 {
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
-               iommu = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>;
 
                mfc_l: memport@0 {
                        compatible = "samsung,memport";
                        reg = <0>;
+                       iommu = <&sysmmu_mfc_l>;
+                       samsung,power-domain = <&pd_mfc>;
                };
 
                mfc_r: memport@1 {
                        compatible = "samsung,memport";
                        reg = <1>;
+                       iommu = <&sysmmu_mfc_r>;
+                       samsung,power-domain = <&pd_mfc>;
                };
        };
 
                interrupt-parent = <&combiner>;
                interrupt-names = "sysmmu-mfc-l";
                interrupts = <5 5>;
-               clock-names = "sysmmu";
-               clocks = <&clock 274>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock 274>, <&clock 273>;
                samsung,power-domain = <&pd_mfc>;
                status = "ok";
        };
                interrupt-parent = <&combiner>;
                interrupt-names = "sysmmu-mfc-r";
                interrupts = <5 6>;
-               clock-names = "sysmmu";
-               clocks = <&clock 275>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock 275>, <&clock 273>;
                samsung,power-domain = <&pd_mfc>;
                status = "ok";
        };
                interrupt-parent = <&combiner>;
                interrupt-names = "sysmmu-tv";
                interrupts = <5 4>;
-               clock-names = "sysmmu";
-               clocks = <&clock 272>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock 272>, <&clock 269>;
                samsung,power-domain = <&pd_tv>;
                status = "ok";
        };
                interrupt-parent = <&combiner>;
                interrupt-names = "sysmmu-fimc0";
                interrupts = <4 2>;
-               clock-names = "sysmmu";
-               clocks = <&clock 263>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock 263>, <&clock 256>;
                samsung,power-domain = <&pd_cam>;
                status = "ok";
        };
                interrupt-parent = <&combiner>;
                interrupt-names = "sysmmu-fimc1";
                interrupts = <4 3>;
-               clock-names = "sysmmu";
-               clocks = <&clock 264>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock 264>, <&clock 257>;
                samsung,power-domain = <&pd_cam>;
                status = "ok";
        };
                interrupt-parent = <&combiner>;
                interrupt-names = "sysmmu-fimc2";
                interrupts = <4 4>;
-               clock-names = "sysmmu";
-               clocks = <&clock 265>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock 265>, <&clock 258>;
                samsung,power-domain = <&pd_cam>;
                status = "ok";
        };
                interrupt-parent = <&combiner>;
                interrupt-names = "sysmmu-fimc3";
                interrupts = <4 5>;
-               clock-names = "sysmmu";
-               clocks = <&clock 266>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock 266>, <&clock 259>;
                samsung,power-domain = <&pd_cam>;
                status = "ok";
        };
                interrupt-parent = <&combiner>;
                interrupt-names = "sysmmu-jpeg";
                interrupts = <4 6>;
-               clock-names = "sysmmu";
-               clocks = <&clock 267>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock 267>, <&clock 262>;
                samsung,power-domain = <&pd_cam>;
                status = "ok";
        };
                interrupt-parent = <&combiner>;
                interrupt-names = "sysmmu-rotator";
                interrupts = <5 0>;
-               clock-names = "sysmmu";
-               clocks = <&clock 281>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock 281>, <&clock 278>;
                samsung,power-domain = <&pd_lcd0>;
                status = "ok";
        };
                interrupt-parent = <&combiner>;
                interrupt-names = "sysmmu-fimd0";
                interrupts = <5 2>;
-               clock-names = "sysmmu";
-               clocks = <&clock 287>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock 287>, <&clock 283>;
                samsung,power-domain = <&pd_lcd0>;
                status = "ok";
        };
index da3b793..a0d85c3 100644 (file)
                compatible = "samsung,exynos4212-g2d";
                reg = <0x10800000 0x1000>;
                interrupts = <0 89 0>;
-               clocks = <&clock 277>;
-               clock-names = "fimg2d";
+               clocks = <&clock 177>, <&clock 277>;
+               clock-names = "sclk_fimg2d", "fimg2d";
+               samsung,power-domain = <&pd_lcd0>;
+               iommu = <&sysmmu_g2d>;
                status = "disabled";
        };
 
                interrupt-parent = <&combiner>;
                interrupt-names = "sysmmu-g2d";
                interrupts = <4 7>;
-               clock-names = "sysmmu";
+               clocks = <&clock 280>, <&clock 277>;
+               clock-names = "sysmmu", "master";
                status = "ok";
        };
 
                interrupt-parent = <&combiner>;
                interrupt-names = "sysmmu-fimc_lite0";
                interrupts = <16 0>;
-               clock-names = "sysmmu";
-               clocks = <&clock 366>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock 366>, <&clock 353>;
+               samsung,power-domain = <&pd_isp>;
                status = "ok";
        };
 
                interrupt-parent = <&combiner>;
                interrupt-names = "sysmmu-fimc_lite1";
                interrupts = <16 1>;
-               clock-names = "sysmmu";
-               clocks = <&clock 365>;
+               clock-names = "sysmmu", "master";
+               clocks = <&clock 365>, <&clock 354>;
+               samsung,power-domain = <&pd_isp>;
                status = "ok";
        };
 
                        clocks = <&clock 353>;
                        clock-names = "flite";
                        status = "disabled";
+                       iommu = <&sysmmu_fimc_lite0>;
                };
 
                fimc_lite_1: fimc-lite@123A0000 {
                        clocks = <&clock 354>;
                        clock-names = "flite";
                        status = "disabled";
+                       iommu = <&sysmmu_fimc_lite1>;
                };
 
                fimc_is: fimc-is@12000000 {