Browse Source

usb: chipidea: do charger detection in vbus session

In case the usb phy has the capability to detect usb charger type,
do it when vbus is on.

Signed-off-by: Li Jun <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Li Jun 8 years ago
parent
commit
fc5b920c3b
1 changed files with 4 additions and 0 deletions
  1. 4 0
      drivers/usb/chipidea/udc.c

+ 4 - 0
drivers/usb/chipidea/udc.c

@@ -1526,6 +1526,10 @@ static int ci_udc_vbus_session(struct usb_gadget *_gadget, int is_active)
 		gadget_ready = 1;
 	spin_unlock_irqrestore(&ci->lock, flags);
 
+	if (ci->usb_phy)
+		usb_phy_set_charger_state(ci->usb_phy, is_active ?
+			USB_CHARGER_PRESENT : USB_CHARGER_ABSENT);
+
 	if (gadget_ready) {
 		if (is_active) {
 			pm_runtime_get_sync(&_gadget->dev);