diff options
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap/base/0001-omap3-beaglexm-fix-EHCI-power-up-GPIO-dir.patch')
-rw-r--r-- | extras/recipes-kernel/linux/linux-omap/base/0001-omap3-beaglexm-fix-EHCI-power-up-GPIO-dir.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap/base/0001-omap3-beaglexm-fix-EHCI-power-up-GPIO-dir.patch b/extras/recipes-kernel/linux/linux-omap/base/0001-omap3-beaglexm-fix-EHCI-power-up-GPIO-dir.patch new file mode 100644 index 00000000..42bfa4e2 --- /dev/null +++ b/extras/recipes-kernel/linux/linux-omap/base/0001-omap3-beaglexm-fix-EHCI-power-up-GPIO-dir.patch | |||
@@ -0,0 +1,44 @@ | |||
1 | From 3d2f0e2f29320d9c6a6e4d8d5aeff9127a2106cb 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 01/28] omap3: beaglexm: fix EHCI power up GPIO dir | ||
5 | |||
6 | EHCI enable power pin is inverted (active high) in comparison | ||
7 | to vanilla beagle which is active low. Handle this case conditionally. | ||
8 | |||
9 | Without this fix, Beagle XM 4 port EHCI will not function and no | ||
10 | networking will be available | ||
11 | |||
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 | 10 ++++++++-- | ||
18 | 1 files changed, 8 insertions(+), 2 deletions(-) | ||
19 | |||
20 | diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c | ||
21 | index 6c12760..af1166b 100644 | ||
22 | --- a/arch/arm/mach-omap2/board-omap3beagle.c | ||
23 | +++ b/arch/arm/mach-omap2/board-omap3beagle.c | ||
24 | @@ -297,9 +297,15 @@ static int beagle_twl_gpio_setup(struct device *dev, | ||
25 | gpio_request(gpio + 1, "EHCI_nOC"); | ||
26 | gpio_direction_input(gpio + 1); | ||
27 | |||
28 | - /* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */ | ||
29 | + /* | ||
30 | + * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active | ||
31 | + * high / others active low) | ||
32 | + */ | ||
33 | gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR"); | ||
34 | - gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0); | ||
35 | + if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) | ||
36 | + gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1); | ||
37 | + else | ||
38 | + gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0); | ||
39 | |||
40 | /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */ | ||
41 | gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1; | ||
42 | -- | ||
43 | 1.6.6.1 | ||
44 | |||