Lines Matching defs:dwc2
57 static const char dwc2_driver_name[] = "dwc2";
212 hsotg->reset = devm_reset_control_get_optional(hsotg->dev, "dwc2");
221 hsotg->reset_ecc = devm_reset_control_get_optional(hsotg->dev, "dwc2-ecc");
333 * In specific conditions (involving usb hubs) dwc2 devices can create a
337 * of being able to handle the dwc2 interrupts. Disabling dwc2-irqs
623 struct dwc2_hsotg *dwc2 = dev_get_drvdata(dev);
624 bool is_device_mode = dwc2_is_device_mode(dwc2);
628 dwc2_hsotg_suspend(dwc2);
630 dwc2_drd_suspend(dwc2);
632 if (dwc2->params.activate_stm_id_vb_detection) {
640 dwc2_force_mode(dwc2, !is_device_mode);
642 spin_lock_irqsave(&dwc2->lock, flags);
643 gotgctl = dwc2_readl(dwc2, GOTGCTL);
652 dwc2_writel(dwc2, gotgctl, GOTGCTL);
653 spin_unlock_irqrestore(&dwc2->lock, flags);
655 ggpio = dwc2_readl(dwc2, GGPIO);
658 dwc2_writel(dwc2, ggpio, GGPIO);
660 regulator_disable(dwc2->usb33d);
663 if (dwc2->ll_hw_enabled &&
664 (is_device_mode || dwc2_host_can_poweroff_phy(dwc2))) {
665 ret = __dwc2_lowlevel_hw_disable(dwc2);
666 dwc2->phy_off_for_suspend = true;
674 struct dwc2_hsotg *dwc2 = dev_get_drvdata(dev);
677 if (dwc2->phy_off_for_suspend && dwc2->ll_hw_enabled) {
678 ret = __dwc2_lowlevel_hw_enable(dwc2);
682 dwc2->phy_off_for_suspend = false;
684 if (dwc2->params.activate_stm_id_vb_detection) {
688 ret = regulator_enable(dwc2->usb33d);
692 ggpio = dwc2_readl(dwc2, GGPIO);
695 dwc2_writel(dwc2, ggpio, GGPIO);
700 spin_lock_irqsave(&dwc2->lock, flags);
701 gotgctl = dwc2_readl(dwc2, GOTGCTL);
705 dwc2_writel(dwc2, gotgctl, GOTGCTL);
706 spin_unlock_irqrestore(&dwc2->lock, flags);
710 dwc2_force_dr_mode(dwc2);
712 dwc2_drd_resume(dwc2);
714 if (dwc2_is_device_mode(dwc2))
715 ret = dwc2_hsotg_resume(dwc2);