Commit 73d62af3 authored by Krishna Kurapati's avatar Krishna Kurapati Committed by Todd Kjos
Browse files

BACKPORT: 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: default avatarKrishna Kurapati <quic_kriskura@quicinc.com>
Reviewed-by: default avatarBjorn Andersson <quic_bjorande@quicinc.com>
Acked-by: default avatarThinh Nguyen <Thinh.Nguyen@synopsys.com>
Reviewed-by: default avatarJohan Hovold <johan+linaro@kernel.org>
Tested-by: default avatarJohan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20240420044901.884098-5-quic_kriskura@quicinc.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 233985973
Bug: 380063536
Change-Id: I8a3fdb862286b2ce04ae726e9979cde04ffc41e0
(cherry picked from commit 30a46746)
[Krishna: Trivial rebase and changes done to error handling in core_init call]
Signed-off-by: default avatarKrishna Kurapati <quic_kriskura@quicinc.com>
Signed-off-by: default avatarRajashekar kuruva <quic_kuruva@quicinc.com>
parent 2c3ab1e4
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment