Hi,
On Fri, Nov 18, 2011 at 1:00 PM, Tomi Valkeinen <[email protected]> wrote:
> On Tue, 2011-11-15 at 19:20 +0530, [email protected] wrote:
>> From: Mythri P K <[email protected]>
>>
>> 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 <[email protected]>
>> Signed-off-by: Mythri P K <[email protected]>
>> ---
>> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html