[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