summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-mx5/mx53_loco.c28
1 files changed, 20 insertions, 8 deletions
diff --git a/arch/arm/mach-mx5/mx53_loco.c b/arch/arm/mach-mx5/mx53_loco.c
index 301ea1b464a5..c8417dad4c70 100644
--- a/arch/arm/mach-mx5/mx53_loco.c
+++ b/arch/arm/mach-mx5/mx53_loco.c
@@ -484,9 +484,27 @@ static void sii902x_hdmi_reset(void)
msleep(10);
}
+static int sii902x_get_pins(void)
+{
+ /* Sii902x HDMI controller */
+ gpio_request(DISP0_RESET, "disp0-reset");
+ gpio_direction_output(DISP0_RESET, 0);
+ gpio_request(DISP0_DET_INT, "disp0-detect");
+ gpio_direction_input(DISP0_DET_INT);
+ return 1;
+}
+
+static void sii902x_put_pins(void)
+{
+ gpio_free(DISP0_RESET);
+ gpio_free(DISP0_DET_INT);
+}
+
static struct mxc_lcd_platform_data sii902x_hdmi_data = {
- .reset = sii902x_hdmi_reset,
- .fb_id = "DISP3 BG",
+ .reset = sii902x_hdmi_reset,
+ .fb_id = "DISP3 BG",
+ .get_pins = sii902x_get_pins,
+ .put_pins = sii902x_put_pins,
};
static struct imxi2c_platform_data mxci2c_data = {
@@ -843,12 +861,6 @@ static void __init mx53_loco_io_init(void)
gpio_request(USB_PWREN, "usb-pwr");
gpio_direction_output(USB_PWREN, 0);
- /* Sii902x HDMI controller */
- gpio_request(DISP0_RESET, "disp0-reset");
- gpio_direction_output(DISP0_RESET, 0);
- gpio_request(DISP0_DET_INT, "disp0-detect");
- gpio_direction_input(DISP0_DET_INT);
-
/* LCD panel power enable */
gpio_request(DISP0_POWER_EN, "disp0-power-en");
gpio_direction_output(DISP0_POWER_EN, 1);