From fded7e003a399720446c8e7c406786c1403c1932 Mon Sep 17 00:00:00 2001 From: lyz Date: Thu, 11 Jun 2015 11:27:02 +0800 Subject: [PATCH] usb: otg: notify to pmu the otg vbus change Signed-off-by: lyz --- drivers/usb/dwc_otg_310/usbdev_bc.h | 2 ++ drivers/usb/dwc_otg_310/usbdev_rk3036.c | 2 ++ drivers/usb/dwc_otg_310/usbdev_rk3126.c | 2 ++ drivers/usb/dwc_otg_310/usbdev_rk32.c | 2 ++ drivers/usb/dwc_otg_310/usbdev_rk3368.c | 2 ++ 5 files changed, 10 insertions(+) diff --git a/drivers/usb/dwc_otg_310/usbdev_bc.h b/drivers/usb/dwc_otg_310/usbdev_bc.h index b4891d72721a..5f3e11fcd2a0 100755 --- a/drivers/usb/dwc_otg_310/usbdev_bc.h +++ b/drivers/usb/dwc_otg_310/usbdev_bc.h @@ -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 { diff --git a/drivers/usb/dwc_otg_310/usbdev_rk3036.c b/drivers/usb/dwc_otg_310/usbdev_rk3036.c index 97bb32c479dd..5e49d800de65 100755 --- a/drivers/usb/dwc_otg_310/usbdev_rk3036.c +++ b/drivers/usb/dwc_otg_310/usbdev_rk3036.c @@ -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); diff --git a/drivers/usb/dwc_otg_310/usbdev_rk3126.c b/drivers/usb/dwc_otg_310/usbdev_rk3126.c index 5e9daac5e145..ad005cbee570 100755 --- a/drivers/usb/dwc_otg_310/usbdev_rk3126.c +++ b/drivers/usb/dwc_otg_310/usbdev_rk3126.c @@ -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); diff --git a/drivers/usb/dwc_otg_310/usbdev_rk32.c b/drivers/usb/dwc_otg_310/usbdev_rk32.c index 288b962ff4c6..673b118f5f7e 100755 --- a/drivers/usb/dwc_otg_310/usbdev_rk32.c +++ b/drivers/usb/dwc_otg_310/usbdev_rk32.c @@ -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); diff --git a/drivers/usb/dwc_otg_310/usbdev_rk3368.c b/drivers/usb/dwc_otg_310/usbdev_rk3368.c index b73fe08a31b8..8b24096aec6e 100644 --- a/drivers/usb/dwc_otg_310/usbdev_rk3368.c +++ b/drivers/usb/dwc_otg_310/usbdev_rk3368.c @@ -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); -- 2.34.1