linux-omap-psp 2.6.32: sync with .dev
[glsdk/meta-ti-glsdk.git] / recipes-bsp / linux / linux-omap-psp-2.6.32 / beagleboard-xmc / 0004-omap3-beaglexm-fix-EHCI-power-up-GPIO-dir.patch
1 From 62db06de896c221cfa2231a53a933d6b3e81d66d Mon Sep 17 00:00:00 2001
2 From: Koen Kooi <koen@beagleboard.org>
3 Date: Tue, 11 Jan 2011 17:13:35 +0000
4 Subject: [PATCH 04/10] omap3: beaglexm: fix EHCI power up GPIO dir
6 EHCI enable power pin is inverted (active high) in comparison
7 to vanilla beagle which is active low. Handle this case conditionally.
9 Without this fix, Beagle XM 4 port EHCI will not function and no
10 networking will be available
12 [nm@ti.com: split up, added descriptive changelogs]
13 Signed-off-by: Nishanth Menon <nm@ti.com>
14 Signed-off-by: Koen Kooi <koen@beagleboard.org>
15 Signed-off-by: Tony Lindgren <tony@atomide.com>
16 ---
17  arch/arm/mach-omap2/board-omap3beagle.c |    9 +++++++++
18  1 files changed, 9 insertions(+), 0 deletions(-)
20 diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
21 index 247a426..7cfa2c8 100644
22 --- a/arch/arm/mach-omap2/board-omap3beagle.c
23 +++ b/arch/arm/mach-omap2/board-omap3beagle.c
24 @@ -487,6 +487,15 @@ static int beagle_twl_gpio_setup(struct device *dev,
25                 gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
26         }
27  
28 +       /*
29 +        * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active
30 +        * high / others active low)
31 +        */
32 +       gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR");
33 +       if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM)
34 +               gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1);
35 +       else
36 +               gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
37  
38         /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
39         gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
40 -- 
41 1.6.6.1