usb: gadget: pch_udc: Detecting VBUS through GPIO
authorTomoya MORINAGA <tomoya.rohm@gmail.com>
Fri, 3 Feb 2012 07:35:26 +0000 (16:35 +0900)
committerFelipe Balbi <balbi@ti.com>
Thu, 9 Feb 2012 07:56:53 +0000 (09:56 +0200)
commitdd63180b758d5972fc90621af0741d5bfae1a684
tree0340c73c18cfac563b8b445cc79c74c2ab7d3ba7
parent20edfbb6a17f3007c1905e9849d8d306e318883b
usb: gadget: pch_udc: Detecting VBUS through GPIO

Problem:
 In USB Suspend, pch_udc handles 'disconnect'.

Root cause:
 The current pch_udc is not monitoring VBUS.
 When USB cable is disconnected, USB Device Controller generates
 an interrupt of USB Suspend.
 pch_udc cannot distinguish it is USB Suspend or disconnect.
 Therefore, pch_udc handles 'disconnect' after an interrupt of
 USB Suspend happend.

Solution:
 VBUS is detected through GPIO.
 After an interrupt produced USB Suspend, if VBUS is Low,
 pch_udc handles 'disconnect'.
 If VBUS is High, pch_udc handles 'suspend'.

Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/pch_udc.c