[PATCH V2 1/3] ARM: EXYNOS4: Add TVOUT support for SMDKV310
From: Hatim R.V. <hidden>
Date: 2011-09-21 13:46:41
Also in:
linux-samsung-soc
Hello Tomasz Stanislawski, On Wed, Sep 21, 2011 at 6:14 PM, Tomasz Stanislawski [off-list ref] wrote:
On 09/21/2011 02:06 PM, Kukjin Kim wrote:quoted
Hatim Ali wrote:quoted
Add support for TVOUT on SMDKV310 board. Signed-off-by: Hatim Ali<redacted> --- Changes since V1: Incorporated changes as suggested by Tomasz Stanislawski - Added ?GPIO settings for hot-plug detection. - Added setting hdmi and mixer's parent for TV power domain. ?arch/arm/mach-exynos4/Kconfig ? ? ? ? | ? ?2 ++ ?arch/arm/mach-exynos4/mach-smdkv310.c | ? 25 +++++++++++++++++++++++++ ?2 files changed, 27 insertions(+), 0 deletions(-)diff --git a/arch/arm/mach-exynos4/Kconfigb/arch/arm/mach-exynos4/Kconfig index 3b594fe..0bf0fe04 100644--- a/arch/arm/mach-exynos4/Kconfig +++ b/arch/arm/mach-exynos4/Kconfig@@ -131,6 +131,7 @@ 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 S3C_DEV_HSMMC ? ? ? ?select S3C_DEV_HSMMC1@@ -140,6 +141,7 @@ config MACH_SMDKV310? ? ? ?select EXYNOS4_DEV_AHCI ? ? ? ?select SAMSUNG_DEV_KEYPAD ? ? ? ?select EXYNOS4_DEV_PD + ? ? ? select S5P_DEV_TV ? ? ? ?select SAMSUNG_DEV_PWM ? ? ? ?select EXYNOS4_DEV_SYSMMU ? ? ? ?select EXYNOS4_SETUP_FIMD0diff --git a/arch/arm/mach-exynos4/mach-smdkv310.c b/arch/arm/mach-exynos4/mach-smdkv310.c index 7ce4d8b..50de270 100644--- a/arch/arm/mach-exynos4/mach-smdkv310.c +++ b/arch/arm/mach-exynos4/mach-smdkv310.c@@ -239,6 +239,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,@@ -262,6 +263,8 @@ static struct platform_device *smdkv310_devices[]__initdata = { ? ? ? ?&smdkv310_lcd_lte480wv, ? ? ? ?&smdkv310_smsc911x, ? ? ? ?&exynos4_device_ahci, + ? ? ? &s5p_device_hdmi, + ? ? ? &s5p_device_mixer, ?}; ?static void __init smdkv310_smsc911x_init(void)@@ -298,6 +301,25 @@ static struct platform_pwm_backlight_datasmdkv310_bl_data = { ? ? ? ?.pwm_period_ns ?= 1000, ?}; +static void s5p_tv_setup(void) +{ + ? ? ? int ret; + + ? ? ? /* direct HPD to HDMI chip */ + ? ? ? ret = gpio_request(EXYNOS4_GPX3(7), "hpd-plug"); + + ? ? ? if (!ret) {Maybe we should generate WARN_ON(1) here. Failure of gpio request indicate that board was configued not correctly.
Ok. will add this in my next patch.
quoted
quoted
+ ? ? ? ? ? ? ? gpio_direction_input(EXYNOS4_GPX3(7)); + ? ? ? ? ? ? ? s3c_gpio_cfgpin_range(EXYNOS4_GPX3(7), + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1, S3C_GPIO_SFN(3));Why do you use 's3c_gpio_cfgpin_range()' for just one gpio pin not range...?quoted
+ ? ? ? } else + ? ? ? ? ? ? ? pr_err("Failed to request gpio for hpd: %d\n", ret);According to coding style, should be added { and } around above.quoted
+ + ? ? ? /* 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);@@ -327,6 +349,9 @@ static void __init smdkv310_machine_init(void)? ? ? ?samsung_bl_set(&smdkv310_bl_gpio_info,&smdkv310_bl_data); ? ? ? ?s5p_fimd0_set_platdata(&smdkv310_lcd0_pdata); + ? ? ? s5p_tv_setup(); + ? ? ? s5p_i2c_hdmiphy_set_platdata(NULL); + ? ? ? ?platform_add_devices(smdkv310_devices, ARRAY_SIZE(smdkv310_devices)); ? ? ? ?s5p_device_mfc.dev.parent =&exynos4_device_pd[PD_MFC].dev; ?} -- 1.7.2.3Thanks. Best regards, Kgene. -- Kukjin Kim[off-list ref], Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd.-- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo at vger.kernel.org More majordomo info at ?http://vger.kernel.org/majordomo-info.html