diff options
Diffstat (limited to 'arch/arm/mach-omap2/display.c')
-rw-r--r-- | arch/arm/mach-omap2/display.c | 22 |
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 | ||
100 | static void omap4_hdmi_mux_pads() | 100 | static 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 | ||
114 | static int omap4_dsi_mux_pads(int dsi_id, unsigned lanes) | 130 | static 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 | ||
147 | int omap_hdmi_init(void) | 163 | int 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 | } |