diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-omap2/board-4430sdp.c | 18 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-omap4panda.c | 18 | ||||
-rw-r--r-- | arch/arm/mach-omap2/display.c | 4 |
3 files changed, 28 insertions, 12 deletions
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index e1fe304ce361..0ce758edaad2 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c | |||
@@ -52,8 +52,9 @@ | |||
52 | #define ETH_KS8851_QUART 138 | 52 | #define ETH_KS8851_QUART 138 |
53 | #define OMAP4_SFH7741_SENSOR_OUTPUT_GPIO 184 | 53 | #define OMAP4_SFH7741_SENSOR_OUTPUT_GPIO 184 |
54 | #define OMAP4_SFH7741_ENABLE_GPIO 188 | 54 | #define OMAP4_SFH7741_ENABLE_GPIO 188 |
55 | #define HDMI_GPIO_HPD 60 /* Hot plug pin for HDMI */ | 55 | #define HDMI_GPIO_CT_CP_HPD 60 /* HPD mode enable/disable */ |
56 | #define HDMI_GPIO_LS_OE 41 /* Level shifter for HDMI */ | 56 | #define HDMI_GPIO_LS_OE 41 /* Level shifter for HDMI */ |
57 | #define HDMI_GPIO_HPD 63 /* Hotplug detect */ | ||
57 | #define DISPLAY_SEL_GPIO 59 /* LCD2/PicoDLP switch */ | 58 | #define DISPLAY_SEL_GPIO 59 /* LCD2/PicoDLP switch */ |
58 | #define DLP_POWER_ON_GPIO 40 | 59 | #define DLP_POWER_ON_GPIO 40 |
59 | 60 | ||
@@ -596,8 +597,9 @@ static void __init omap_sfh7741prox_init(void) | |||
596 | } | 597 | } |
597 | 598 | ||
598 | static struct gpio sdp4430_hdmi_gpios[] = { | 599 | static struct gpio sdp4430_hdmi_gpios[] = { |
599 | { HDMI_GPIO_HPD, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_hpd" }, | 600 | { HDMI_GPIO_CT_CP_HPD, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ct_cp_hpd" }, |
600 | { HDMI_GPIO_LS_OE, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ls_oe" }, | 601 | { HDMI_GPIO_LS_OE, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ls_oe" }, |
602 | { HDMI_GPIO_HPD, GPIOF_DIR_IN, "hdmi_gpio_hpd" }, | ||
601 | }; | 603 | }; |
602 | 604 | ||
603 | static int sdp4430_panel_enable_hdmi(struct omap_dss_device *dssdev) | 605 | static int sdp4430_panel_enable_hdmi(struct omap_dss_device *dssdev) |
@@ -614,8 +616,7 @@ static int sdp4430_panel_enable_hdmi(struct omap_dss_device *dssdev) | |||
614 | 616 | ||
615 | static void sdp4430_panel_disable_hdmi(struct omap_dss_device *dssdev) | 617 | static void sdp4430_panel_disable_hdmi(struct omap_dss_device *dssdev) |
616 | { | 618 | { |
617 | gpio_free(HDMI_GPIO_LS_OE); | 619 | gpio_free_array(sdp4430_hdmi_gpios, ARRAY_SIZE(sdp4430_hdmi_gpios)); |
618 | gpio_free(HDMI_GPIO_HPD); | ||
619 | } | 620 | } |
620 | 621 | ||
621 | static struct nokia_dsi_panel_data dsi1_panel = { | 622 | static struct nokia_dsi_panel_data dsi1_panel = { |
@@ -731,6 +732,10 @@ static void sdp4430_lcd_init(void) | |||
731 | pr_err("%s: Could not get lcd2_reset_gpio\n", __func__); | 732 | pr_err("%s: Could not get lcd2_reset_gpio\n", __func__); |
732 | } | 733 | } |
733 | 734 | ||
735 | static struct omap_dss_hdmi_data sdp4430_hdmi_data = { | ||
736 | .hpd_gpio = HDMI_GPIO_HPD, | ||
737 | }; | ||
738 | |||
734 | static struct omap_dss_device sdp4430_hdmi_device = { | 739 | static struct omap_dss_device sdp4430_hdmi_device = { |
735 | .name = "hdmi", | 740 | .name = "hdmi", |
736 | .driver_name = "hdmi_panel", | 741 | .driver_name = "hdmi_panel", |
@@ -738,6 +743,7 @@ static struct omap_dss_device sdp4430_hdmi_device = { | |||
738 | .platform_enable = sdp4430_panel_enable_hdmi, | 743 | .platform_enable = sdp4430_panel_enable_hdmi, |
739 | .platform_disable = sdp4430_panel_disable_hdmi, | 744 | .platform_disable = sdp4430_panel_disable_hdmi, |
740 | .channel = OMAP_DSS_CHANNEL_DIGIT, | 745 | .channel = OMAP_DSS_CHANNEL_DIGIT, |
746 | .data = &sdp4430_hdmi_data, | ||
741 | }; | 747 | }; |
742 | 748 | ||
743 | static struct picodlp_panel_data sdp4430_picodlp_pdata = { | 749 | static struct picodlp_panel_data sdp4430_picodlp_pdata = { |
@@ -822,6 +828,10 @@ static void omap_4430sdp_display_init(void) | |||
822 | omap_hdmi_init(OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP); | 828 | omap_hdmi_init(OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP); |
823 | else | 829 | else |
824 | omap_hdmi_init(0); | 830 | omap_hdmi_init(0); |
831 | |||
832 | omap_mux_init_gpio(HDMI_GPIO_LS_OE, OMAP_PIN_OUTPUT); | ||
833 | omap_mux_init_gpio(HDMI_GPIO_CT_CP_HPD, OMAP_PIN_OUTPUT); | ||
834 | omap_mux_init_gpio(HDMI_GPIO_HPD, OMAP_PIN_INPUT_PULLDOWN); | ||
825 | } | 835 | } |
826 | 836 | ||
827 | #ifdef CONFIG_OMAP_MUX | 837 | #ifdef CONFIG_OMAP_MUX |
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c index 3e1c507fb01f..370c4b428888 100644 --- a/arch/arm/mach-omap2/board-omap4panda.c +++ b/arch/arm/mach-omap2/board-omap4panda.c | |||
@@ -51,8 +51,9 @@ | |||
51 | #define GPIO_HUB_NRESET 62 | 51 | #define GPIO_HUB_NRESET 62 |
52 | #define GPIO_WIFI_PMENA 43 | 52 | #define GPIO_WIFI_PMENA 43 |
53 | #define GPIO_WIFI_IRQ 53 | 53 | #define GPIO_WIFI_IRQ 53 |
54 | #define HDMI_GPIO_HPD 60 /* Hot plug pin for HDMI */ | 54 | #define HDMI_GPIO_CT_CP_HPD 60 /* HPD mode enable/disable */ |
55 | #define HDMI_GPIO_LS_OE 41 /* Level shifter for HDMI */ | 55 | #define HDMI_GPIO_LS_OE 41 /* Level shifter for HDMI */ |
56 | #define HDMI_GPIO_HPD 63 /* Hotplug detect */ | ||
56 | 57 | ||
57 | /* wl127x BT, FM, GPS connectivity chip */ | 58 | /* wl127x BT, FM, GPS connectivity chip */ |
58 | static int wl1271_gpios[] = {46, -1, -1}; | 59 | static int wl1271_gpios[] = {46, -1, -1}; |
@@ -479,8 +480,9 @@ int __init omap4_panda_dvi_init(void) | |||
479 | } | 480 | } |
480 | 481 | ||
481 | static struct gpio panda_hdmi_gpios[] = { | 482 | static struct gpio panda_hdmi_gpios[] = { |
482 | { HDMI_GPIO_HPD, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_hpd" }, | 483 | { HDMI_GPIO_CT_CP_HPD, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ct_cp_hpd" }, |
483 | { HDMI_GPIO_LS_OE, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ls_oe" }, | 484 | { HDMI_GPIO_LS_OE, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ls_oe" }, |
485 | { HDMI_GPIO_HPD, GPIOF_DIR_IN, "hdmi_gpio_hpd" }, | ||
484 | }; | 486 | }; |
485 | 487 | ||
486 | static int omap4_panda_panel_enable_hdmi(struct omap_dss_device *dssdev) | 488 | static int omap4_panda_panel_enable_hdmi(struct omap_dss_device *dssdev) |
@@ -497,10 +499,13 @@ static int omap4_panda_panel_enable_hdmi(struct omap_dss_device *dssdev) | |||
497 | 499 | ||
498 | static void omap4_panda_panel_disable_hdmi(struct omap_dss_device *dssdev) | 500 | static void omap4_panda_panel_disable_hdmi(struct omap_dss_device *dssdev) |
499 | { | 501 | { |
500 | gpio_free(HDMI_GPIO_LS_OE); | 502 | gpio_free_array(panda_hdmi_gpios, ARRAY_SIZE(panda_hdmi_gpios)); |
501 | gpio_free(HDMI_GPIO_HPD); | ||
502 | } | 503 | } |
503 | 504 | ||
505 | static struct omap_dss_hdmi_data omap4_panda_hdmi_data = { | ||
506 | .hpd_gpio = HDMI_GPIO_HPD, | ||
507 | }; | ||
508 | |||
504 | static struct omap_dss_device omap4_panda_hdmi_device = { | 509 | static struct omap_dss_device omap4_panda_hdmi_device = { |
505 | .name = "hdmi", | 510 | .name = "hdmi", |
506 | .driver_name = "hdmi_panel", | 511 | .driver_name = "hdmi_panel", |
@@ -508,6 +513,7 @@ static struct omap_dss_device omap4_panda_hdmi_device = { | |||
508 | .platform_enable = omap4_panda_panel_enable_hdmi, | 513 | .platform_enable = omap4_panda_panel_enable_hdmi, |
509 | .platform_disable = omap4_panda_panel_disable_hdmi, | 514 | .platform_disable = omap4_panda_panel_disable_hdmi, |
510 | .channel = OMAP_DSS_CHANNEL_DIGIT, | 515 | .channel = OMAP_DSS_CHANNEL_DIGIT, |
516 | .data = &omap4_panda_hdmi_data, | ||
511 | }; | 517 | }; |
512 | 518 | ||
513 | static struct omap_dss_device *omap4_panda_dss_devices[] = { | 519 | static struct omap_dss_device *omap4_panda_dss_devices[] = { |
@@ -539,6 +545,10 @@ void omap4_panda_display_init(void) | |||
539 | omap_hdmi_init(OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP); | 545 | omap_hdmi_init(OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP); |
540 | else | 546 | else |
541 | omap_hdmi_init(0); | 547 | omap_hdmi_init(0); |
548 | |||
549 | omap_mux_init_gpio(HDMI_GPIO_LS_OE, OMAP_PIN_OUTPUT); | ||
550 | omap_mux_init_gpio(HDMI_GPIO_CT_CP_HPD, OMAP_PIN_OUTPUT); | ||
551 | omap_mux_init_gpio(HDMI_GPIO_HPD, OMAP_PIN_INPUT_PULLDOWN); | ||
542 | } | 552 | } |
543 | 553 | ||
544 | static void __init omap4_panda_init(void) | 554 | static void __init omap4_panda_init(void) |
diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c index ffd9bd983023..d6e65e29d83d 100644 --- a/arch/arm/mach-omap2/display.c +++ b/arch/arm/mach-omap2/display.c | |||
@@ -102,12 +102,8 @@ static void omap4_hdmi_mux_pads(enum omap_hdmi_flags flags) | |||
102 | u32 reg; | 102 | u32 reg; |
103 | u16 control_i2c_1; | 103 | u16 control_i2c_1; |
104 | 104 | ||
105 | /* PAD0_HDMI_HPD_PAD1_HDMI_CEC */ | ||
106 | omap_mux_init_signal("hdmi_hpd", | ||
107 | OMAP_PIN_INPUT_PULLUP); | ||
108 | omap_mux_init_signal("hdmi_cec", | 105 | omap_mux_init_signal("hdmi_cec", |
109 | OMAP_PIN_INPUT_PULLUP); | 106 | OMAP_PIN_INPUT_PULLUP); |
110 | /* PAD0_HDMI_DDC_SCL_PAD1_HDMI_DDC_SDA */ | ||
111 | omap_mux_init_signal("hdmi_ddc_scl", | 107 | omap_mux_init_signal("hdmi_ddc_scl", |
112 | OMAP_PIN_INPUT_PULLUP); | 108 | OMAP_PIN_INPUT_PULLUP); |
113 | omap_mux_init_signal("hdmi_ddc_sda", | 109 | omap_mux_init_signal("hdmi_ddc_sda", |