Lines Matching full:dwc2
27 static const char dwc2_driver_name[] = "dwc2";
215 hsotg->reset = devm_reset_control_get_optional(hsotg->dev, "dwc2"); in dwc2_lowlevel_hw_init()
226 hsotg->reset_ecc = devm_reset_control_get_optional(hsotg->dev, "dwc2-ecc"); in dwc2_lowlevel_hw_init()
361 * In specific conditions (involving usb hubs) dwc2 devices can create a
365 * of being able to handle the dwc2 interrupts. Disabling dwc2-irqs
646 struct dwc2_hsotg *dwc2 = dev_get_drvdata(dev); in dwc2_suspend() local
647 bool is_device_mode = dwc2_is_device_mode(dwc2); in dwc2_suspend()
651 dwc2_hsotg_suspend(dwc2); in dwc2_suspend()
653 dwc2_drd_suspend(dwc2); in dwc2_suspend()
655 if (dwc2->params.activate_stm_id_vb_detection) { in dwc2_suspend()
663 dwc2_force_mode(dwc2, !is_device_mode); in dwc2_suspend()
665 spin_lock_irqsave(&dwc2->lock, flags); in dwc2_suspend()
666 gotgctl = dwc2_readl(dwc2, GOTGCTL); in dwc2_suspend()
675 dwc2_writel(dwc2, gotgctl, GOTGCTL); in dwc2_suspend()
676 spin_unlock_irqrestore(&dwc2->lock, flags); in dwc2_suspend()
678 ggpio = dwc2_readl(dwc2, GGPIO); in dwc2_suspend()
681 dwc2_writel(dwc2, ggpio, GGPIO); in dwc2_suspend()
683 regulator_disable(dwc2->usb33d); in dwc2_suspend()
686 if (dwc2->ll_hw_enabled && in dwc2_suspend()
687 (is_device_mode || dwc2_host_can_poweroff_phy(dwc2))) { in dwc2_suspend()
688 ret = __dwc2_lowlevel_hw_disable(dwc2); in dwc2_suspend()
689 dwc2->phy_off_for_suspend = true; in dwc2_suspend()
697 struct dwc2_hsotg *dwc2 = dev_get_drvdata(dev); in dwc2_resume() local
700 if (dwc2->phy_off_for_suspend && dwc2->ll_hw_enabled) { in dwc2_resume()
701 ret = __dwc2_lowlevel_hw_enable(dwc2); in dwc2_resume()
705 dwc2->phy_off_for_suspend = false; in dwc2_resume()
707 if (dwc2->params.activate_stm_id_vb_detection) { in dwc2_resume()
711 ret = regulator_enable(dwc2->usb33d); in dwc2_resume()
715 ggpio = dwc2_readl(dwc2, GGPIO); in dwc2_resume()
718 dwc2_writel(dwc2, ggpio, GGPIO); in dwc2_resume()
723 spin_lock_irqsave(&dwc2->lock, flags); in dwc2_resume()
724 gotgctl = dwc2_readl(dwc2, GOTGCTL); in dwc2_resume()
728 dwc2_writel(dwc2, gotgctl, GOTGCTL); in dwc2_resume()
729 spin_unlock_irqrestore(&dwc2->lock, flags); in dwc2_resume()
732 if (!dwc2->role_sw) { in dwc2_resume()
734 dwc2_force_dr_mode(dwc2); in dwc2_resume()
736 dwc2_drd_resume(dwc2); in dwc2_resume()
739 if (dwc2_is_device_mode(dwc2)) in dwc2_resume()
740 ret = dwc2_hsotg_resume(dwc2); in dwc2_resume()