diff options
author | Hatim Ali <hatim.rv@samsung.com> | 2011-09-27 00:37:18 +0200 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2011-10-04 12:00:32 +0200 |
commit | c0735c85d1b9e2a1954deb3b3c8d5061f70464e5 (patch) | |
tree | 2671e710fc55161757c4e57a71abef731220cac4 /arch/arm/mach-exynos4 | |
parent | ASoC: Flush Samsung DMA on free (diff) | |
download | linux-c0735c85d1b9e2a1954deb3b3c8d5061f70464e5.tar.xz linux-c0735c85d1b9e2a1954deb3b3c8d5061f70464e5.zip |
ARM: EXYNOS4: Add TVOUT support for SMDKV310
Add support for TVOUT on SMDKV310 board.
Signed-off-by: Hatim Ali <hatim.rv@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-exynos4')
-rw-r--r-- | arch/arm/mach-exynos4/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-exynos4/mach-smdkv310.c | 18 |
2 files changed, 20 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos4/Kconfig index 13fc721f8e9b..980ffd6ccc4e 100644 --- a/arch/arm/mach-exynos4/Kconfig +++ b/arch/arm/mach-exynos4/Kconfig @@ -139,7 +139,9 @@ config MACH_SMDKV310 select S3C_DEV_RTC select S3C_DEV_WDT select S3C_DEV_I2C1 + select S5P_DEV_I2C_HDMIPHY select S5P_DEV_MFC + select S5P_DEV_TV select S3C_DEV_HSMMC select S3C_DEV_HSMMC1 select S3C_DEV_HSMMC2 diff --git a/arch/arm/mach-exynos4/mach-smdkv310.c b/arch/arm/mach-exynos4/mach-smdkv310.c index 5f62b2b3310d..5ba432e21e27 100644 --- a/arch/arm/mach-exynos4/mach-smdkv310.c +++ b/arch/arm/mach-exynos4/mach-smdkv310.c @@ -173,6 +173,7 @@ static struct platform_device *smdkv310_devices[] __initdata = { &s3c_device_hsmmc2, &s3c_device_hsmmc3, &s3c_device_i2c1, + &s5p_device_i2c_hdmiphy, &s3c_device_rtc, &s3c_device_wdt, &exynos4_device_ac97, @@ -194,6 +195,8 @@ static struct platform_device *smdkv310_devices[] __initdata = { &samsung_asoc_idma, &smdkv310_smsc911x, &exynos4_device_ahci, + &s5p_device_hdmi, + &s5p_device_mixer, }; static void __init smdkv310_smsc911x_init(void) @@ -230,6 +233,18 @@ static struct platform_pwm_backlight_data smdkv310_bl_data = { .pwm_period_ns = 1000, }; +static void s5p_tv_setup(void) +{ + /* direct HPD to HDMI chip */ + WARN_ON(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); + + /* setup dependencies between TV devices */ + s5p_device_hdmi.dev.parent = &exynos4_device_pd[PD_TV].dev; + s5p_device_mixer.dev.parent = &exynos4_device_pd[PD_TV].dev; +} + static void __init smdkv310_map_io(void) { s5p_init_io(NULL, 0, S5P_VA_CHIPID); @@ -254,6 +269,9 @@ static void __init smdkv310_machine_init(void) s3c_sdhci2_set_platdata(&smdkv310_hsmmc2_pdata); s3c_sdhci3_set_platdata(&smdkv310_hsmmc3_pdata); + s5p_tv_setup(); + s5p_i2c_hdmiphy_set_platdata(NULL); + samsung_keypad_set_platdata(&smdkv310_keypad_data); samsung_bl_set(&smdkv310_bl_gpio_info, &smdkv310_bl_data); |