diff mbox

omap:usb: fixing ehci phy gpio values for omap3

Message ID 1303395763-8702-2-git-send-email-keshava_mgowda@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Munegowda, Keshava April 21, 2011, 2:22 p.m. UTC
From: Keshava Munegowda <Keshava_mgowda@ti.com>

The gpio of EHCI phy should be 0 instead of 1;
This fixes the hub enumeration issue in beagle xm board.

Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
---
 drivers/mfd/omap-usb-host.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

Comments

Nishanth Menon April 26, 2011, 1:40 p.m. UTC | #1
On Thu, Apr 21, 2011 at 09:22, Keshava Munegowda <keshava_mgowda@ti.com> wrote:
>
> From: Keshava Munegowda <Keshava_mgowda@ti.com>
>
> The gpio of EHCI phy should be 0 instead of 1;
> This fixes the hub enumeration issue in beagle xm board.
>
> Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>

Dumb q1: Has this been tested on PandaBoard?
Dumb q2: is'nt it better to introduce polarity e.g.
pdata->ehci_data->reset_gpio_polarity etc? this will allow board files
to describe polarity of pin information to driver which can then be
Phy and any board specific mods(e.g. inverter on the line) independent
completely..

Regards,
Nishanth Menon

> ---
>  drivers/mfd/omap-usb-host.c |    8 ++++----
>  1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c
> index b3bb3ac..a12202e 100644
> --- a/drivers/mfd/omap-usb-host.c
> +++ b/drivers/mfd/omap-usb-host.c
> @@ -718,14 +718,14 @@ static int usbhs_enable(struct device *dev)
>                        gpio_request(pdata->ehci_data->reset_gpio_port[0],
>                                                "USB1 PHY reset");
>                        gpio_direction_output
> -                               (pdata->ehci_data->reset_gpio_port[0], 1);
> +                               (pdata->ehci_data->reset_gpio_port[0], 0);
>                }
>
>                if (gpio_is_valid(pdata->ehci_data->reset_gpio_port[1])) {
>                        gpio_request(pdata->ehci_data->reset_gpio_port[1],
>                                                "USB2 PHY reset");
>                        gpio_direction_output
> -                               (pdata->ehci_data->reset_gpio_port[1], 1);
> +                               (pdata->ehci_data->reset_gpio_port[1], 0);
>                }
>
>                /* Hold the PHY in RESET for enough time till DIR is high */
> @@ -905,11 +905,11 @@ static int usbhs_enable(struct device *dev)
>
>                if (gpio_is_valid(pdata->ehci_data->reset_gpio_port[0]))
>                        gpio_set_value
> -                               (pdata->ehci_data->reset_gpio_port[0], 0);
> +                               (pdata->ehci_data->reset_gpio_port[0], 1);
>
>                if (gpio_is_valid(pdata->ehci_data->reset_gpio_port[1]))
>                        gpio_set_value
> -                               (pdata->ehci_data->reset_gpio_port[1], 0);
> +                               (pdata->ehci_data->reset_gpio_port[1], 1);
>        }
>
>  end_count:
> --
> 1.6.0.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Munegowda, Keshava April 27, 2011, 5:52 a.m. UTC | #2
On Tue, Apr 26, 2011 at 7:10 PM, Menon, Nishanth <nm@ti.com> wrote:
> On Thu, Apr 21, 2011 at 09:22, Keshava Munegowda <keshava_mgowda@ti.com> wrote:
>>
>> From: Keshava Munegowda <Keshava_mgowda@ti.com>
>>
>> The gpio of EHCI phy should be 0 instead of 1;
>> This fixes the hub enumeration issue in beagle xm board.
>>
>> Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
>
> Dumb q1: Has this been tested on PandaBoard?
No, I have tested this on 4430 sdp . I think sdp validation is sufficient

> Dumb q2: is'nt it better to introduce polarity e.g.
> pdata->ehci_data->reset_gpio_polarity etc? this will allow board files
> to describe polarity of pin information to driver which can then be
> Phy and any board specific mods(e.g. inverter on the line) independent
> completely..

yes, I am thinking of doing it; since it requires modification of all
board files;
I will send this an another separate patch.

keshava munegowda

>
> Regards,
> Nishanth Menon
>
>> ---
>>  drivers/mfd/omap-usb-host.c |    8 ++++----
>>  1 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c
>> index b3bb3ac..a12202e 100644
>> --- a/drivers/mfd/omap-usb-host.c
>> +++ b/drivers/mfd/omap-usb-host.c
>> @@ -718,14 +718,14 @@ static int usbhs_enable(struct device *dev)
>>                        gpio_request(pdata->ehci_data->reset_gpio_port[0],
>>                                                "USB1 PHY reset");
>>                        gpio_direction_output
>> -                               (pdata->ehci_data->reset_gpio_port[0], 1);
>> +                               (pdata->ehci_data->reset_gpio_port[0], 0);
>>                }
>>
>>                if (gpio_is_valid(pdata->ehci_data->reset_gpio_port[1])) {
>>                        gpio_request(pdata->ehci_data->reset_gpio_port[1],
>>                                                "USB2 PHY reset");
>>                        gpio_direction_output
>> -                               (pdata->ehci_data->reset_gpio_port[1], 1);
>> +                               (pdata->ehci_data->reset_gpio_port[1], 0);
>>                }
>>
>>                /* Hold the PHY in RESET for enough time till DIR is high */
>> @@ -905,11 +905,11 @@ static int usbhs_enable(struct device *dev)
>>
>>                if (gpio_is_valid(pdata->ehci_data->reset_gpio_port[0]))
>>                        gpio_set_value
>> -                               (pdata->ehci_data->reset_gpio_port[0], 0);
>> +                               (pdata->ehci_data->reset_gpio_port[0], 1);
>>
>>                if (gpio_is_valid(pdata->ehci_data->reset_gpio_port[1]))
>>                        gpio_set_value
>> -                               (pdata->ehci_data->reset_gpio_port[1], 0);
>> +                               (pdata->ehci_data->reset_gpio_port[1], 1);
>>        }
>>
>>  end_count:
>> --
>> 1.6.0.4
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Felipe Balbi April 27, 2011, 7:58 a.m. UTC | #3
Hi,

On Wed, Apr 27, 2011 at 11:22:03AM +0530, Munegowda, Keshava wrote:
> > Dumb q2: is'nt it better to introduce polarity e.g.
> > pdata->ehci_data->reset_gpio_polarity etc? this will allow board files
> > to describe polarity of pin information to driver which can then be
> > Phy and any board specific mods(e.g. inverter on the line) independent
> > completely..
> 
> yes, I am thinking of doing it; since it requires modification of all
> board files;
> I will send this an another separate patch.

Sure, for next merge window.
Munegowda, Keshava April 27, 2011, 8:26 a.m. UTC | #4
On Wed, Apr 27, 2011 at 1:28 PM, Felipe Balbi <balbi@ti.com> wrote:
> Hi,
>
> On Wed, Apr 27, 2011 at 11:22:03AM +0530, Munegowda, Keshava wrote:
>> > Dumb q2: is'nt it better to introduce polarity e.g.
>> > pdata->ehci_data->reset_gpio_polarity etc? this will allow board files
>> > to describe polarity of pin information to driver which can then be
>> > Phy and any board specific mods(e.g. inverter on the line) independent
>> > completely..
>>
>> yes, I am thinking of doing it; since it requires modification of all
>> board files;
>> I will send this an another separate patch.
>
> Sure, for next merge window.
>
> --
> balbi

yes balbi,
I will do this patch after the rebaseing and validating the runtime pm
patches to latest mainline kernel

keshava
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Felipe Balbi May 2, 2011, 9:38 a.m. UTC | #5
On Thu, Apr 21, 2011 at 07:52:42PM +0530, Keshava Munegowda wrote:
> From: Keshava Munegowda <Keshava_mgowda@ti.com>
> 
> The gpio of EHCI phy should be 0 instead of 1;
> This fixes the hub enumeration issue in beagle xm board.
> 
> Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>

applied, thanks
Munegowda, Keshava May 2, 2011, 11:31 a.m. UTC | #6
On Mon, May 2, 2011 at 3:08 PM, Felipe Balbi <balbi@ti.com> wrote:
> On Thu, Apr 21, 2011 at 07:52:42PM +0530, Keshava Munegowda wrote:
>> From: Keshava Munegowda <Keshava_mgowda@ti.com>
>>
>> The gpio of EHCI phy should be 0 instead of 1;
>> This fixes the hub enumeration issue in beagle xm board.
>>
>> Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
>
> applied, thanks
>
> --
> balbi

Thanks balbi

but ,.his patch is was made by Juergen Kilb ( patch description  and link is
given below); But I was not aware of it and reinvented wheel with
beagle-xm board :(

So, Juergen Kilb is the first author of this patch.

Here is the link :
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg48215.html

  omap:usbhs:Fixed gpio polarity of gpio USB-phy reset

    With commit 19403165 a main part of ehci-omap.c moved to
    drivers/mfd/omap-usb-host.c created by commit 17cdd29d.
    Due to this reorganisation the polarity used to reset the
    external USB phy changed and USB host doesn't recognize
    any devices.

    Signed-off-by: Juergen Kilb <J.Kilb@phytec.de>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Felipe Balbi May 2, 2011, 11:54 a.m. UTC | #7
On Mon, May 02, 2011 at 05:01:05PM +0530, Munegowda, Keshava wrote:
> On Mon, May 2, 2011 at 3:08 PM, Felipe Balbi <balbi@ti.com> wrote:
> > On Thu, Apr 21, 2011 at 07:52:42PM +0530, Keshava Munegowda wrote:
> >> From: Keshava Munegowda <Keshava_mgowda@ti.com>
> >>
> >> The gpio of EHCI phy should be 0 instead of 1;
> >> This fixes the hub enumeration issue in beagle xm board.
> >>
> >> Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
> >
> > applied, thanks
> >
> > --
> > balbi
> 
> Thanks balbi
> 
> but ,.his patch is was made by Juergen Kilb ( patch description  and link is
> given below); But I was not aware of it and reinvented wheel with
> beagle-xm board :(
> 
> So, Juergen Kilb is the first author of this patch.
> 
> Here is the link :
> http://www.mail-archive.com/linux-omap@vger.kernel.org/msg48215.html
> 
>   omap:usbhs:Fixed gpio polarity of gpio USB-phy reset
> 
>     With commit 19403165 a main part of ehci-omap.c moved to
>     drivers/mfd/omap-usb-host.c created by commit 17cdd29d.
>     Due to this reorganisation the polarity used to reset the
>     external USB phy changed and USB host doesn't recognize
>     any devices.
> 
>     Signed-off-by: Juergen Kilb <J.Kilb@phytec.de>

I sent a pull request to Greg with that patch in, so it looks like
Samuel also didn't send this patch before. Can you reply to the pull
request I sent saying that this patch should be dropped just so Greg
knows and I recreate the branch and send another pull request ?
Munegowda, Keshava May 2, 2011, 12:23 p.m. UTC | #8
On Mon, May 2, 2011 at 5:24 PM, Felipe Balbi <balbi@ti.com> wrote:
> On Mon, May 02, 2011 at 05:01:05PM +0530, Munegowda, Keshava wrote:
>> On Mon, May 2, 2011 at 3:08 PM, Felipe Balbi <balbi@ti.com> wrote:
>> > On Thu, Apr 21, 2011 at 07:52:42PM +0530, Keshava Munegowda wrote:
>> >> From: Keshava Munegowda <Keshava_mgowda@ti.com>
>> >>
>> >> The gpio of EHCI phy should be 0 instead of 1;
>> >> This fixes the hub enumeration issue in beagle xm board.
>> >>
>> >> Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
>> >
>> > applied, thanks
>> >
>> > --
>> > balbi
>>
>> Thanks balbi
>>
>> but ,.his patch is was made by Juergen Kilb ( patch description  and link is
>> given below); But I was not aware of it and reinvented wheel with
>> beagle-xm board :(
>>
>> So, Juergen Kilb is the first author of this patch.
>>
>> Here is the link :
>> http://www.mail-archive.com/linux-omap@vger.kernel.org/msg48215.html
>>
>>   omap:usbhs:Fixed gpio polarity of gpio USB-phy reset
>>
>>     With commit 19403165 a main part of ehci-omap.c moved to
>>     drivers/mfd/omap-usb-host.c created by commit 17cdd29d.
>>     Due to this reorganisation the polarity used to reset the
>>     external USB phy changed and USB host doesn't recognize
>>     any devices.
>>
>>     Signed-off-by: Juergen Kilb <J.Kilb@phytec.de>
>
> I sent a pull request to Greg with that patch in, so it looks like
> Samuel also didn't send this patch before. Can you reply to the pull
> request I sent saying that this patch should be dropped just so Greg
> knows and I recreate the branch and send another pull request ?
>
> --
> balbi

yes Balbi, I have send a mail to Greg.

once again, I am sorry ,  this patch came in 14th april and i was
returning from ELC-2011. I missed it.

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

Patch

diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c
index b3bb3ac..a12202e 100644
--- a/drivers/mfd/omap-usb-host.c
+++ b/drivers/mfd/omap-usb-host.c
@@ -718,14 +718,14 @@  static int usbhs_enable(struct device *dev)
 			gpio_request(pdata->ehci_data->reset_gpio_port[0],
 						"USB1 PHY reset");
 			gpio_direction_output
-				(pdata->ehci_data->reset_gpio_port[0], 1);
+				(pdata->ehci_data->reset_gpio_port[0], 0);
 		}
 
 		if (gpio_is_valid(pdata->ehci_data->reset_gpio_port[1])) {
 			gpio_request(pdata->ehci_data->reset_gpio_port[1],
 						"USB2 PHY reset");
 			gpio_direction_output
-				(pdata->ehci_data->reset_gpio_port[1], 1);
+				(pdata->ehci_data->reset_gpio_port[1], 0);
 		}
 
 		/* Hold the PHY in RESET for enough time till DIR is high */
@@ -905,11 +905,11 @@  static int usbhs_enable(struct device *dev)
 
 		if (gpio_is_valid(pdata->ehci_data->reset_gpio_port[0]))
 			gpio_set_value
-				(pdata->ehci_data->reset_gpio_port[0], 0);
+				(pdata->ehci_data->reset_gpio_port[0], 1);
 
 		if (gpio_is_valid(pdata->ehci_data->reset_gpio_port[1]))
 			gpio_set_value
-				(pdata->ehci_data->reset_gpio_port[1], 0);
+				(pdata->ehci_data->reset_gpio_port[1], 1);
 	}
 
 end_count: