Subject: [PATCH V2 5/7] ARM: EXYNOS: add device tree based discovery support for FIMD

From: [email-masked] (Joonyoung Shim)
Date: Fri, 20 Jul 2012 16:39:21 +0900

On 07/18/2012 02:57 PM, Leela Krishna Amudala wrote:
> This patch adds support for device tree based discovery for Samsung's
> display controller. Adds DRM-Fimd plat data for smdk5250
> evt1 to the corresponding dts file
>
> Signed-off-by: Leela Krishna Amudala <[email-masked]>
> ---
>   arch/arm/boot/dts/exynos5250-smdk5250.dts |   16 ++++++++++++++++
>   arch/arm/boot/dts/exynos5250.dtsi         |    7 +++++++

Please make separated patches for exynos5250.dtsi and
exynos5250-smdk5250.dts.

>   arch/arm/mach-exynos/include/mach/map.h   |    1 +
>   arch/arm/mach-exynos/mach-exynos5-dt.c    |    2 ++
>   4 files changed, 26 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
> index 8a5e348..c8d32f5 100644
> --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
> +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
> @@ -109,4 +109,20 @@
>   	spi_2: spi at 12d40000 {
>   		status = "disabled";
>   	};
> +
> +	lcd_fimd0: lcd_panel0 {
> +			lcd-htiming = <4 4 4 1280>;
> +			lcd-vtiming = <4 4 4 800>;
> +			supports-mipi-panel;
> +	};
> +
> +	fimd {
> +		samsung,fimd-display = <&lcd_fimd0>;
> +		samsung,fimd-vidout-rgb;
> +		samsung,fimd-inv-vclk;
> +		samsung,fimd-frame-rate = <60>;
> +		samsung,default-window = <0>;
> +		samsung,fimd-win-bpp = <32>;
> +	};
> +
>   };
> diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
> index a3a2eb2..3a67092 100644
> --- a/arch/arm/boot/dts/exynos5250.dtsi
> +++ b/arch/arm/boot/dts/exynos5250.dtsi
> @@ -460,4 +460,11 @@
>   			#gpio-cells = <4>;
>   		};
>   	};
> +
> +	fimd {
> +		compatible = "samsung,exynos5-drm";
> +		interrupt-parent = <&combiner>;
> +		reg = <0x14400000 0x40000>;
> +		interrupts = <18 5>, <18 4>, <18 6>;
> +	};
>   };
> diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h
> index c72b675..f027da2 100644
> --- a/arch/arm/mach-exynos/include/mach/map.h
> +++ b/arch/arm/mach-exynos/include/mach/map.h
> @@ -170,6 +170,7 @@
>   #define EXYNOS4_PA_MIPI_CSIS1		0x11890000
>   
>   #define EXYNOS4_PA_FIMD0		0x11C00000
> +#define EXYNOS5_PA_FIMD1		0x14400000

Is FIMD1 name right? I know exynos5250 has one FIMD, so use FIMD
postfix.

>   
>   #define EXYNOS4_PA_HSMMC(x)		(0x12510000 + ((x) * 0x10000))
>   #define EXYNOS4_PA_DWMCI		0x12550000
> diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
> index 99f2b24..2107e01 100644
> --- a/arch/arm/mach-exynos/mach-exynos5-dt.c
> +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
> @@ -158,6 +158,8 @@ 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-drm", EXYNOS5_PA_FIMD1,
> +				"exynos5-fb", NULL),
>   	{},
>   };
>   

Thanks.