ARM: EXYNOS4: Add HPD and PD support for HDMI on ORIGEN

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>
diff --git a/arch/arm/mach-exynos4/mach-origen.c b/arch/arm/mach-exynos4/mach-origen.c
index 349e297..18909cf 100644
--- a/arch/arm/mach-exynos4/mach-origen.c
+++ b/arch/arm/mach-exynos4/mach-origen.c
@@ -600,6 +600,7 @@
 	&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 @@
 	.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 @@
 	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 @@
 	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);
 }