summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Green <andy.green@linaro.org>2012-09-18 15:30:24 +0800
committerXavier Boudet <x-boudet@ti.com>2012-09-28 10:00:38 +0200
commit604ecae9e185f8504a653262860e413256e0b940 (patch)
treec659d1ab35b23213d516597f209b9560f2a0c11c
parent9ecc38322fe29e3b0e1e3ea6479b21160688b240 (diff)
omap4 panda dss fix DVI MSEN gpio
Signed-off-by: Andy Green <andy.green@linaro.org>
-rw-r--r--arch/arm/mach-omap2/board-omap4panda.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index 21fe09bc30e8..b0b55b90c8e2 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -67,6 +67,10 @@
#define HDMI_GPIO_LS_OE 41 /* Level shifter for HDMI */
#define HDMI_GPIO_HPD 63 /* Hotplug detect */
#define TPS62361_GPIO 7
+#define DVI_GPIO_MSEN 122
+
+/* Display DVI */
+#define PANDA_DVI_TFP410_POWER_DOWN_GPIO 0
static int
panda_kim_suspend(struct platform_device *pdev, pm_message_t msg)
@@ -506,7 +510,9 @@ static struct omap_board_mux board_mux[] __initdata = {
OMAP4_MUX(SDMMC5_DAT2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
OMAP4_MUX(SDMMC5_DAT3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
/* gpio 0 - TFP410 PD */
- OMAP4_MUX(KPD_COL1, OMAP_PIN_OUTPUT | OMAP_MUX_MODE3),
+ OMAP4_MUX(KPD_COL1, OMAP_PIN_OUTPUT | OMAP_MUX_MODE3 | OMAP_PIN_OFF_OUTPUT_LOW),
+ /* GPIO 122 - TFP410 MSEN input */
+ OMAP4_MUX(ABE_DMIC_DIN3, OMAP_PIN_INPUT | OMAP_MUX_MODE3 | OMAP_PIN_OFF_INPUT_PULLDOWN),
/* dispc2_data23 */
OMAP4_MUX(USBB2_ULPITLL_STP, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
/* dispc2_data22 */
@@ -576,8 +582,6 @@ static struct omap_board_mux board_mux[] __initdata = {
#define board_mux NULL
#endif
-/* Display DVI */
-#define PANDA_DVI_TFP410_POWER_DOWN_GPIO 0
/* Using generic display panel */
static struct tfp410_platform_data omap4_dvi_panel = {
@@ -598,6 +602,9 @@ struct omap_dss_device omap4_panda_dvi_device = {
.clocks.dispc.dispc_fclk_src = OMAP_DSS_CLK_SRC_DSI2_PLL_HSDIV_DISPC,
};
+static struct gpio panda_dvi_gpios_phy[] = {
+ { DVI_GPIO_MSEN, GPIOF_DIR_IN, "dvi_msen" },
+};
static struct gpio panda_hdmi_gpios_phy[] = {
{ HDMI_GPIO_LS_OE, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ls_oe" },
@@ -663,6 +670,11 @@ static const char * const panda_fixup_mac_device_paths[] = {
void __init omap4_panda_display_init(void)
{
+ int status;
+
+ status = gpio_request_array(panda_dvi_gpios_phy,
+ ARRAY_SIZE(panda_dvi_gpios_phy));
+
gpio_request_array(panda_hdmi_gpios_hpd, ARRAY_SIZE(panda_hdmi_gpios_hpd));
omap_display_init(&omap4_panda_dss_data);