summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRakesh Bodla <rbodla@nvidia.com>2013-11-25 11:10:32 +0530
committerHarry Hong <hhong@nvidia.com>2013-11-27 18:23:44 -0800
commit3453f383a1a0b8a5ede420492032a9365fe15f26 (patch)
treea26ff24b0933e7b3033a1b233a4dd56c6efb4486
parent277147e3c236349b1226087cc2460626e43fba73 (diff)
usb: gadget: Tegra: 100mA charge current for EL_9
It limits the charge current to < 100mA so that EL_9 test (Test_J, Test_K and TEST_SE0_NAK) can pass the +- 10mV spec. Bug 1401531 Change-Id: I32b5083dcd04501eee845fee8662fef9959c2513 Signed-off-by: Rakesh Bodla <rbodla@nvidia.com> Reviewed-on: http://git-master/r/333261 (cherry picked from commit bfd4683b7bd162ed51fbed4925b09b288796c6fa) Signed-off-by: Yong Goo Yi <yyi@nvidia.com> Reviewed-on: http://git-master/r/336035 Reviewed-by: Harry Hong <hhong@nvidia.com> Tested-by: Harry Hong <hhong@nvidia.com>
-rw-r--r--drivers/usb/gadget/tegra_udc.c6
-rw-r--r--drivers/usb/gadget/tegra_udc.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/drivers/usb/gadget/tegra_udc.c b/drivers/usb/gadget/tegra_udc.c
index 73293936236e..c9799fdf3922 100644
--- a/drivers/usb/gadget/tegra_udc.c
+++ b/drivers/usb/gadget/tegra_udc.c
@@ -1812,12 +1812,18 @@ static void udc_test_mode(struct tegra_udc *udc, u32 test_mode)
switch (test_mode << PORTSCX_PTC_BIT_POS) {
case PORTSCX_PTC_JSTATE:
+ udc->current_limit = USB_CHARGING_TEST_MODE_CURRENT_LIMIT_MA;
+ schedule_work(&udc->current_work);
VDBG("TEST_J\n");
break;
case PORTSCX_PTC_KSTATE:
+ udc->current_limit = USB_CHARGING_TEST_MODE_CURRENT_LIMIT_MA;
+ schedule_work(&udc->current_work);
VDBG("TEST_K\n");
break;
case PORTSCX_PTC_SEQNAK:
+ udc->current_limit = USB_CHARGING_TEST_MODE_CURRENT_LIMIT_MA;
+ schedule_work(&udc->current_work);
VDBG("TEST_SE0_NAK\n");
break;
case PORTSCX_PTC_PACKET:
diff --git a/drivers/usb/gadget/tegra_udc.h b/drivers/usb/gadget/tegra_udc.h
index 79aa040b2174..f87aaf3a3fa5 100644
--- a/drivers/usb/gadget/tegra_udc.h
+++ b/drivers/usb/gadget/tegra_udc.h
@@ -43,6 +43,7 @@
#define USB_CHARGING_SDP_CURRENT_LIMIT_UA 500000u
#define USB_CHARGING_NV_CHARGER_CURRENT_LIMIT_UA 2000000u
#define USB_CHARGING_NON_STANDARD_CHARGER_CURRENT_LIMIT_UA 500000u
+#define USB_CHARGING_TEST_MODE_CURRENT_LIMIT_MA 100u
/* 1 sec wait time for non-std charger detection after vbus is detected */
#define NON_STD_CHARGER_DET_TIME_MS 1000