From a63e647dd201e8b1f43aabec43993ce8a87dccb1 Mon Sep 17 00:00:00 2001 From: supriya karanth Date: Fri, 11 Nov 2011 13:09:51 +0530 Subject: usb: ab5500-usb: Do not enumerate while in charge only mode When in charge only mode, usb enumeration is not to be enabled. To achieve this turn on status and the reset reason is checked. ST-Ericsson Linux next: NA ST-Ericsson ID: 362951 ST-Ericsson FOSS-OUT ID: Trivial Signed-off-by: Arun Murthy Change-Id: Idbbb13d7ecf8fb3423459a85b4ddebcce1a8404c Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/37398 Reviewed-by: Supriya s KARANTH Tested-by: Supriya s KARANTH Reviewed-by: Praveena NADAHALLY Reviewed-by: Srinidhi KASAGAR --- drivers/usb/otg/ab5500-usb.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/usb/otg/ab5500-usb.c b/drivers/usb/otg/ab5500-usb.c index fcee8a1a144..8164ccb4195 100644 --- a/drivers/usb/otg/ab5500-usb.c +++ b/drivers/usb/otg/ab5500-usb.c @@ -20,6 +20,7 @@ #include #include #include +#include /* AB5500 USB macros */ @@ -523,7 +524,17 @@ static int ab5500_usb_boot_detect(struct ab5500_usb *ab) case USB_LINK_HOST_CHG_NM: case USB_LINK_HOST_CHG_HS: case USB_LINK_HOST_CHG_HS_CHIRP: - + /* + * If Power on key was not pressed then enter charge only + * mode and dont enumerate + */ + if ((!(ab5500_get_turn_on_status() & + (P_ON_KEY1_EVENT | P_ON_KEY2_EVENT))) && + (prcmu_get_reset_code() != + SW_RESET_CHGONLY_EXIT)) { + dev_dbg(ab->dev, "USB entered charge only mode"); + return 0; + } ab5500_usb_peri_phy_en(ab); /* enable usb chip Select */ -- cgit v1.2.3