[PATCH v2] usb: dwc3: support USB 3.1 controllers

Caleb Connolly caleb.connolly at linaro.org
Tue Apr 23 16:15:06 CEST 2024


The revision is different for these, add the additional check as in
xhci-dwc3 core_init code.

Equivalent upstream Linux patch:
690fb3718a70 ("usb: dwc3: Support Synopsys USB 3.1 IP")

Reviewed-by: Neil Armstrong <neil.armstrong at linaro.org>
Tested-by: Neil Armstrong <neil.armstrong at linaro.org> # on SM8550
Reviewed-by: Mattijs Korpershoek <mkorpershoek at baylibre.com>
Reviewed-by: Marek Vasut <marex at denx.de>
Signed-off-by: Caleb Connolly <caleb.connolly at linaro.org>
---
Changes since v1:
* Reference Linux patch
* V1: https://lore.kernel.org/u-boot/20240411160527.835767-1-caleb.connolly@linaro.org
---
 drivers/usb/dwc3/core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 96e850b7170f..db045f5822d4 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -594,9 +594,10 @@ static int dwc3_core_init(struct dwc3 *dwc)
 	int			ret;
 
 	reg = dwc3_readl(dwc->regs, DWC3_GSNPSID);
 	/* This should read as U3 followed by revision number */
-	if ((reg & DWC3_GSNPSID_MASK) != 0x55330000) {
+	if ((reg & DWC3_GSNPSID_MASK) != 0x55330000 &&
+	    (reg & DWC3_GSNPSID_MASK) != 0x33310000) {
 		dev_err(dwc->dev, "this is not a DesignWare USB3 DRD Core\n");
 		ret = -ENODEV;
 		goto err0;
 	}
-- 
2.44.0



More information about the U-Boot mailing list