Subject: [PATCH v2 1/4] ARM: dts: omap4-panda: Add USB Host support

From: [email-masked] (Tony Lindgren)
Date: Wed, 19 Jun 2013 00:46:06 -0700

* Roger Quadros <[email-masked]> [130619 00:42]:
> Hi Benoit,
> 
> On 06/19/2013 04:17 AM, Benoit Cousson wrote:
> > Hi Roger,
> > 
> > On 06/18/2013 11:04 AM, Roger Quadros wrote:
> >> Provide the RESET and Power regulators for the USB PHY,
> >> the USB Host port mode and the PHY device.
> >>
> >> Also provide pin multiplexer information for the USB host
> >> pins.
> >>
> >> Signed-off-by: Roger Quadros <[email-masked]>
> >> ---
> >>   arch/arm/boot/dts/omap4-panda-common.dtsi |   62 +++++++++++++++++++++++++++++
> >>   1 files changed, 62 insertions(+), 0 deletions(-)
> >>
> >> diff --git a/arch/arm/boot/dts/omap4-panda-common.dtsi b/arch/arm/boot/dts/omap4-panda-common.dtsi
> >> index 00cbaa5..7a21e8e 100644
> >> --- a/arch/arm/boot/dts/omap4-panda-common.dtsi
> >> +++ b/arch/arm/boot/dts/omap4-panda-common.dtsi
> >> @@ -59,6 +59,42 @@
> >>               "AFML", "Line In",
> >>               "AFMR", "Line In";
> >>       };
> >> +
> >> +    /* HS USB Port 1 RESET */
> >> +    hsusb1_reset: hsusb1_reset_reg {
> >> +        compatible = "regulator-fixed";
> >> +        regulator-name = "hsusb1_reset";
> >> +        regulator-min-microvolt = <3300000>;
> >> +        regulator-max-microvolt = <3300000>;
> >> +        gpio = <&gpio2 30 0>;    /* gpio_62 */
> >> +        startup-delay-us = <70000>;
> >> +        enable-active-high;
> >> +    };
> > 
> > Is this really a regulator? Or just a GPIO line used to reset the USB PHY?
> 
> It is in fact a GPIO line used as reset.
> > 
> > If this is the case, I don't think it should be represented as a regulator.
> 
> Why not? I think it fits very well in the regulator device model. I couldn't find a better
> way to represent this. It gives us a way to specify not only the GPIO line but also
> the polarity. I know mostly reset is active low but still there is flexibility as you never
> know for sure.

I think it's really a mux + a comparator. But from Linux driver point of view
a regulator fits well as we don't have anything better. After all, the pin
voltage changes, and then something can be done based on the comparator
value.
 
> Do you have any better ideas?

We have a similar issue with the MMC1 PBIAS. I think in the long run we
should expand regulator (and possibly pinctrl) framework(s) to handle
comparators. We could just assume that a comparatator is a regulator,
and have a comparator binding that just uses the regulator code.
 
> FYI. The USB PHY driver is already treating reset as a regulator and is into 3.10. Reworking that
> will take some time. Not getting these in will prevent USB host/ethernet support on panda.

Yes and we need to have some solution for v3.11 as we've dropped the
legacy data for omap4. Otherwise things won't work properly.

Regards,

Tony