aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-exynos4/mach-smdkv310.c
diff options
context:
space:
mode:
authorHatim Ali <hatim.rv@samsung.com>2011-09-26 18:37:18 -0400
committerKukjin Kim <kgene.kim@samsung.com>2011-10-04 06:00:32 -0400
commitc0735c85d1b9e2a1954deb3b3c8d5061f70464e5 (patch)
tree2671e710fc55161757c4e57a71abef731220cac4 /arch/arm/mach-exynos4/mach-smdkv310.c
parent2ca95769350348e5e3765f604b2ff51e73557bcd (diff)
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/mach-smdkv310.c')
-rw-r--r--arch/arm/mach-exynos4/mach-smdkv310.c18
1 files changed, 18 insertions, 0 deletions
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 = {
173 &s3c_device_hsmmc2, 173 &s3c_device_hsmmc2,
174 &s3c_device_hsmmc3, 174 &s3c_device_hsmmc3,
175 &s3c_device_i2c1, 175 &s3c_device_i2c1,
176 &s5p_device_i2c_hdmiphy,
176 &s3c_device_rtc, 177 &s3c_device_rtc,
177 &s3c_device_wdt, 178 &s3c_device_wdt,
178 &exynos4_device_ac97, 179 &exynos4_device_ac97,
@@ -194,6 +195,8 @@ static struct platform_device *smdkv310_devices[] __initdata = {
194 &samsung_asoc_idma, 195 &samsung_asoc_idma,
195 &smdkv310_smsc911x, 196 &smdkv310_smsc911x,
196 &exynos4_device_ahci, 197 &exynos4_device_ahci,
198 &s5p_device_hdmi,
199 &s5p_device_mixer,
197}; 200};
198 201
199static void __init smdkv310_smsc911x_init(void) 202static void __init smdkv310_smsc911x_init(void)
@@ -230,6 +233,18 @@ static struct platform_pwm_backlight_data smdkv310_bl_data = {
230 .pwm_period_ns = 1000, 233 .pwm_period_ns = 1000,
231}; 234};
232 235
236static void s5p_tv_setup(void)
237{
238 /* direct HPD to HDMI chip */
239 WARN_ON(gpio_request_one(EXYNOS4_GPX3(7), GPIOF_IN, "hpd-plug"));
240 s3c_gpio_cfgpin(EXYNOS4_GPX3(7), S3C_GPIO_SFN(0x3));
241 s3c_gpio_setpull(EXYNOS4_GPX3(7), S3C_GPIO_PULL_NONE);
242
243 /* setup dependencies between TV devices */
244 s5p_device_hdmi.dev.parent = &exynos4_device_pd[PD_TV].dev;
245 s5p_device_mixer.dev.parent = &exynos4_device_pd[PD_TV].dev;
246}
247
233static void __init smdkv310_map_io(void) 248static void __init smdkv310_map_io(void)
234{ 249{
235 s5p_init_io(NULL, 0, S5P_VA_CHIPID); 250 s5p_init_io(NULL, 0, S5P_VA_CHIPID);
@@ -254,6 +269,9 @@ static void __init smdkv310_machine_init(void)
254 s3c_sdhci2_set_platdata(&smdkv310_hsmmc2_pdata); 269 s3c_sdhci2_set_platdata(&smdkv310_hsmmc2_pdata);
255 s3c_sdhci3_set_platdata(&smdkv310_hsmmc3_pdata); 270 s3c_sdhci3_set_platdata(&smdkv310_hsmmc3_pdata);
256 271
272 s5p_tv_setup();
273 s5p_i2c_hdmiphy_set_platdata(NULL);
274
257 samsung_keypad_set_platdata(&smdkv310_keypad_data); 275 samsung_keypad_set_platdata(&smdkv310_keypad_data);
258 276
259 samsung_bl_set(&smdkv310_bl_gpio_info, &smdkv310_bl_data); 277 samsung_bl_set(&smdkv310_bl_gpio_info, &smdkv310_bl_data);