Tony Lindgren wrote:
* Stanley.Miao <stanley.m...@windriver.com> [100419 23:20]:
There is two gpio for mmc use, one is for card detecting, another is
used for checking write protect. Intialize its pinmux in case the bootloader
doesn't set it.

Signed-off-by: Stanley.Miao <stanley.m...@windriver.com>
---
 arch/arm/mach-omap2/devices.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
index 23e4d77..df9c62a 100644
--- a/arch/arm/mach-omap2/devices.c
+++ b/arch/arm/mach-omap2/devices.c
@@ -591,6 +591,13 @@ static inline void omap_hsmmc_reset(void) {}
 static inline void omap2_mmc_mux(struct omap_mmc_platform_data *mmc_controller,
                        int controller_nr)
 {
+       if (mmc_controller->slots[0].switch_pin > 0)
+               omap_mux_init_gpio(mmc_controller->slots[0].switch_pin,
+                                       OMAP_PIN_INPUT_PULLUP);
+       if (mmc_controller->slots[0].gpio_wp > 0)
+               omap_mux_init_gpio(mmc_controller->slots[0].gpio_wp,
+                                       OMAP_PIN_INPUT_PULLUP);
+
        if (cpu_is_omap2420() && controller_nr == 0) {
                omap_cfg_reg(H18_24XX_MMC_CMD);
                omap_cfg_reg(H15_24XX_MMC_CLKI);

The problem I see with this patch is that it attempts to mux
even for the GPIO pins on the companion chips, such as twl4030.

Got any ideas on how to prevent that?

Hi, Tony,

The gpios on companion chips are greater than OMAP_MAX_GPIO_LINES, they are not defined
in mux34xx.c, so omap_mux_init_gpio will do nothing.

However, I will add "if(gpio_wp < OMAP_MAX_GPIO_LINES)" to prevent from invoking omap_mux_init_gpio().

Stanley.

Tony


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to