aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorSachin Kamat <sachin.kamat@linaro.org>2011-10-02 20:16:53 -0400
committerKukjin Kim <kgene.kim@samsung.com>2011-10-03 23:57:29 -0400
commit3c76669998905afe2f8dd3f9a95c9936aaf9c4ff (patch)
tree9e132369254c6ee17bdfa70a2886cac7d2f8be84 /arch
parent9421a76d2bfec62b89b395033d03eea44bb2a4ac (diff)
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>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-exynos4/mach-origen.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos4/mach-origen.c b/arch/arm/mach-exynos4/mach-origen.c
index 349e2977b2ed..18909cf6c07d 100644
--- a/arch/arm/mach-exynos4/mach-origen.c
+++ b/arch/arm/mach-exynos4/mach-origen.c
@@ -600,6 +600,7 @@ static struct platform_device *origen_devices[] __initdata = {
600 &s5p_device_i2c_hdmiphy, 600 &s5p_device_i2c_hdmiphy,
601 &s5p_device_mixer, 601 &s5p_device_mixer,
602 &exynos4_device_pd[PD_LCD0], 602 &exynos4_device_pd[PD_LCD0],
603 &exynos4_device_pd[PD_TV],
603 &origen_device_gpiokeys, 604 &origen_device_gpiokeys,
604 &origen_lcd_hv070wsa, 605 &origen_lcd_hv070wsa,
605}; 606};
@@ -615,6 +616,14 @@ static struct platform_pwm_backlight_data origen_bl_data = {
615 .pwm_period_ns = 1000, 616 .pwm_period_ns = 1000,
616}; 617};
617 618
619static void s5p_tv_setup(void)
620{
621 /* Direct HPD to HDMI chip */
622 gpio_request_one(EXYNOS4_GPX3(7), GPIOF_IN, "hpd-plug");
623 s3c_gpio_cfgpin(EXYNOS4_GPX3(7), S3C_GPIO_SFN(0x3));
624 s3c_gpio_setpull(EXYNOS4_GPX3(7), S3C_GPIO_PULL_NONE);
625}
626
618static void __init origen_map_io(void) 627static void __init origen_map_io(void)
619{ 628{
620 s5p_init_io(NULL, 0, S5P_VA_CHIPID); 629 s5p_init_io(NULL, 0, S5P_VA_CHIPID);
@@ -646,6 +655,7 @@ static void __init origen_machine_init(void)
646 origen_ehci_init(); 655 origen_ehci_init();
647 clk_xusbxti.rate = 24000000; 656 clk_xusbxti.rate = 24000000;
648 657
658 s5p_tv_setup();
649 s5p_i2c_hdmiphy_set_platdata(NULL); 659 s5p_i2c_hdmiphy_set_platdata(NULL);
650 660
651 s5p_fimd0_set_platdata(&origen_lcd_pdata); 661 s5p_fimd0_set_platdata(&origen_lcd_pdata);
@@ -653,6 +663,9 @@ static void __init origen_machine_init(void)
653 platform_add_devices(origen_devices, ARRAY_SIZE(origen_devices)); 663 platform_add_devices(origen_devices, ARRAY_SIZE(origen_devices));
654 s5p_device_fimd0.dev.parent = &exynos4_device_pd[PD_LCD0].dev; 664 s5p_device_fimd0.dev.parent = &exynos4_device_pd[PD_LCD0].dev;
655 665
666 s5p_device_hdmi.dev.parent = &exynos4_device_pd[PD_TV].dev;
667 s5p_device_mixer.dev.parent = &exynos4_device_pd[PD_TV].dev;
668
656 samsung_bl_set(&origen_bl_gpio_info, &origen_bl_data); 669 samsung_bl_set(&origen_bl_gpio_info, &origen_bl_data);
657} 670}
658 671