ARM: EXYNOS: Adds G-Scaler device from Device Tree
authorShaik Ameer Basha <shaik.ameer@samsung.com>
Fri, 7 Sep 2012 05:13:08 +0000 (14:13 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Fri, 7 Sep 2012 05:13:08 +0000 (14:13 +0900)
This patch adds,
- 4 G-Scaler devices to the DT device list
- G-Scaler specific entries to the machine file
- binding documentation for G-Scaler entries

Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Documentation/devicetree/bindings/media/exynos5-gsc.txt [new file with mode: 0644]
arch/arm/boot/dts/exynos5250.dtsi
arch/arm/mach-exynos/include/mach/map.h
arch/arm/mach-exynos/mach-exynos5-dt.c

diff --git a/Documentation/devicetree/bindings/media/exynos5-gsc.txt b/Documentation/devicetree/bindings/media/exynos5-gsc.txt
new file mode 100644 (file)
index 0000000..0604d42
--- /dev/null
@@ -0,0 +1,30 @@
+* Samsung Exynos5 G-Scaler device
+
+G-Scaler is used for scaling and color space conversion on EXYNOS5 SoCs.
+
+Required properties:
+- compatible: should be "samsung,exynos5-gsc"
+- reg: should contain G-Scaler physical address location and length.
+- interrupts: should contain G-Scaler interrupt number
+
+Example:
+
+gsc_0:  gsc@0x13e00000 {
+       compatible = "samsung,exynos5-gsc";
+       reg = <0x13e00000 0x1000>;
+       interrupts = <0 85 0>;
+};
+
+Aliases:
+Each G-Scaler node should have a numbered alias in the aliases node,
+in the form of gscN, N = 0...3. G-Scaler driver uses these aliases
+to retrieve the device IDs using "of_alias_get_id()" call.
+
+Example:
+
+aliases {
+       gsc0 =&gsc_0;
+       gsc1 =&gsc_1;
+       gsc2 =&gsc_2;
+       gsc3 =&gsc_3;
+};
index 004aaa8d123cd66fed607c7c45ebc5827cd018dd..b55794b494b487eb374dafe1b326f8f230592468 100644 (file)
                spi0 = &spi_0;
                spi1 = &spi_1;
                spi2 = &spi_2;
+               gsc0 = &gsc_0;
+               gsc1 = &gsc_1;
+               gsc2 = &gsc_2;
+               gsc3 = &gsc_3;
        };
 
        gic:interrupt-controller@10481000 {
                        #gpio-cells = <4>;
                };
        };
+
+       gsc_0:  gsc@0x13e00000 {
+               compatible = "samsung,exynos5-gsc";
+               reg = <0x13e00000 0x1000>;
+               interrupts = <0 85 0>;
+       };
+
+       gsc_1:  gsc@0x13e10000 {
+               compatible = "samsung,exynos5-gsc";
+               reg = <0x13e10000 0x1000>;
+               interrupts = <0 86 0>;
+       };
+
+       gsc_2:  gsc@0x13e20000 {
+               compatible = "samsung,exynos5-gsc";
+               reg = <0x13e20000 0x1000>;
+               interrupts = <0 87 0>;
+       };
+
+       gsc_3:  gsc@0x13e30000 {
+               compatible = "samsung,exynos5-gsc";
+               reg = <0x13e30000 0x1000>;
+               interrupts = <0 88 0>;
+       };
 };
index c72b675b3e4b98f07dd26353d1dcbb3ee7ae12e6..0300d7adc15162dafa0b24fa35199be7933ae37e 100644 (file)
 #define EXYNOS4_PA_SYSMMU_MFC_L                0x13620000
 #define EXYNOS4_PA_SYSMMU_MFC_R                0x13630000
 
+#define EXYNOS5_PA_GSC0                        0x13E00000
+#define EXYNOS5_PA_GSC1                        0x13E10000
+#define EXYNOS5_PA_GSC2                        0x13E20000
+#define EXYNOS5_PA_GSC3                        0x13E30000
+
 #define EXYNOS5_PA_SYSMMU_MDMA1                0x10A40000
 #define EXYNOS5_PA_SYSMMU_SSS          0x10A50000
 #define EXYNOS5_PA_SYSMMU_2D           0x10A60000
index ef770bc2318fcbd074387a6c5278a007f169773d..e707eb1b1eab5d319adc6a7817f95b2fe0b8917d 100644 (file)
@@ -56,6 +56,14 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
        OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA0, "dma-pl330.0", NULL),
        OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA1, "dma-pl330.1", NULL),
        OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA1, "dma-pl330.2", NULL),
+       OF_DEV_AUXDATA("samsung,exynos5-gsc", EXYNOS5_PA_GSC0,
+                               "exynos-gsc.0", NULL),
+       OF_DEV_AUXDATA("samsung,exynos5-gsc", EXYNOS5_PA_GSC1,
+                               "exynos-gsc.1", NULL),
+       OF_DEV_AUXDATA("samsung,exynos5-gsc", EXYNOS5_PA_GSC2,
+                               "exynos-gsc.2", NULL),
+       OF_DEV_AUXDATA("samsung,exynos5-gsc", EXYNOS5_PA_GSC3,
+                               "exynos-gsc.3", NULL),
        {},
 };