[PATCH V2 1/3] ARM: EXYNOS4: Add TVOUT support for SMDKV310
Hatim R.V.
hatim.rv at gmail.com
Wed Sep 21 09:46:41 EDT 2011
Hello Tomasz Stanislawski,
On Wed, Sep 21, 2011 at 6:14 PM, Tomasz Stanislawski
<t.stanislaws at samsung.com> wrote:
> On 09/21/2011 02:06 PM, Kukjin Kim wrote:
>>
>> Hatim Ali wrote:
>>>
>>> Add support for TVOUT on SMDKV310 board.
>>>
>>> Signed-off-by: Hatim Ali<hatim.rv at samsung.com>
>>> ---
>>> 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/Kconfig
>>> b/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_FIMD0
>>> diff --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_data
>>> smdkv310_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.
>>>
>>> + 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...?
>>
>>> + } else
>>> + pr_err("Failed to request gpio for hpd: %d\n", ret);
>>
>> According to coding style, should be added { and } around above.
>>
>>> +
>>> + /* 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.3
>>
>> Thanks.
>>
>> Best regards,
>> Kgene.
>> --
>> Kukjin Kim<kgene.kim at samsung.com>, 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
>
More information about the linux-arm-kernel
mailing list