Subject: Re: linux-next: manual merge of the usb tree with the omap tree

From: Nishanth Menon <[email-masked]>
Date: Thu, 06 Jan 2011 12:21:06 -0600

Kevin Hilman had written, on 01/06/2011 12:15 PM, the following:
> Koen Kooi <[email-masked]> writes:
> 
>> Op 6 jan 2011, om 16:43 heeft Brad Parker het volgende geschreven:
>>
>>> It's probably expected, but I can't get the EHCI USB port  to work
>>> on a beagle board XM (36xx) using the current omap tree.
>>>
>>> It this most likely due to these clock issues?
>> You need this patch: http://thread.gmane.org/gmane.linux.ports.arm.omap/47807/
>>
>> I'm currently too lazy to split it up like Nishant wants as I don't
>> see the point splitting for the sake of splitting.--
> 
> IMO, it doesn't need to be split up.
> 
> But it does have to fix the other comments I made on the same thread[1]
> 
> 1) add a descriptive changelog, and
> 2) Cc linux-arm-kernel

Kevin,
there are four things being done in the patch:
a) fix GPIO number for EHCI power on
b) fix GPIO number for DVI reset line
c) switch on DVI
d) switch on Camera

I have split the first 2 up. I just splitting the (c) up when I noticed 
the code is confusing - I will reply in thread to the original patch.

I apologize, but I disagree - as far as I see it, these are separate 
changes being done.

-- 
Regards,
Nishanth Menon
>>From c03fd107da409806ec15d508db6c7c352244a1f4 Mon Sep 17 00:00:00 2001
From: Koen Kooi <[email-masked]>
Date: Thu, 6 Jan 2011 12:08:15 -0600
Subject: [PATCH 1/2] omap3: beaglexm: fix EHCI power up GPIO dir

EHCI enable power pin is inverted (active high) in comparison
to vanilla beagle which is active low. Handle this case conditionally.

[[email-masked]: helped split up]
Signed-off-by: Nishanth Menon <[email-masked]>
Signed-off-by: Koen Kooi <[email-masked]>
---
 arch/arm/mach-omap2/board-omap3beagle.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 6c12760..1b5aa7a 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -297,9 +297,16 @@ static int beagle_twl_gpio_setup(struct device *dev,
 	gpio_request(gpio + 1, "EHCI_nOC");
 	gpio_direction_input(gpio + 1);
 
-	/* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */
+	/*
+	 * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active
+	 * high / others active low)
+	 */
 	gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR");
 	gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
+	if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM)
+		gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1);
+	else
+		gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
 
 	/* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
 	gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
-- 
1.6.3.3

>>From d34971b71d61f3fc20e724a48dbdfe347aa53802 Mon Sep 17 00:00:00 2001
From: Koen Kooi <[email-masked]>
Date: Thu, 6 Jan 2011 12:14:00 -0600
Subject: [PATCH 2/2] omap3: beaglexm: fix DVI reset GPIO

GPIO reset line for Beagle XM is different from vanilla beagle
so we populate it as part of gpio update routine.

Signed-off-by: Nishanth Menon <[email-masked]>
Signed-off-by: Koen Kooi <[email-masked]>
---
 arch/arm/mach-omap2/board-omap3beagle.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 1b5aa7a..d628f5e 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -199,7 +199,7 @@ static struct omap_dss_device beagle_dvi_device = {
 	.name = "dvi",
 	.driver_name = "generic_panel",
 	.phy.dpi.data_lines = 24,
-	.reset_gpio = 170,
+	.reset_gpio = -EINVAL,
 	.platform_enable = beagle_enable_dvi,
 	.platform_disable = beagle_disable_dvi,
 };
@@ -308,6 +308,12 @@ static int beagle_twl_gpio_setup(struct device *dev,
 	else
 		gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
 
+	/* DVI reset GPIO is different between beagle revisions */
+	if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM)
+		beagle_dvi_device.reset_gpio = 129;
+	else
+		beagle_dvi_device.reset_gpio = 170;
+
 	/* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
 	gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
 
-- 
1.6.3.3