ARM: EXYNOS4: Add HPD and PD support for HDMI on ORIGEN
authorSachin Kamat <sachin.kamat@linaro.org>
Mon, 3 Oct 2011 00:16:53 +0000 (09:16 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Tue, 4 Oct 2011 03:57:29 +0000 (12:57 +0900)
This patch adds hot plug detection(HPD) and power domain(PD)
support for HDMI on ORIGEN board.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/mach-exynos4/mach-origen.c

index 349e297..18909cf 100644 (file)
@@ -600,6 +600,7 @@ static struct platform_device *origen_devices[] __initdata = {
        &s5p_device_i2c_hdmiphy,
        &s5p_device_mixer,
        &exynos4_device_pd[PD_LCD0],
+       &exynos4_device_pd[PD_TV],
        &origen_device_gpiokeys,
        &origen_lcd_hv070wsa,
 };
@@ -615,6 +616,14 @@ static struct platform_pwm_backlight_data origen_bl_data = {
        .pwm_period_ns  = 1000,
 };
 
+static void s5p_tv_setup(void)
+{
+       /* Direct HPD to HDMI chip */
+       gpio_request_one(EXYNOS4_GPX3(7), GPIOF_IN, "hpd-plug");
+       s3c_gpio_cfgpin(EXYNOS4_GPX3(7), S3C_GPIO_SFN(0x3));
+       s3c_gpio_setpull(EXYNOS4_GPX3(7), S3C_GPIO_PULL_NONE);
+}
+
 static void __init origen_map_io(void)
 {
        s5p_init_io(NULL, 0, S5P_VA_CHIPID);
@@ -646,6 +655,7 @@ static void __init origen_machine_init(void)
        origen_ehci_init();
        clk_xusbxti.rate = 24000000;
 
+       s5p_tv_setup();
        s5p_i2c_hdmiphy_set_platdata(NULL);
 
        s5p_fimd0_set_platdata(&origen_lcd_pdata);
@@ -653,6 +663,9 @@ static void __init origen_machine_init(void)
        platform_add_devices(origen_devices, ARRAY_SIZE(origen_devices));
        s5p_device_fimd0.dev.parent = &exynos4_device_pd[PD_LCD0].dev;
 
+       s5p_device_hdmi.dev.parent = &exynos4_device_pd[PD_TV].dev;
+       s5p_device_mixer.dev.parent = &exynos4_device_pd[PD_TV].dev;
+
        samsung_bl_set(&origen_bl_gpio_info, &origen_bl_data);
 }