Re: [PATCH 2/3] usb: phy: introduce ->set_vbus() method

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 14, 2013 at 12:12:47PM +0200, Felipe Balbi wrote:
> Hi,
> 
> On Thu, Mar 14, 2013 at 05:38:03PM +0800, Peter Chen wrote:
> > > > > @@ -160,6 +163,24 @@ usb_phy_shutdown(struct usb_phy *x)
> > > > >  		x->shutdown(x);
> > > > >  }
> > > > >  
> > > > > +static inline int
> > > > > +usb_phy_vbus_on(struct usb_phy *x)
> > > > > +{
> > > > > +	if (!x->set_vbus)
> > > > > +		return 0;
> > > > > +
> > > > > +	return x->set_vbus(x, true);
> > > > > +}
> > > > > +
> > > > > +static inline int
> > > > > +usb_phy_vbus_off(struct usb_phy *x)
> > > > > +{
> > > > > +	if (!x->set_vbus)
> > > > > +		return 0;
> > > > > +
> > > > > +	return x->set_vbus(x, false);
> > > > > +}
> > > > > +
> > > > 
> > > > What's plan for otg's set_vbus? I suggest using phy's to instead of
> > > > otg's.
> > > 
> > 
> > When I think it more, does it work like below:
> > 
> > - If PHY supplies vbus_setting function (like ulpi.c), the callback
> > is assigned at PHY driver.
> > - If board supplies vbus on/off function (through gpio), the callback
> > is assigned at controller driver.
> > Here vbus setting is USB staff, no limited to PHY.
> 
> I wonder if the whole vbus toggling logic shouldn't, eventually, become
> a regulator. That would clean up a bunch of these details. I mean, we
> can still provide usb_phy_vbus_on()/off() but that would just call into
> the proper regulator.
> 
> Also, I think we should have a single location where VBUS is controlled,
> since the VBUS line is directly routed to a pin in the PHY, the PHY

Not for all, for chipidea phy, it has two regulators (2.5v and 3.3v)
from outside as phy's power. 

Even vbus pin is input for PHY, how can PHY turns on or off it without
external control like GPIO?

-- 

Best Regards,
Peter Chen

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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux