diff options
author | Ricardo Salveti de Araujo <ricardo.salveti@linaro.org> | 2011-09-23 13:31:27 -0400 |
---|---|---|
committer | Paolo Pisati <paolo.pisati@canonical.com> | 2012-08-17 04:19:24 -0400 |
commit | cc4a0ce0e260f9dc4ada43f3720b87ab77604365 (patch) | |
tree | 632a20e69354aa0f920dc6271439c6811aa48409 /arch/arm | |
parent | e60eaf5b766a5cca8e42ba309363767e049d9838 (diff) |
OMAP4460: HDMI: Disable HDMI DDC internal pull up resistor
Disables the internal pull resistor for SDA and SCL enabled by
default as there are expernal pull up's to avoid the EDID read failure.
Patch done mainly by Mythri P K <mythripk@ti.com>
Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-omap2/board-omap4panda.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c index 097b0d3a354..ecb59588e47 100644 --- a/arch/arm/mach-omap2/board-omap4panda.c +++ b/arch/arm/mach-omap2/board-omap4panda.c | |||
@@ -565,12 +565,33 @@ int __init omap4_panda_dvi_init(void) | |||
565 | 565 | ||
566 | static void omap4_panda_hdmi_mux_init(void) | 566 | static void omap4_panda_hdmi_mux_init(void) |
567 | { | 567 | { |
568 | u32 reg; | ||
569 | u16 control_i2c_1; | ||
570 | |||
571 | /* PAD0_HDMI_HPD_PAD1_HDMI_CEC */ | ||
572 | omap_mux_init_signal("hdmi_hpd", | ||
573 | OMAP_PIN_INPUT_PULLUP); | ||
568 | omap_mux_init_signal("hdmi_cec", | 574 | omap_mux_init_signal("hdmi_cec", |
569 | OMAP_PIN_INPUT_PULLUP); | 575 | OMAP_PIN_INPUT_PULLUP); |
570 | omap_mux_init_signal("hdmi_ddc_scl", | 576 | omap_mux_init_signal("hdmi_ddc_scl", |
571 | OMAP_PIN_INPUT_PULLUP); | 577 | OMAP_PIN_INPUT_PULLUP); |
572 | omap_mux_init_signal("hdmi_ddc_sda", | 578 | omap_mux_init_signal("hdmi_ddc_sda", |
573 | OMAP_PIN_INPUT_PULLUP); | 579 | OMAP_PIN_INPUT_PULLUP); |
580 | |||
581 | /* | ||
582 | * CONTROL_I2C_1: HDMI_DDC_SDA_PULLUPRESX (bit 28) and | ||
583 | * HDMI_DDC_SCL_PULLUPRESX (bit 24) are set to disable | ||
584 | * internal pull up resistor - This is a change needed in | ||
585 | * OMAP4460 and OMAP4430 ES2.3 as the external pull up | ||
586 | * are present. This is needed to avoid EDID read failure. | ||
587 | */ | ||
588 | if (cpu_is_omap446x() || (omap_rev() > OMAP4430_REV_ES2_2)) { | ||
589 | control_i2c_1 = OMAP4_CTRL_MODULE_PAD_CORE_CONTROL_I2C_1; | ||
590 | reg = omap4_ctrl_pad_readl(control_i2c_1); | ||
591 | reg |= (OMAP4_HDMI_DDC_SDA_PULLUPRESX_MASK | | ||
592 | OMAP4_HDMI_DDC_SCL_PULLUPRESX_MASK); | ||
593 | omap4_ctrl_pad_writel(reg, control_i2c_1); | ||
594 | } | ||
574 | } | 595 | } |
575 | 596 | ||
576 | static struct gpio panda_hdmi_gpios[] = { | 597 | static struct gpio panda_hdmi_gpios[] = { |