Lines Matching full:dwc2
57 static const char dwc2_driver_name[] = "dwc2";
224 hsotg->reset = devm_reset_control_get_optional(hsotg->dev, "dwc2"); in dwc2_lowlevel_hw_init()
233 hsotg->reset_ecc = devm_reset_control_get_optional(hsotg->dev, "dwc2-ecc"); in dwc2_lowlevel_hw_init()
345 * In specific conditions (involving usb hubs) dwc2 devices can create a
349 * of being able to handle the dwc2 interrupts. Disabling dwc2-irqs
635 struct dwc2_hsotg *dwc2 = dev_get_drvdata(dev); in dwc2_suspend() local
636 bool is_device_mode = dwc2_is_device_mode(dwc2); in dwc2_suspend()
640 dwc2_hsotg_suspend(dwc2); in dwc2_suspend()
642 dwc2_drd_suspend(dwc2); in dwc2_suspend()
644 if (dwc2->params.activate_stm_id_vb_detection) { in dwc2_suspend()
652 dwc2_force_mode(dwc2, !is_device_mode); in dwc2_suspend()
654 spin_lock_irqsave(&dwc2->lock, flags); in dwc2_suspend()
655 gotgctl = dwc2_readl(dwc2, GOTGCTL); in dwc2_suspend()
664 dwc2_writel(dwc2, gotgctl, GOTGCTL); in dwc2_suspend()
665 spin_unlock_irqrestore(&dwc2->lock, flags); in dwc2_suspend()
667 ggpio = dwc2_readl(dwc2, GGPIO); in dwc2_suspend()
670 dwc2_writel(dwc2, ggpio, GGPIO); in dwc2_suspend()
672 regulator_disable(dwc2->usb33d); in dwc2_suspend()
675 if (dwc2->ll_hw_enabled && in dwc2_suspend()
676 (is_device_mode || dwc2_host_can_poweroff_phy(dwc2))) { in dwc2_suspend()
677 ret = __dwc2_lowlevel_hw_disable(dwc2); in dwc2_suspend()
678 dwc2->phy_off_for_suspend = true; in dwc2_suspend()
686 struct dwc2_hsotg *dwc2 = dev_get_drvdata(dev); in dwc2_resume() local
689 if (dwc2->phy_off_for_suspend && dwc2->ll_hw_enabled) { in dwc2_resume()
690 ret = __dwc2_lowlevel_hw_enable(dwc2); in dwc2_resume()
694 dwc2->phy_off_for_suspend = false; in dwc2_resume()
696 if (dwc2->params.activate_stm_id_vb_detection) { in dwc2_resume()
700 ret = regulator_enable(dwc2->usb33d); in dwc2_resume()
704 ggpio = dwc2_readl(dwc2, GGPIO); in dwc2_resume()
707 dwc2_writel(dwc2, ggpio, GGPIO); in dwc2_resume()
712 spin_lock_irqsave(&dwc2->lock, flags); in dwc2_resume()
713 gotgctl = dwc2_readl(dwc2, GOTGCTL); in dwc2_resume()
717 dwc2_writel(dwc2, gotgctl, GOTGCTL); in dwc2_resume()
718 spin_unlock_irqrestore(&dwc2->lock, flags); in dwc2_resume()
722 dwc2_force_dr_mode(dwc2); in dwc2_resume()
724 dwc2_drd_resume(dwc2); in dwc2_resume()
726 if (dwc2_is_device_mode(dwc2)) in dwc2_resume()
727 ret = dwc2_hsotg_resume(dwc2); in dwc2_resume()