diff options
author | Sachin Kamat <sachin.kamat@linaro.org> | 2011-10-02 20:16:53 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2011-10-03 23:57:29 -0400 |
commit | 3c76669998905afe2f8dd3f9a95c9936aaf9c4ff (patch) | |
tree | 9e132369254c6ee17bdfa70a2886cac7d2f8be84 /arch | |
parent | 9421a76d2bfec62b89b395033d03eea44bb2a4ac (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.c | 13 |
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 | ||
619 | static 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 | |||
618 | static void __init origen_map_io(void) | 627 | static 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 | ||