2024-03-01 21:43:49

by Wesley Cheng

[permalink] [raw]
Subject: [PATCH] usb: dwc3: core: Add DWC31 version 2.00a controller

Add revision value for identifying DWC31 version 2.00a based controllers.

Signed-off-by: Wesley Cheng <[email protected]>
---
drivers/usb/dwc3/core.h | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
index df544ec730d2..f3bbbc1947bd 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
@@ -1259,6 +1259,7 @@ struct dwc3 {
#define DWC31_REVISION_170A 0x3137302a
#define DWC31_REVISION_180A 0x3138302a
#define DWC31_REVISION_190A 0x3139302a
+#define DWC31_REVISION_200A 0x3230302a

#define DWC32_REVISION_ANY 0x0
#define DWC32_REVISION_100A 0x3130302a


2024-03-01 21:45:53

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH] usb: dwc3: core: Add DWC31 version 2.00a controller

On Fri, Mar 01, 2024 at 01:35:54PM -0800, Wesley Cheng wrote:
> Add revision value for identifying DWC31 version 2.00a based controllers.
>
> Signed-off-by: Wesley Cheng <[email protected]>
> ---
> drivers/usb/dwc3/core.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
> index df544ec730d2..f3bbbc1947bd 100644
> --- a/drivers/usb/dwc3/core.h
> +++ b/drivers/usb/dwc3/core.h
> @@ -1259,6 +1259,7 @@ struct dwc3 {
> #define DWC31_REVISION_170A 0x3137302a
> #define DWC31_REVISION_180A 0x3138302a
> #define DWC31_REVISION_190A 0x3139302a
> +#define DWC31_REVISION_200A 0x3230302a

What code uses this define?

Why add a define that is not used?

confused,

greg k-h

2024-03-01 22:48:26

by Wesley Cheng

[permalink] [raw]
Subject: Re: [PATCH] usb: dwc3: core: Add DWC31 version 2.00a controller

Hi Greg,

On 3/1/2024 1:45 PM, Greg KH wrote:
> On Fri, Mar 01, 2024 at 01:35:54PM -0800, Wesley Cheng wrote:
>> Add revision value for identifying DWC31 version 2.00a based controllers.
>>
>> Signed-off-by: Wesley Cheng <[email protected]>
>> ---
>> drivers/usb/dwc3/core.h | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
>> index df544ec730d2..f3bbbc1947bd 100644
>> --- a/drivers/usb/dwc3/core.h
>> +++ b/drivers/usb/dwc3/core.h
>> @@ -1259,6 +1259,7 @@ struct dwc3 {
>> #define DWC31_REVISION_170A 0x3137302a
>> #define DWC31_REVISION_180A 0x3138302a
>> #define DWC31_REVISION_190A 0x3139302a
>> +#define DWC31_REVISION_200A 0x3230302a
>
> What code uses this define?
>

Don't think there is anything within the DWC3 core that would be
different specifically for 2.00a versus previous revisions. (so far)

> Why add a define that is not used?
>

There is a running list of all the DWC3 revisions. Not all of them are
being used, so my understanding was that we're just keeping track of all
possible version values that can be read from the DWC3 version HW
register. If this is the not the case, maybe we can just leave this out
until we find a need to add it.

Thanks
Wesley Cheng

2024-03-07 02:02:30

by Thinh Nguyen

[permalink] [raw]
Subject: Re: [PATCH] usb: dwc3: core: Add DWC31 version 2.00a controller

On Fri, Mar 01, 2024, Wesley Cheng wrote:
> Hi Greg,
>
> On 3/1/2024 1:45 PM, Greg KH wrote:
> > On Fri, Mar 01, 2024 at 01:35:54PM -0800, Wesley Cheng wrote:
> > > Add revision value for identifying DWC31 version 2.00a based controllers.
> > >
> > > Signed-off-by: Wesley Cheng <[email protected]>
> > > ---
> > > drivers/usb/dwc3/core.h | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
> > > index df544ec730d2..f3bbbc1947bd 100644
> > > --- a/drivers/usb/dwc3/core.h
> > > +++ b/drivers/usb/dwc3/core.h
> > > @@ -1259,6 +1259,7 @@ struct dwc3 {
> > > #define DWC31_REVISION_170A 0x3137302a
> > > #define DWC31_REVISION_180A 0x3138302a
> > > #define DWC31_REVISION_190A 0x3139302a
> > > +#define DWC31_REVISION_200A 0x3230302a
> >
> > What code uses this define?
> >
>
> Don't think there is anything within the DWC3 core that would be different
> specifically for 2.00a versus previous revisions. (so far)
>
> > Why add a define that is not used?
> >
>
> There is a running list of all the DWC3 revisions. Not all of them are
> being used, so my understanding was that we're just keeping track of all
> possible version values that can be read from the DWC3 version HW register.
> If this is the not the case, maybe we can just leave this out until we find
> a need to add it.
>

Greg already picked this up, so it's fine. But I would prefer to only
define new macros when they are needed. There are a lot of versions and
configurations we don't list in dwc3.

Thanks,
Thinh