Re: [RFC PATCH v2 3/3] dt-bindings: usb: snps,dwc3: add generic-xhci as child

From: Jung Daehwan
Date: Mon Jan 02 2023 - 00:51:45 EST


On Thu, Dec 29, 2022 at 11:23:02AM +0100, Krzysztof Kozlowski wrote:
> On 29/12/2022 10:57, Daehwan Jung wrote:
> > Currently, dwc3 invokes just xhci platform driver(generic-xhci) without
> > DT schema even though xhci works as child of dwc3. It makes sense to add
> > xhci as child of dwc3 with DT schema. It also supports to use another
> > compatible in xhci platform driver.
>
> You use some driver as an argument for hardware description, which is
> not what we need. Describe the hardware.
>

OK. I will it on next submission.

> >
> > Signed-off-by: Daehwan Jung <dh10.jung@xxxxxxxxxxx>
> > ---
> > .../devicetree/bindings/usb/snps,dwc3.yaml | 29 +++++++++++++++++++
> > 1 file changed, 29 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
> > index 6d78048c4613..83ed7c526dba 100644
> > --- a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
> > +++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
> > @@ -360,8 +360,22 @@ properties:
> > description:
> > Enable USB remote wakeup.
> >
> > + "#address-cells":
> > + enum: [ 1, 2 ]
> > +
> > + "#size-cells":
> > + enum: [ 1, 2 ]
> > +
> > + ranges: true
> > +
> > unevaluatedProperties: false
> >
> > +# Required child node:
> > +patternProperties:
> > + "^usb@[0-9a-f]+$":
> > + $ref: generic-xhci.yaml#
> > + description: Required child node
>
> DWC does not have another piece of controller as child... DWC is the
> controller. Not mentioning that you now affect several other devices
> without describing the total hardware picture (just some drivers which
> is not that relevant).
>

DWC controller supports USB Host mode and it uses same resource and
really works as a child. I guess it's same on many SOCs, especially
mobile..

I just want to modify it to work with DT schema (dwc3 -> xhci-plat).
I think it needs to dicuss more..

Best Regards,
Jung Daehwan.

> > +
> > required:
> > - compatible
> > - reg
> > @@ -388,4 +402,19 @@ examples:
> > snps,dis_u2_susphy_quirk;
> > snps,dis_enblslpm_quirk;
> > };
> > + - |
> > + usb@4a200000 {
> > + compatible = "snps,dwc3";
> > + reg = <0x4a200000 0xcfff>;
> > + interrupts = <0 92 4>;
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > + ranges;
> > +
> > + xhci: usb@4a200000 {
> > + compatible = "generic-xhci";
>
> There are no such device...
>

> > + reg = <0x4a200000 0x7fff>;
> > + interrupts = <0 92 4>;
> > + };
> > + };
> > ...
>
> Best regards,
> Krzysztof
>
>