void usb20host_soft_reset(void) { printk("~~~~~~~~~~usb20otg_soft_reset\n"); //phy reset *(unsigned int*)(RK319X_GRF_BASE + GRF_UOC1_CON1) = 0x00030001; cru_set_soft_reset(SOFT_RST_USBPHY1_UTMI, true); udelay(15); *(unsigned int*)(RK319X_GRF_BASE + GRF_UOC1_CON1) = 0x00030002; udelay(1500); cru_set_soft_reset(SOFT_RST_USBPHY1_UTMI, false); cru_set_soft_reset(SOFT_RST_USBOTG1, true); cru_set_soft_reset(SOFT_RST_USBPHY1, true); cru_set_soft_reset(SOFT_RST_OTGC1, true); udelay(5); cru_set_soft_reset(SOFT_RST_USBOTG1, false); cru_set_soft_reset(SOFT_RST_USBPHY1, false); cru_set_soft_reset(SOFT_RST_OTGC1, false); mdelay(2); }
void usb20host_soft_reset(void) { #if 0 cru_set_soft_reset(SOFT_RST_USBOTG1, true); //cru_set_soft_reset(SOFT_RST_USBPHY1, true); cru_set_soft_reset(SOFT_RST_OTGC1, true); udelay(1); cru_set_soft_reset(SOFT_RST_USBOTG1, false); //cru_set_soft_reset(SOFT_RST_USBPHY1, false); cru_set_soft_reset(SOFT_RST_OTGC1, false); mdelay(1); #endif }
void rkehci_soft_reset(void) { unsigned int * phy_con0 = (unsigned int*)(USBGRF_UOC2_CON0); cru_set_soft_reset(SOFT_RST_HSICPHY, true); udelay(12); cru_set_soft_reset(SOFT_RST_HSICPHY, false); mdelay(2); *phy_con0 = ((1<<10)<<16)|(1<<10); udelay(2); *phy_con0 = ((1<<10)<<16)|(0<<10); udelay(2); cru_set_soft_reset(SOFT_RST_HSIC_AHB, true); udelay(2); cru_set_soft_reset(SOFT_RST_HSIC_AHB, false); udelay(2); }
void usb20otg_soft_reset(void) { cru_set_soft_reset(SOFT_RST_USBOTG0, true); cru_set_soft_reset(SOFT_RST_USBPHY0, true); cru_set_soft_reset(SOFT_RST_OTGC0, true); udelay(1); cru_set_soft_reset(SOFT_RST_USBOTG0, false); cru_set_soft_reset(SOFT_RST_USBPHY0, false); cru_set_soft_reset(SOFT_RST_OTGC0, false); mdelay(1); }
void usb20host_soft_reset(void) { cru_set_soft_reset(SOFT_RST_USBOTG1, true); cru_set_soft_reset(SOFT_RST_USBPHY1, true); cru_set_soft_reset(SOFT_RST_OTGC1, true); udelay(5); cru_set_soft_reset(SOFT_RST_USBOTG1, false); cru_set_soft_reset(SOFT_RST_USBPHY1, false); cru_set_soft_reset(SOFT_RST_OTGC1, false); mdelay(2); }
void usb20otg_soft_reset(void) { #if 1 //@lyz todo for 3028 phy printk("~~~~~~~~~~usb20otg_soft_reset\n"); //phy reset *(unsigned int*)(USBGRF_UOC0_CON0) = 0x00030001; *(unsigned int*)(USBGRF_UOC1_CON1) = 0x00030001; cru_set_soft_reset(SOFT_RST_USBPOR, true); cru_set_soft_reset(SOFT_RST_UTMI0, true); cru_set_soft_reset(SOFT_RST_UTMI1, true); udelay(15); *(unsigned int*)(USBGRF_UOC0_CON0) = 0x00030002; *(unsigned int*)(USBGRF_UOC1_CON1) = 0x00030002; udelay(1500); cru_set_soft_reset(SOFT_RST_USBPOR, false); udelay(2); cru_set_soft_reset(SOFT_RST_UTMI0, false); cru_set_soft_reset(SOFT_RST_UTMI1, false); //ctrler reset cru_set_soft_reset(SOFT_RST_OTGC0, true); cru_set_soft_reset(SOFT_RST_OTGC1, true); udelay(2); cru_set_soft_reset(SOFT_RST_USBOTG0, true); cru_set_soft_reset(SOFT_RST_USBOTG1, true); udelay(2); cru_set_soft_reset(SOFT_RST_OTGC0,false); cru_set_soft_reset(SOFT_RST_OTGC1,false); cru_set_soft_reset(SOFT_RST_USBOTG0,false); cru_set_soft_reset(SOFT_RST_USBOTG1,false); #endif }