usb: dwc3: core: Refactor PHY logic to support Multiport Controller
Currently the DWC3 driver supports only single port controller which requires at least one HS PHY and at most one SS PHY. But the DWC3 USB controller can be connected to multiple ports and each port can have their own PHYs. Each port of the multiport controller can either be HS+SS capable or HS only capable Proper quantification of them is required to modify GUSB2PHYCFG and GUSB3PIPECTL registers appropriately. DWC3 multiport controllers are capable to service at most 15 High Speed PHYs and 4 Supser Speed PHYs. Add support for detecting, obtaining and configuring PHYs supported by a multiport controller. Signed-off-by:Krishna Kurapati <quic_kriskura@quicinc.com> Reviewed-by:
Bjorn Andersson <quic_bjorande@quicinc.com> Acked-by:
Thinh Nguyen <Thinh.Nguyen@synopsys.com> Reviewed-by:
Johan Hovold <johan+linaro@kernel.org> Tested-by:
Johan Hovold <johan+linaro@kernel.org> Link: https://lore.kernel.org/r/20240420044901.884098-5-quic_kriskura@quicinc.comSigned-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing
Please register or sign in to comment