* [PATCH] dt-bindings: usb: dwc3: Add snps,enable_guctl1_ipd_quirk
@ 2024-02-15 19:01 Radhey Shyam Pandey
2024-02-15 19:39 ` Conor Dooley
0 siblings, 1 reply; 3+ messages in thread
From: Radhey Shyam Pandey @ 2024-02-15 19:01 UTC (permalink / raw)
To: gregkh, robh, krzysztof.kozlowski+dt, conor+dt, balbi,
Thinh.Nguyen
Cc: linux-usb, devicetree, linux-kernel, git, Piyush Mehta,
Radhey Shyam Pandey
From: Piyush Mehta <piyush.mehta@amd.com>
SNPS controller when configured in HOST mode maintains Inter Packet
Delay (IPD) of ~380ns which works with most of the super-speed hubs
except VIA-LAB hubs. When IPD is ~380ns HOST controller fails to
enumerate FS/LS devices when connected behind VIA-LAB hubs.
To address the above issue, add 'snps,enable_guctl1_ipd_quirk' quirk,
This quirk set the bit 9 of GUCTL1 that enables the workaround in HW to
reduce the ULPI clock latency by 1 cycle, thus reducing the IPD (~360ns).
Signed-off-by: Piyush Mehta <piyush.mehta@amd.com>
Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
---
In the zynqmp public database GUCTL1 bit 9 is reserved but it is used to
enable a fix related to Inter Packet Delay in HW. The documentation team
is working to update GUCTL1 bit 9 description.
---
Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
index 8f5d250070c7..b226457a6e50 100644
--- a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
@@ -280,6 +280,13 @@ properties:
xhci reset. And the vbus will back to 5V automatically when reset done.
type: boolean
+ snps,enable_guctl1_ipd_quirk:
+ description:
+ When set, HW reduce the ULPI clock latency by 1 cycle, thus reducing
+ the IPD (~360ns) and making controller enumerate FS/LS devices
+ connected behind via-hubs.
+ type: boolean
+
snps,is-utmi-l1-suspend:
description:
True when DWC3 asserts output signal utmi_l1_suspend_n, false when
--
2.34.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] dt-bindings: usb: dwc3: Add snps,enable_guctl1_ipd_quirk
2024-02-15 19:01 [PATCH] dt-bindings: usb: dwc3: Add snps,enable_guctl1_ipd_quirk Radhey Shyam Pandey
@ 2024-02-15 19:39 ` Conor Dooley
2024-02-26 17:31 ` Pandey, Radhey Shyam
0 siblings, 1 reply; 3+ messages in thread
From: Conor Dooley @ 2024-02-15 19:39 UTC (permalink / raw)
To: Radhey Shyam Pandey
Cc: gregkh, robh, krzysztof.kozlowski+dt, conor+dt, balbi,
Thinh.Nguyen, linux-usb, devicetree, linux-kernel, git,
Piyush Mehta
[-- Attachment #1: Type: text/plain, Size: 2214 bytes --]
On Fri, Feb 16, 2024 at 12:31:05AM +0530, Radhey Shyam Pandey wrote:
> From: Piyush Mehta <piyush.mehta@amd.com>
>
> SNPS controller when configured in HOST mode maintains Inter Packet
> Delay (IPD) of ~380ns which works with most of the super-speed hubs
> except VIA-LAB hubs. When IPD is ~380ns HOST controller fails to
> enumerate FS/LS devices when connected behind VIA-LAB hubs.
>
> To address the above issue, add 'snps,enable_guctl1_ipd_quirk' quirk,
> This quirk set the bit 9 of GUCTL1 that enables the workaround in HW to
> reduce the ULPI clock latency by 1 cycle, thus reducing the IPD (~360ns).
>
> Signed-off-by: Piyush Mehta <piyush.mehta@amd.com>
> Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
> ---
> In the zynqmp public database GUCTL1 bit 9 is reserved but it is used to
> enable a fix related to Inter Packet Delay in HW. The documentation team
> is working to update GUCTL1 bit 9 description.
Does this just affect the zynqmp?
If it does, then you don't need a property - do this based on
compatible.
If it does affect other devices, what prevents the workaround being
performed for all dwc3 controllers?
Cheers,
Conor.
> ---
> Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
> index 8f5d250070c7..b226457a6e50 100644
> --- a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
> +++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
> @@ -280,6 +280,13 @@ properties:
> xhci reset. And the vbus will back to 5V automatically when reset done.
> type: boolean
>
> + snps,enable_guctl1_ipd_quirk:
No underscores in properties please.
> + description:
> + When set, HW reduce the ULPI clock latency by 1 cycle, thus reducing
> + the IPD (~360ns) and making controller enumerate FS/LS devices
> + connected behind via-hubs.
> + type: boolean
> +
> snps,is-utmi-l1-suspend:
> description:
> True when DWC3 asserts output signal utmi_l1_suspend_n, false when
> --
> 2.34.1
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [PATCH] dt-bindings: usb: dwc3: Add snps,enable_guctl1_ipd_quirk
2024-02-15 19:39 ` Conor Dooley
@ 2024-02-26 17:31 ` Pandey, Radhey Shyam
0 siblings, 0 replies; 3+ messages in thread
From: Pandey, Radhey Shyam @ 2024-02-26 17:31 UTC (permalink / raw)
To: Conor Dooley
Cc: gregkh@linuxfoundation.org, robh@kernel.org,
krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
balbi@kernel.org, Thinh.Nguyen@synopsys.com,
linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, git (AMD-Xilinx), Piyush Mehta
> -----Original Message-----
> From: Conor Dooley <conor@kernel.org>
> Sent: Friday, February 16, 2024 1:09 AM
> To: Pandey, Radhey Shyam <radhey.shyam.pandey@amd.com>
> Cc: gregkh@linuxfoundation.org; robh@kernel.org;
> krzysztof.kozlowski+dt@linaro.org; conor+dt@kernel.org; balbi@kernel.org;
> Thinh.Nguyen@synopsys.com; linux-usb@vger.kernel.org;
> devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; git (AMD-Xilinx)
> <git@amd.com>; Piyush Mehta <piyush.mehta@amd.com>
> Subject: Re: [PATCH] dt-bindings: usb: dwc3: Add
> snps,enable_guctl1_ipd_quirk
>
> On Fri, Feb 16, 2024 at 12:31:05AM +0530, Radhey Shyam Pandey wrote:
> > From: Piyush Mehta <piyush.mehta@amd.com>
> >
> > SNPS controller when configured in HOST mode maintains Inter Packet
> > Delay (IPD) of ~380ns which works with most of the super-speed hubs
> > except VIA-LAB hubs. When IPD is ~380ns HOST controller fails to
> > enumerate FS/LS devices when connected behind VIA-LAB hubs.
> >
> > To address the above issue, add 'snps,enable_guctl1_ipd_quirk' quirk,
> > This quirk set the bit 9 of GUCTL1 that enables the workaround in HW
> > to reduce the ULPI clock latency by 1 cycle, thus reducing the IPD (~360ns).
> >
> > Signed-off-by: Piyush Mehta <piyush.mehta@amd.com>
> > Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
> > ---
> > In the zynqmp public database GUCTL1 bit 9 is reserved but it is used
> > to enable a fix related to Inter Packet Delay in HW. The documentation
> > team is working to update GUCTL1 bit 9 description.
>
> Does this just affect the zynqmp?
> If it does, then you don't need a property - do this based on compatible.
Yes this only affect zynqmp. I will apply IPD quirk based on zynqmp compatible.
There is related discussion ongoing[1] on how to do it ? i.e in core or platform
glue driver. Thinh suggested have it in platform code and I am working on it.
So will drop this binding patch.
[1]: https://lore.kernel.org/all/20240223230758.s7rodlxbsfa44frw@synopsys.com/
Thanks,
Radhey
> If it does affect other devices, what prevents the workaround being
> performed for all dwc3 controllers?
>
> Cheers,
> Conor.
>
> > ---
> > Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 7 +++++++
> > 1 file changed, 7 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
> > b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
> > index 8f5d250070c7..b226457a6e50 100644
> > --- a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
> > +++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
> > @@ -280,6 +280,13 @@ properties:
> > xhci reset. And the vbus will back to 5V automatically when reset done.
> > type: boolean
> >
> > + snps,enable_guctl1_ipd_quirk:
>
> No underscores in properties please.
>
> > + description:
> > + When set, HW reduce the ULPI clock latency by 1 cycle, thus reducing
> > + the IPD (~360ns) and making controller enumerate FS/LS devices
> > + connected behind via-hubs.
> > + type: boolean
> > +
> > snps,is-utmi-l1-suspend:
> > description:
> > True when DWC3 asserts output signal utmi_l1_suspend_n, false
> > when
> > --
> > 2.34.1
> >
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-02-26 17:31 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-15 19:01 [PATCH] dt-bindings: usb: dwc3: Add snps,enable_guctl1_ipd_quirk Radhey Shyam Pandey
2024-02-15 19:39 ` Conor Dooley
2024-02-26 17:31 ` Pandey, Radhey Shyam
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).