Re: [PATCH 0/5] extcon: usb: Introduce USB GPIO extcon driver. Fix DRA7 USB.

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

 




On Mon, Jan 19, 2015 at 07:52:17PM +0200, Roger Quadros wrote:
> Hi,
> 
> On DRA7 EVMs the USB ID pin is connected to a GPIO line. The USB drivers
> (dwc3 + dwc3-omap) depend on extcon framework to get the USB cable state
> (USB or USB-Host) to put the controller in the right mode.
> 
> There were earlier attempts [1] to get this working by trying to patch up
> the existing GPIO extcon driver.
> 
> This series attemts to take a different approach by introducing a new
> USB specific extcon driver to handle the USB ID GPIO pin and
> interpret a right USB cable state.
> 
> The reasoning to introduce this new driver is:
> 1) The existing GPIO extcon driver doesn't understand USB cable states
> and it can't handle more than one cable per instance.
>    
> For the USB case we need to handle at least 2 cable states.
>     a) USB (attach/detach)
>     b) USB-Host (attach/detach)
> and could possible include more states like
>     c) Fast-charger (attach/detach)
>     d) Slow-charger (attach/detach)
>     
> 2) This USB specific driver can be easily updated in the future to
> handle VBUS events, or charger detect events, in case it happens
> to be available on GPIO for any platform.
> 
> 3) The DT implementation is very easy. You just need one extcon node per USB
> instead of one extcon node per cable state as in case of [1].
> 
> 4) The cable state string doesn't need to be encoded in the device tree
> as in case of [1].
> 
> 5) With only ID event available, you can simulate a USB-peripheral attach
> when USB-Host is detacted instead of hacking the USB driver to do the same.
> 
> Tested on DRA7-evm and DRA72-evm.

while at that, you might want to patch X15 too.

-- 
balbi

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux