rk312x: usb-uart: disable usb-uart when cpu suspend

This commit is contained in:
li yun zhi
2014-11-14 10:59:15 +08:00
committed by lyz
parent bc1de1203e
commit 5bb9bfc097
2 changed files with 13 additions and 1 deletions

View File

@@ -1620,7 +1620,11 @@ void rk_usb_power_up(void)
struct dwc_otg_platform_data *pldata_otg;
struct dwc_otg_platform_data *pldata_host;
struct rkehci_platform_data *pldata_ehci;
if (cpu_is_rk312x()) {
pldata_otg = &usb20otg_pdata_rk3126;
if (usb_to_uart_status)
pldata_otg->dwc_otg_uart_mode(pldata_otg, PHY_UART_MODE);
}
if (cpu_is_rk3288()) {
#ifdef CONFIG_RK_USB_UART
/* enable USB bypass UART function */
@@ -1666,6 +1670,11 @@ void rk_usb_power_down(void)
struct dwc_otg_platform_data *pldata_host;
struct rkehci_platform_data *pldata_ehci;
if (cpu_is_rk312x()) {
pldata_otg = &usb20otg_pdata_rk3126;
usb_to_uart_status = pldata_otg->get_status(USB_STATUS_UARTMODE);
pldata_otg->dwc_otg_uart_mode(pldata_otg, PHY_USB_MODE);
}
if (cpu_is_rk3288()) {
#ifdef CONFIG_RK_USB_UART
/* disable USB bypass UART function */

View File

@@ -127,6 +127,9 @@ static int usb20otg_get_status(int id)
/* id in grf */
ret = soc_status0 & (0x1 << 8);
break;
case USB_STATUS_UARTMODE:
ret = readl(RK_GRF_VIRT + RK312X_GRF_UOC1_CON4) & (1 << 12);
break;
case USB_CHIP_ID:
ret = control_usb->chip_id;
break;