aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/display.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/display.c')
-rw-r--r--arch/arm/mach-omap2/display.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
index 8436088ffe13..ffd9bd983023 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 = {
97 { "dss_hdmi", "omapdss_hdmi", -1 }, 97 { "dss_hdmi", "omapdss_hdmi", -1 },
98}; 98};
99 99
100static void omap4_hdmi_mux_pads() 100static void omap4_hdmi_mux_pads(enum omap_hdmi_flags flags)
101{ 101{
102 u32 reg;
103 u16 control_i2c_1;
104
102 /* PAD0_HDMI_HPD_PAD1_HDMI_CEC */ 105 /* PAD0_HDMI_HPD_PAD1_HDMI_CEC */
103 omap_mux_init_signal("hdmi_hpd", 106 omap_mux_init_signal("hdmi_hpd",
104 OMAP_PIN_INPUT_PULLUP); 107 OMAP_PIN_INPUT_PULLUP);
@@ -109,6 +112,19 @@ static void omap4_hdmi_mux_pads()
109 OMAP_PIN_INPUT_PULLUP); 112 OMAP_PIN_INPUT_PULLUP);
110 omap_mux_init_signal("hdmi_ddc_sda", 113 omap_mux_init_signal("hdmi_ddc_sda",
111 OMAP_PIN_INPUT_PULLUP); 114 OMAP_PIN_INPUT_PULLUP);
115
116 /*
117 * CONTROL_I2C_1: HDMI_DDC_SDA_PULLUPRESX (bit 28) and
118 * HDMI_DDC_SCL_PULLUPRESX (bit 24) are set to disable
119 * internal pull up resistor.
120 */
121 if (flags & OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP) {
122 control_i2c_1 = OMAP4_CTRL_MODULE_PAD_CORE_CONTROL_I2C_1;
123 reg = omap4_ctrl_pad_readl(control_i2c_1);
124 reg |= (OMAP4_HDMI_DDC_SDA_PULLUPRESX_MASK |
125 OMAP4_HDMI_DDC_SCL_PULLUPRESX_MASK);
126 omap4_ctrl_pad_writel(reg, control_i2c_1);
127 }
112} 128}
113 129
114static int omap4_dsi_mux_pads(int dsi_id, unsigned lanes) 130static int omap4_dsi_mux_pads(int dsi_id, unsigned lanes)
@@ -144,10 +160,10 @@ static int omap4_dsi_mux_pads(int dsi_id, unsigned lanes)
144 return 0; 160 return 0;
145} 161}
146 162
147int omap_hdmi_init(void) 163int omap_hdmi_init(enum omap_hdmi_flags flags)
148{ 164{
149 if (cpu_is_omap44xx()) 165 if (cpu_is_omap44xx())
150 omap4_hdmi_mux_pads(); 166 omap4_hdmi_mux_pads(flags);
151 167
152 return 0; 168 return 0;
153} 169}