53ef772c2a8eac78e2ef0c5884d15dc4628c56f3
[glsdk/meta-ti-glsdk.git] / recipes-bsp / linux / linux-omap / base / 0001-ARM-OMAP-Power-on-EHCI-serial-camera-and-DVI-on-beag.patch
1 From 5bae403e0f66a67c222ce124422d43b8b9307041 Mon Sep 17 00:00:00 2001
2 From: Koen Kooi <koen@dominion.thruhere.net>
3 Date: Thu, 7 Oct 2010 09:25:45 +0200
4 Subject: [PATCH 01/26] ARM: OMAP: Power on EHCI, serial, camera and DVI on beagleboard-xM
6 Signed-off-by: Koen Kooi <koen@beagleboard.org>
7 ---
8 arch/arm/mach-omap2/board-omap3beagle.c | 26 ++++++++++++++++++++++++--
9 1 files changed, 24 insertions(+), 2 deletions(-)
11 diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
12 index 6c12760..6e8a1b9 100644
13 --- a/arch/arm/mach-omap2/board-omap3beagle.c
14 +++ b/arch/arm/mach-omap2/board-omap3beagle.c
15 @@ -297,13 +297,35 @@ static int beagle_twl_gpio_setup(struct device *dev,
16 gpio_request(gpio + 1, "EHCI_nOC");
17 gpio_direction_input(gpio + 1);
19 - /* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */
20 + /* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active
21 + * high / others active low) */
22 gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR");
23 - gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
24 + if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM)
25 + gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1);
26 + else
27 + gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
28 +
29 + /* DVI reset GPIO is different between revisions */
30 + if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM)
31 + beagle_dvi_device.reset_gpio = 129;
32 + else
33 + beagle_dvi_device.reset_gpio = 170;
34 +
35 + /* Power on DVI, Serial and PWR led */
36 + if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
37 + gpio_request(gpio + 1, "nDVI_PWR_EN");
38 + gpio_direction_output(gpio + 1, 0);
39 + }
41 /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
42 gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
44 + /* Power on camera interface on P7/P8 or DVI on A2 and beyond */
45 + if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
46 + gpio_request(gpio + 2, "CAM_EN");
47 + gpio_direction_output(gpio + 2, 1);
48 + }
49 +
50 return 0;
51 }
53 --
54 1.6.6.1