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>
This commit is contained in:
Hatim Ali 2011-09-27 07:37:18 +09:00 committed by Kukjin Kim
parent 2ca9576935
commit c0735c85d1
2 changed files with 20 additions and 0 deletions

View File

@ -139,7 +139,9 @@ config MACH_SMDKV310
select S3C_DEV_RTC select S3C_DEV_RTC
select S3C_DEV_WDT select S3C_DEV_WDT
select S3C_DEV_I2C1 select S3C_DEV_I2C1
select S5P_DEV_I2C_HDMIPHY
select S5P_DEV_MFC select S5P_DEV_MFC
select S5P_DEV_TV
select S3C_DEV_HSMMC select S3C_DEV_HSMMC
select S3C_DEV_HSMMC1 select S3C_DEV_HSMMC1
select S3C_DEV_HSMMC2 select S3C_DEV_HSMMC2

View File

@ -173,6 +173,7 @@ static struct platform_device *smdkv310_devices[] __initdata = {
&s3c_device_hsmmc2, &s3c_device_hsmmc2,
&s3c_device_hsmmc3, &s3c_device_hsmmc3,
&s3c_device_i2c1, &s3c_device_i2c1,
&s5p_device_i2c_hdmiphy,
&s3c_device_rtc, &s3c_device_rtc,
&s3c_device_wdt, &s3c_device_wdt,
&exynos4_device_ac97, &exynos4_device_ac97,
@ -194,6 +195,8 @@ static struct platform_device *smdkv310_devices[] __initdata = {
&samsung_asoc_idma, &samsung_asoc_idma,
&smdkv310_smsc911x, &smdkv310_smsc911x,
&exynos4_device_ahci, &exynos4_device_ahci,
&s5p_device_hdmi,
&s5p_device_mixer,
}; };
static void __init smdkv310_smsc911x_init(void) static void __init smdkv310_smsc911x_init(void)
@ -230,6 +233,18 @@ static struct platform_pwm_backlight_data smdkv310_bl_data = {
.pwm_period_ns = 1000, .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) static void __init smdkv310_map_io(void)
{ {
s5p_init_io(NULL, 0, S5P_VA_CHIPID); 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_sdhci2_set_platdata(&smdkv310_hsmmc2_pdata);
s3c_sdhci3_set_platdata(&smdkv310_hsmmc3_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_keypad_set_platdata(&smdkv310_keypad_data);
samsung_bl_set(&smdkv310_bl_gpio_info, &smdkv310_bl_data); samsung_bl_set(&smdkv310_bl_gpio_info, &smdkv310_bl_data);