void usb_phy_switch_to_usb(void) { int var; /* Set RG_UART_EN to 0 */ var = USB_PHY_Read_Register8(0x6E); DBG(0, "[MUSB]addr: 0x6E, value: %x\n", var); USB_PHY_Write_Register8(var & ~0x01, 0x6E); DBG(0, "[MUSB]addr: 0x6E, value after: %x\n", USB_PHY_Read_Register8(0x6E)); /* Set RG_USB20_DM_100K_EN to 0 */ var = USB_PHY_Read_Register8(0x22); DBG(0, "[MUSB]addr: 0x22, value: %x\n", var); USB_PHY_Write_Register8(var & ~0x02, 0x22); DBG(0, "[MUSB]addr: 0x22, value after: %x\n", USB_PHY_Read_Register8(0x22)); var = DRV_Reg8(UART1_BASE + 0x90); DBG(0, "[MUSB]addr: 0x11002090 (UART1), value: %x\n", var); DRV_WriteReg8(UART1_BASE + 0x90, var & ~0x01); DBG(0, "[MUSB]addr: 0x11002090 (UART1), value after: %x\n\n", DRV_Reg8(UART1_BASE + 0x90)); #if 0 /* SW connect */ var = USB_PHY_Read_Register8(0x68); DBG(0, "[MUSB]addr: 0x68, value: %x\n", var); USB_PHY_Write_Register8(0x0, 0x68); DBG(0, "[MUSB]addr: 0x68, value after: %x\n", USB_PHY_Read_Register8(0x68)); var = USB_PHY_Read_Register8(0x6A); DBG(0, "[MUSB]addr: 0x6A, value: %x\n", var); USB_PHY_Write_Register8(0x0, 0x6A); DBG(0, "[MUSB]addr: 0x6A, value after: %x\n", USB_PHY_Read_Register8(0x6A)); /* SW connect */ #endif /* SW connect */ mt_usb_connect(); }
void usb_check_connect(void) { #ifndef CONFIG_MT6589_FPGA if (is_usb_connected()) mt_usb_connect(); #endif }
void usb_check_connect(void) { os_printk(K_INFO, "usb_check_connect\n"); #ifndef CONFIG_MTK_FPGA if (usb_cable_connected()) mt_usb_connect(); #endif }
void usb_check_connect(void) { os_printk(K_DEBUG,"[MUSB] usb_check_connect\n"); #ifdef NEVER #ifndef CONFIG_MTK_FPGA if (usb_cable_connected()) mt_usb_connect(); #endif #endif /* NEVER */ }
void usb_check_connect(void) { if (upmu_is_chr_det()) { switch(mt_charger_type_detection()) { case STANDARD_HOST: mt_usb_connect(); DBG(0,"connect success\n"); return; case CHARGER_UNKNOWN: case STANDARD_CHARGER: case NONSTANDARD_CHARGER: case CHARGING_HOST: break; } } }
void mt6577_usb_charger_event_for_evb(int charger_in) { /* if(usb_is_host) { printk("usb is host, do notting\n"); } else { if (charger_in) { if(STANDARD_HOST == mt_charger_type_detection()) { mt_usb_connect(); } } else mt_usb_disconnect(); } */ mt_usb_connect(); return; }
ssize_t musb_cmode_store(struct device* dev, struct device_attribute *attr, const char *buf, size_t count) { unsigned int cmode; struct musb *musb = dev_to_musb(dev); if (!dev) { os_printk(K_ERR, "dev is null!!\n"); return count; } else if (1 == sscanf(buf, "%d", &cmode)) { os_printk(K_INFO, "%s %s --> %s\n", __func__, usb_mode_str[cable_mode], usb_mode_str[cmode]); if (cmode >= CABLE_MODE_MAX) cmode = CABLE_MODE_NORMAL; if (cable_mode != cmode) { if (cmode == CABLE_MODE_CHRG_ONLY) { // IPO shutdown, disable USB if(musb) { musb->usb_mode = CABLE_MODE_CHRG_ONLY; mt_usb_disconnect(); } } else if (cmode == CABLE_MODE_HOST_ONLY) { if(musb) { musb->usb_mode = CABLE_MODE_HOST_ONLY; mt_usb_disconnect(); } } else { // IPO bootup, enable USB if(musb) { musb->usb_mode = CABLE_MODE_NORMAL; mt_usb_connect(); } } cable_mode = cmode; } } return count; }