]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
usb: gadget: Tegra: 100mA charge current for EL_9
authorRakesh Bodla <rbodla@nvidia.com>
Mon, 25 Nov 2013 05:40:32 +0000 (11:10 +0530)
committerRakesh Babu Bodla <rbodla@nvidia.com>
Mon, 9 Dec 2013 11:16:16 +0000 (03:16 -0800)
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)
Reviewed-on: http://git-master/r/336126
Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
drivers/usb/gadget/tegra_udc.c
drivers/usb/gadget/tegra_udc.h

index bb8a26324f909d70f89785af148148bec95e36c4..93fc8681baeb2dfa74fd0ceba8906c2e2f5358b0 100644 (file)
@@ -1864,12 +1864,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:
index 5eb42e45e2d79a0c2c9e0d2ee18d8eb9756f0026..b1860f44c38ff3f9e42eff8329ff152a177230d1 100644 (file)
@@ -47,6 +47,8 @@
 #define USB_CHARGING_APPLE_CHARGER_1000mA_CURRENT_LIMIT_UA 1000000u
 #define USB_CHARGING_APPLE_CHARGER_2000mA_CURRENT_LIMIT_UA 2000000u
 
+#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
 #define BOOST_TRIGGER_SIZE 4096