/* * This function performs Davinci platform specific deinitialization for usb0. */ void musb_platform_deinit(void) { /* Turn of the phy */ phy_off(); /* flush any interrupts */ writel(DAVINCI_USB_USBINT_MASK | DAVINCI_USB_TXINT_MASK | DAVINCI_USB_RXINT_MASK , &dregs->intclrr); }
/* * This function performs DA8xx platform specific deinitialization for usb0. */ void musb_platform_deinit(void) { /* Turn of the phy */ phy_off(); /* flush any interrupts */ writel((DA8XX_USB_USBINT_MASK | DA8XX_USB_TXINT_MASK | DA8XX_USB_RXINT_MASK), &da8xx_usb_regs->intmsk_clr); writel(0, &da8xx_usb_regs->eoi); }
static int da8xx_musb_exit(struct musb *musb) { del_timer_sync(&otg_workaround); phy_off(); usb_put_phy(musb->xceiv); usb_nop_xceiv_unregister(); return 0; }
static int da8xx_musb_exit(struct musb *musb) { if (is_host_enabled(musb)) del_timer_sync(&otg_workaround); phy_off(); usb_put_transceiver(musb->xceiv); usb_nop_xceiv_unregister(); return 0; }
int musb_platform_exit(struct musb *musb) { phy_off(); #ifdef CONFIG_MACH_DAVINCI_EVM davinci_vbus_power(musb, 0 /*off */ , 1); #ifdef CONFIG_USB_MUSB_OTG /* Set EMACEN to enable OTG GPIO 16 for Emac control */ /* Set GPIO Direction */ DAVINCI_PINMUX0 |= (0x80000000); #endif #endif #if defined (CONFIG_MACH_DAVINCI_HD_EVM) && defined(CONFIG_USB_MUSB_HDRC_HCD) davinci_vbus_power(musb, 0 /*off */ , 1); //DAVINCI_PINMUX0 |= 0x10000000; //VDD3P3V_PWDN |= 0x10000000; #endif clk_disable (musb->clock); clk_unuse (musb->clock); return 0; }
int musb_platform_exit(struct musb *musb) { phy_off(); #ifdef CONFIG_MACH_DAVINCI_EVM #ifdef CONFIG_USB_MUSB_OTG /* Set EMACEN to enable OTG GPIO 16 for Emac control */ /* Set GPIO Direction */ davinci_cfg_reg(DM644X_EMACEN); #endif #endif #if defined(CONFIG_MACH_DAVINCI_HD_EVM) && defined(CONFIG_USB_MUSB_HDRC_HCD) davinci_vbus_power(musb, 0); #endif if (musb->clock) { clk_disable (musb->clock); clk_unuse (musb->clock); } return 0; }
/* * This function performs platform specific deinitialization for usb0. */ void musb_platform_deinit(void) { /* Turn of the phy */ phy_off(); }