Hi Geert-san, Thank you for your review! > From: Geert Uytterhoeven, Sent: Thursday, June 18, 2020 4:52 PM > > Hi Shimoda-san, > > On Mon, Jun 15, 2020 at 1:21 PM Yoshihiro Shimoda > <yoshihiro.shimoda.uh@xxxxxxxxxxx> wrote: > > Convert renesas related part of usb-xhci to YAML. > > > > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> > > Thanks for your patch! > > [reordering diff for easier commenting] > > > --- a/Documentation/devicetree/bindings/usb/usb-xhci.txt > > +++ b/Documentation/devicetree/bindings/usb/usb-xhci.txt > > @@ -7,24 +7,6 @@ Required properties: > > - "marvell,armada3700-xhci" for Armada 37xx SoCs > > - "marvell,armada-375-xhci" for Armada 375 SoCs > > - "marvell,armada-380-xhci" for Armada 38x SoCs > > - - "renesas,xhci-r8a7742" for r8a7742 SoC > > - - "renesas,xhci-r8a7743" for r8a7743 SoC > > - - "renesas,xhci-r8a7744" for r8a7744 SoC > > - - "renesas,xhci-r8a774a1" for r8a774a1 SoC > > - - "renesas,xhci-r8a774b1" for r8a774b1 SoC > > - - "renesas,xhci-r8a774c0" for r8a774c0 SoC > > - - "renesas,xhci-r8a7790" for r8a7790 SoC > > - - "renesas,xhci-r8a7791" for r8a7791 SoC > > - - "renesas,xhci-r8a7793" for r8a7793 SoC > > - - "renesas,xhci-r8a7795" for r8a7795 SoC > > - - "renesas,xhci-r8a7796" for r8a77960 SoC > > - - "renesas,xhci-r8a77961" for r8a77961 SoC > > - - "renesas,xhci-r8a77965" for r8a77965 SoC > > - - "renesas,xhci-r8a77990" for r8a77990 SoC > > - - "renesas,rcar-gen2-xhci" for a generic R-Car Gen2 or RZ/G1 compatible > > - device > > - - "renesas,rcar-gen3-xhci" for a generic R-Car Gen3 or RZ/G2 compatible > > - device > > - "brcm,bcm7445-xhci" for Broadcom STB SoCs with XHCI > > - "xhci-platform" (deprecated) > > So you're just extracting the Renesas parts... > > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/usb/renesas,usb-xhci.yaml > > ... and putting them in a separate file. Yes. > Would it make sense to keep them combined in a single document? > Or are there too many differences? I thought there were too many differences. At first, I had converted all to a single document [1]. But, I was thinking there was a not good way in validation point of view because some properties needed to adjust for all platforms. Also, unfortunately, some compatibles and specific properties are not documented... So, I had extracted the Renesas parts only. [1] Please refer to the end of this email. > > @@ -0,0 +1,84 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/usb/renesas,usb-xhci.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Renesas USB xHCI controllers > > + > > +maintainers: > > + - Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > > + - Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> > > + > > +allOf: > > + - $ref: "usb-hcd.yaml" > > + > > +properties: > > + compatible: > > + oneOf: > > + - items: > > + - enum: > > + - renesas,xhci-r8a7742 # r8a7742 SoC > > + - renesas,xhci-r8a7743 # r8a7743 SoC > > + - renesas,xhci-r8a7744 # r8a7744 SoC > > + - renesas,xhci-r8a7790 # r8a7790 SoC > > + - renesas,xhci-r8a7791 # r8a7791 SoC > > + - renesas,xhci-r8a7793 # r8a7793 SoC > > These comments don't add much value, as they just duplicate the SoC part > numbers. What about using SoC part names (e.g. R-Car H2) instead, like > is done in other bindings? Oops! I just converted the comments from the original doc... Yes, I should use SoC part names. > > + - const: renesas,rcar-gen2-xhci > > # R-Car Gen2 and RZ/G1 I'll add the comment. > > + - items: > > + - enum: > > + - renesas,xhci-r8a774a1 # r8a774a1 SoC > > + - renesas,xhci-r8a774b1 # r8a774b1 SoC > > + - renesas,xhci-r8a774c0 # r8a774c0 SoC > > + - renesas,xhci-r8a7795 # r8a7795 SoC > > + - renesas,xhci-r8a7796 # r8a77960 SoC > > + - renesas,xhci-r8a77961 # r8a77961 SoC > > + - renesas,xhci-r8a77965 # r8a77965 SoC > > + - renesas,xhci-r8a77990 # r8a77990 SoC > > Likewise > > > + - const: renesas,rcar-gen3-xhci > > # R-Car Gen3 and RZ/G2 I'll fix them. > > + > > + reg: > > + maxItems: 1 > > + > > + interrupts: > > + maxItems: 1 > > + > > + clocks: > > + maxItems: 1 > > + > > + phys: > > + maxItems: 1 > > + > > + phy-names: > > + maxItems: 1 > > + items: > > + - const: usb > > + > > + power-domains: > > + maxItems: 1 > > + > > + resets: > > + maxItems: 1 > > + > > +required: > > + - compatible > > + - reg > > + - interrupts > > + - clocks > > Missing power-domains and resets. I'll add them. Best regards, Yoshihiro Shimoda --- diff --git a/Documentation/devicetree/bindings/usb/usb-xhci.yaml b/Documentation/devicetree/bindings/usb/usb-xhci.yaml new file mode 100644 index 0000000..dafa2de --- /dev/null +++ b/Documentation/devicetree/bindings/usb/usb-xhci.yaml @@ -0,0 +1,117 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/usb-xhci.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: USB xHCI controllers + +maintainers: + - Al Cooper <alcooperx@xxxxxxxxx> + - Gregory CLEMENT <gregory.clement@xxxxxxxxxxx> + - Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> + - Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> + +allOf: + - $ref: "usb-hcd.yaml" + +properties: + compatible: + oneOf: + - items: + - enum: + - brcm,bcm7445-xhci # Broadcom STB SoCs with XHCI + - marvell,armada3700-xhci # Armada 37xx SoCs + - const: generic-xhci + - items: + - enum: + - marvell,armada-375-xhci # Armada 375 SoCs + - marvell,armada-380-xhci # Armada 38x SoCs + - items: + - const: generic-xhci + - items: + - enum: + - renesas,xhci-r8a7742 # r8a7742 SoC + - renesas,xhci-r8a7743 # r8a7743 SoC + - renesas,xhci-r8a7744 # r8a7744 SoC + - renesas,xhci-r8a7790 # r8a7790 SoC + - renesas,xhci-r8a7791 # r8a7791 SoC + - renesas,xhci-r8a7793 # r8a7793 SoC + - const: renesas,rcar-gen2-xhci + - items: + - enum: + - renesas,xhci-r8a774a1 # r8a774a1 SoC + - renesas,xhci-r8a774b1 # r8a774b1 SoC + - renesas,xhci-r8a774c0 # r8a774c0 SoC + - renesas,xhci-r8a7795 # r8a7795 SoC + - renesas,xhci-r8a7796 # r8a77960 SoC + - renesas,xhci-r8a77961 # r8a77961 SoC + - renesas,xhci-r8a77965 # r8a77965 SoC + - renesas,xhci-r8a77990 # r8a77990 SoC + - const: renesas,rcar-gen3-xhci + + reg: + minItems: 1 + maxItems: 2 + + interrupts: + minItems: 1 + + clocks: + minItems: 1 + maxItems: 2 + + clock-names: + minItems: 1 + maxItems: 2 + items: + - const: core + - const: reg + + usb2-lpm-disable: + description: + indicate if we don't want to enable USB2 HW LPM + + usb3-lpm-capable: + description: + determines if platform is USB3 LPM capable + + quirk-broken-port-ped: + description: + set if the controller has broken port disable mechanism + + imod-interval-ns: + description: + default interrupt moderation interval is 5000ns + + phys: + minItems: 1 + maxItems: 3 + + phy-names: + minItems: 1 + maxItems: 3 + + power-domains: + maxItems: 1 + + resets: + maxItems: 1 + + dma-coherent: true + +required: + - compatible + - reg + - interrupts + +additionalProperties: false + +examples: + - | + + usb@f0931000 { + compatible = "generic-xhci"; + reg = <0xf0931000 0x8c8>; + interrupts = <0x0 0x4e 0x0>; + }; -- 2.7.4