Re: [PATCH v3 2/2] OMAPDSS: HDMI: Disable DDC internal pull up

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Fri, Nov 18, 2011 at 1:00 PM, Tomi Valkeinen <tomi.valkeinen@xxxxxx> wrote:
> On Tue, 2011-11-15 at 19:20 +0530, mythripk@xxxxxx wrote:
>> From: Mythri P K <mythripk@xxxxxx>
>>
>> Disables the internal pull resistor for SDA and SCL which are enabled by
>> default, as there are expernal pull up's in 4460 and 4430 ES2.3
>> SDP, Blaze and Panda Boards, It is done to avoid the EDID read failure.
>>
>> Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@xxxxxxxxxx>
>> Signed-off-by: Mythri P K <mythripk@xxxxxx>
>> ---
>>  arch/arm/mach-omap2/board-4430sdp.c    |   13 ++++++++++++-
>>  arch/arm/mach-omap2/board-omap4panda.c |   14 +++++++++++++-
>>  arch/arm/mach-omap2/display.c          |   17 ++++++++++++++---
>>  include/video/omapdss.h                |    4 +++-
>>  4 files changed, 42 insertions(+), 6 deletions(-)
>>
>> diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
>> index c3bd640..d0a82f9 100644
>> --- a/arch/arm/mach-omap2/board-4430sdp.c
>> +++ b/arch/arm/mach-omap2/board-4430sdp.c
>> @@ -826,7 +826,18 @@ static void omap_4430sdp_display_init(void)
>>       sdp4430_lcd_init();
>>       sdp4430_picodlp_init();
>>       omap_display_init(&sdp4430_dss_data);
>> -     omap_hdmi_init();
>> +     /*
>> +      * CONTROL_I2C_1: HDMI_DDC_SDA_PULLUPRESX (bit 28) and
>> +      * HDMI_DDC_SCL_PULLUPRESX (bit 24) are set to disable
>> +      * internal pull up resistor - This is a change needed in
>> +      * OMAP4460 and OMAP4430 ES2.3 SDP, Blaze and Panda as the
>> +      * external pull up are present. This is needed to avoid
>> +      * EDID read failure.
>> +      */
>
> I don't think this comment makes sense here. The register and bit
> details are not seen here, they are handled in the display.c.
>
> Also, the comment is still speaking of OMAP versions. This is about
> board revisions. And this is SDP board file, no need to talk about
> Panda.
>
> So the text should be something like "44xxSDP rev XYZ and later have
> external HDMI I2C line pull up. We detect the board revision with the
> OMAP revision."
I shall update the comment and re-post.
>
>> +     if (cpu_is_omap446x() || (omap_rev() > OMAP4430_REV_ES2_2))
>
> If you compare omap_rev() you should also use cpu_is_omap at the same
> time. In this case (cpu_is_omap443x() && omap_rev() >
> OMAP4430_REV_ES2_2). Otherwise the omap_rev check could match, say,
> omap3 or omap5 boards.
Hmmm I am not really sure if that is needed, I dont think omap3 or
omap5 boards would be named with rev "OMAP4430"_REV_ES2_2 ???

Thanks and regards,
Mythri.
>
>> +             omap_hdmi_init(OMAP_HDMI_EXTERNAL_PULLUP);
>> +     else
>> +             omap_hdmi_init(0);
>>  }
>>
>>  #ifdef CONFIG_OMAP_MUX
>> diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
>> index d95df2e..44ff8e0 100644
>> --- a/arch/arm/mach-omap2/board-omap4panda.c
>> +++ b/arch/arm/mach-omap2/board-omap4panda.c
>> @@ -541,7 +541,19 @@ void omap4_panda_display_init(void)
>>               pr_err("error initializing panda DVI\n");
>>
>>       omap_display_init(&omap4_panda_dss_data);
>> -     omap_hdmi_init();
>> +
>> +     /*
>> +      * CONTROL_I2C_1: HDMI_DDC_SDA_PULLUPRESX (bit 28) and
>> +      * HDMI_DDC_SCL_PULLUPRESX (bit 24) are set to disable
>> +      * internal pull up resistor - This is a change needed in
>> +      * OMAP4460 and OMAP4430 ES2.3 SDP, Blaze and Panda as the
>> +      * external pull up are present. This is needed to avoid
>> +      * EDID read failure.
>> +      */
>> +     if (cpu_is_omap446x() || (omap_rev() > OMAP4430_REV_ES2_2))
>> +             omap_hdmi_init(OMAP_HDMI_EXTERNAL_PULLUP);
>> +     else
>> +             omap_hdmi_init(0);
>>  }
>>
>>  static void __init omap4_panda_init(void)
>> diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
>> index 8436088..a75e179 100644
>> --- a/arch/arm/mach-omap2/display.c
>> +++ b/arch/arm/mach-omap2/display.c
>> @@ -97,8 +97,11 @@ static const struct omap_dss_hwmod_data omap4_dss_hwmod_data[] __initdata = {
>>       { "dss_hdmi", "omapdss_hdmi", -1 },
>>  };
>>
>> -static void omap4_hdmi_mux_pads()
>> +static void omap4_hdmi_mux_pads(int flags)
>>  {
>> +     u32 reg;
>> +     u16 control_i2c_1;
>> +
>>       /* PAD0_HDMI_HPD_PAD1_HDMI_CEC */
>>       omap_mux_init_signal("hdmi_hpd",
>>                       OMAP_PIN_INPUT_PULLUP);
>> @@ -109,6 +112,14 @@ static void omap4_hdmi_mux_pads()
>>                       OMAP_PIN_INPUT_PULLUP);
>>       omap_mux_init_signal("hdmi_ddc_sda",
>>                       OMAP_PIN_INPUT_PULLUP);
>> +
>> +     if (flags & OMAP_HDMI_EXTERNAL_PULLUP) {
>> +             control_i2c_1 = OMAP4_CTRL_MODULE_PAD_CORE_CONTROL_I2C_1;
>> +             reg = omap4_ctrl_pad_readl(control_i2c_1);
>> +             reg |= (OMAP4_HDMI_DDC_SDA_PULLUPRESX_MASK |
>> +             OMAP4_HDMI_DDC_SCL_PULLUPRESX_MASK);
>
> Indent is wrong here, and the parenthesis are extra.
>
>  Tomi
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux