On 3/26/24 3:32 AM, Greg Malysa wrote:
From: Nathan Barrett-Morrison <nathan.morri...@timesys.com>

This adds the Synopsys device id for version 4xx of the designware
IP block and extends the version check to include it to permit
new hardware to run. It does not add any 4xx-specific features.

Signed-off-by: Ian Roberts <ian.robe...@timesys.com>
Signed-off-by: Greg Malysa <greg.mal...@timesys.com>
Signed-off-by: Nathan Barrett-Morrison <nathan.morri...@timesys.com>

---


---
  drivers/usb/host/dwc2.c | 3 ++-
  drivers/usb/host/dwc2.h | 1 +
  2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/host/dwc2.c b/drivers/usb/host/dwc2.c
index 637eb2dd06..6fdde6a9a7 100644
--- a/drivers/usb/host/dwc2.c
+++ b/drivers/usb/host/dwc2.c
@@ -1180,7 +1180,8 @@ static int dwc2_init_common(struct udevice *dev, struct 
dwc2_priv *priv)
                 snpsid >> 12 & 0xf, snpsid & 0xfff);
if ((snpsid & DWC2_SNPSID_DEVID_MASK) != DWC2_SNPSID_DEVID_VER_2xx &&
-           (snpsid & DWC2_SNPSID_DEVID_MASK) != DWC2_SNPSID_DEVID_VER_3xx) {
+           (snpsid & DWC2_SNPSID_DEVID_MASK) != DWC2_SNPSID_DEVID_VER_3xx &&
+           (snpsid & DWC2_SNPSID_DEVID_MASK) != DWC2_SNPSID_DEVID_VER_4xx) {
                dev_info(dev, "SNPSID invalid (not DWC2 OTG device): %08x\n",
                         snpsid);
                return -ENODEV;
diff --git a/drivers/usb/host/dwc2.h b/drivers/usb/host/dwc2.h
index 6f022e33a1..f202d55eb2 100644
--- a/drivers/usb/host/dwc2.h
+++ b/drivers/usb/host/dwc2.h
@@ -739,6 +739,7 @@ struct dwc2_core_regs {
  #define DWC2_PCGCCTL_DEEP_SLEEP_OFFSET                        7
  #define DWC2_SNPSID_DEVID_VER_2xx                     (0x4f542 << 12)
  #define DWC2_SNPSID_DEVID_VER_3xx                     (0x4f543 << 12)
+#define DWC2_SNPSID_DEVID_VER_4xx                      (0x4f544 << 12)
  #define DWC2_SNPSID_DEVID_MASK                                (0xfffff << 12)
  #define DWC2_SNPSID_DEVID_OFFSET                      12

Maybe it would be better/easier/futureproof to simply check if (snpsid & 0xffff0 == 0x4f540) ?

Reply via email to