usb: fix RK3036 bvalid irq Num

This commit is contained in:
lyz
2014-08-07 16:15:29 +08:00
parent 00de53499b
commit 5c81c74ca6

View File

@@ -141,10 +141,28 @@ static int usb20otg_get_status(int id)
return ret;
}
#ifdef CONFIG_RK_USB_UART
/**
* dwc_otg_uart_enabled - check if a usb-uart debugger is enabled in DT
*
* Returns true if the status property of node "usb_uart" is set to "okay"
* or "ok", if this property is absent it will use the default status "ok"
* 0 otherwise
*/
static bool dwc_otg_uart_enabled(void)
{
struct device_node *np;
np = of_find_node_by_name(NULL, "usb_uart");
if(np && of_device_is_available(np))
return true;
return false;
}
static void dwc_otg_uart_mode(void *pdata, int enter_usb_uart_mode)
{
#ifdef CONFIG_RK_USB_UART
if (1 == enter_usb_uart_mode) {
if ((1 == enter_usb_uart_mode) && dwc_otg_uart_enabled()) {
/* bypass dm, enter uart mode */
writel(UOC_HIWORD_UPDATE(0x3, 0x3, 12),
RK_GRF_VIRT + RK3036_GRF_UOC1_CON4);
@@ -153,9 +171,13 @@ static void dwc_otg_uart_mode(void *pdata, int enter_usb_uart_mode)
writel(UOC_HIWORD_UPDATE(0x0, 0x3, 12),
RK_GRF_VIRT + RK3036_GRF_UOC1_CON4);
}
#endif
}
#else
static void dwc_otg_uart_mode(void *pdata, int enter_usb_uart_mode)
{
;
}
#endif
static void usb20otg_power_enable(int enable)
{
if (0 == enable) {