usb: otg: notify to pmu the otg vbus change
authorlyz <lyz@rock-chips.com>
Thu, 11 Jun 2015 03:27:02 +0000 (11:27 +0800)
committerlyz <lyz@rock-chips.com>
Thu, 11 Jun 2015 06:02:58 +0000 (14:02 +0800)
Signed-off-by: lyz <lyz@rock-chips.com>
drivers/usb/dwc_otg_310/usbdev_bc.h
drivers/usb/dwc_otg_310/usbdev_rk3036.c
drivers/usb/dwc_otg_310/usbdev_rk3126.c
drivers/usb/dwc_otg_310/usbdev_rk32.c
drivers/usb/dwc_otg_310/usbdev_rk3368.c

index b4891d72721a223ca99b7d44c95e3323a462d772..5f3e11fcd2a0762e4bafef889f31ce2f4b7b6521 100755 (executable)
@@ -8,6 +8,8 @@ enum bc_port_type{
        USB_BC_TYPE_DCP,
        USB_BC_TYPE_CDP,
        USB_BC_TYPE_UNKNOW,
+       USB_OTG_POWER_ON,
+       USB_OTG_POWER_OFF,
        USB_BC_TYPE_MAX,
 };
 enum {
index 97bb32c479dd90b3e8b7cfa16e06dce314ce80d6..5e49d800de65bd2ffefbf62b364a45d3f722982c 100755 (executable)
@@ -182,10 +182,12 @@ static void dwc_otg_uart_mode(void *pdata, int enter_usb_uart_mode)
 static void usb20otg_power_enable(int enable)
 {
        if (0 == enable) {
+               rk_battery_charger_detect_cb(USB_OTG_POWER_OFF);
                /* disable otg_drv power */
                if (gpio_is_valid(control_usb->otg_gpios->gpio))
                        gpio_set_value(control_usb->otg_gpios->gpio, 0);
        } else if (1 == enable) {
+               rk_battery_charger_detect_cb(USB_OTG_POWER_ON);
                /* enable otg_drv power */
                if (gpio_is_valid(control_usb->otg_gpios->gpio))
                        gpio_set_value(control_usb->otg_gpios->gpio, 1);
index 5e9daac5e145cba5bd94f131d2445bfd72166946..ad005cbee57059b082cefdc1862c26716618ebfa 100755 (executable)
@@ -191,10 +191,12 @@ static void dwc_otg_uart_mode(void *pdata, int enter_usb_uart_mode)
 static void usb20otg_power_enable(int enable)
 {
        if (0 == enable) {
+               rk_battery_charger_detect_cb(USB_OTG_POWER_OFF);
                /* disable otg_drv power */
                if (gpio_is_valid(control_usb->otg_gpios->gpio))
                        gpio_set_value(control_usb->otg_gpios->gpio, 0);
        } else if (1 == enable) {
+               rk_battery_charger_detect_cb(USB_OTG_POWER_ON);
                /* enable otg_drv power */
                if (gpio_is_valid(control_usb->otg_gpios->gpio))
                        gpio_set_value(control_usb->otg_gpios->gpio, 1);
index 288b962ff4c637a8c0fbd9156407b393300cc333..673b118f5f7e59d0c3c1eb82c3e436865ec24546 100755 (executable)
@@ -172,10 +172,12 @@ static void dwc_otg_uart_mode(void *pdata, int enter_usb_uart_mode)
 static void usb20otg_power_enable(int enable)
 {
        if (0 == enable) {
+               rk_battery_charger_detect_cb(USB_OTG_POWER_OFF);
                /* disable otg_drv power */
                if (gpio_is_valid(control_usb->otg_gpios->gpio))
                        gpio_set_value(control_usb->otg_gpios->gpio, 0);
        } else if (1 == enable) {
+               rk_battery_charger_detect_cb(USB_OTG_POWER_ON);
                /* enable otg_drv power */
                if (gpio_is_valid(control_usb->otg_gpios->gpio))
                        gpio_set_value(control_usb->otg_gpios->gpio, 1);
index b73fe08a31b8449babe99d54749660dd019d9b4d..8b24096aec6eec1db90020fa93fe88aaeea725e3 100644 (file)
@@ -177,10 +177,12 @@ static void dwc_otg_uart_mode(void *pdata, int enter_usb_uart_mode)
 static void usb20otg_power_enable(int enable)
 {
        if (0 == enable) {
+               rk_battery_charger_detect_cb(USB_OTG_POWER_OFF);
                /* disable otg_drv power */
                if (gpio_is_valid(control_usb->otg_gpios->gpio))
                        gpio_set_value(control_usb->otg_gpios->gpio, 0);
        } else if (1 == enable) {
+               rk_battery_charger_detect_cb(USB_OTG_POWER_ON);
                /* enable otg_drv power */
                if (gpio_is_valid(control_usb->otg_gpios->gpio))
                        gpio_set_value(control_usb->otg_gpios->gpio, 1);