Hi, Matthias Kaehlcke writes: >> > @@ -127,6 +142,50 @@ int dwc3_host_init(struct dwc3 *dwc) >> > return ret; >> > } >> > >> > +static void dwc3_set_phy_mode(struct usb_hcd *hcd) >> > +{ >> > + >> > + int i, num_ports; >> > + u32 reg; >> > + unsigned int ss_phy_mode = 0; >> > + struct dwc3 *dwc = dev_get_drvdata(hcd->self.controller->parent); >> > + struct xhci_hcd *xhci_hcd = hcd_to_xhci(hcd); >> > + >> > + dwc->hs_phy_mode = 0; >> > + >> > + reg = readl(&xhci_hcd->cap_regs->hcs_params1); >> > + num_ports = HCS_MAX_PORTS(reg); >> >> there's a big assumption here that xhci is still alive. Why isn't this >> quirk implemented in xhci-plat itself? > > That should work for determining which types of devices are connected to > the PHYs, however IIUC the xhci-plat doesn't know about the PHY topology. > Are you suggesting to move that info into the xhci-plat driver so that it > can set the corresponding PHY modes? Yes, if xHCI needs to know about PHYs in order to properly configure the PHYs, so be it :-) -- balbi