[PATCH] usb: dwc2: Add in version 4xx compatibility

Marek Vasut marex at denx.de
Tue Mar 26 12:50:15 CET 2024


On 3/26/24 3:32 AM, Greg Malysa wrote:
> From: Nathan Barrett-Morrison <nathan.morrison at 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.roberts at timesys.com>
> Signed-off-by: Greg Malysa <greg.malysa at timesys.com>
> Signed-off-by: Nathan Barrett-Morrison <nathan.morrison at 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) ?


More information about the U-Boot mailing list