Message ID | 1592219989-28631-1-git-send-email-yoshihiro.shimoda.uh@renesas.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | dt-bindings: usb: renesas,usb-xhci: convert to YAML | expand |
Hi Shimoda-san, On Mon, Jun 15, 2020 at 1:21 PM Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> wrote: > Convert renesas related part of usb-xhci to YAML. > > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> 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. Would it make sense to keep them combined in a single document? Or are there too many differences? > @@ -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@bp.renesas.com> > + - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > + > +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? > + - const: renesas,rcar-gen2-xhci # R-Car Gen2 and RZ/G1 > + - 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 > + > + 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. Gr{oetje,eeting}s, Geert
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@renesas.com> wrote: > > Convert renesas related part of usb-xhci to YAML. > > > > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > > 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@bp.renesas.com> > > + - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > > + > > +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@gmail.com> + - Gregory CLEMENT <gregory.clement@bootlin.com> + - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> + - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> + +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>; + };
Hi Shimoda-san, On Mon, Jun 22, 2020 at 7:21 AM Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> wrote: > > From: Geert Uytterhoeven, Sent: Thursday, June 18, 2020 4:52 PM > > On Mon, Jun 15, 2020 at 1:21 PM Yoshihiro Shimoda > > <yoshihiro.shimoda.uh@renesas.com> wrote: > > > Convert renesas related part of usb-xhci to YAML. > > > > > > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > > 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. OK. Makes sense, as the Renesas parts are not compatible with generic-xhci. Gr{oetje,eeting}s, Geert
Hi Geert-san, > From: Geert Uytterhoeven, Sent: Monday, June 22, 2020 4:06 PM > > Hi Shimoda-san, > > On Mon, Jun 22, 2020 at 7:21 AM Yoshihiro Shimoda > <yoshihiro.shimoda.uh@renesas.com> wrote: > > > From: Geert Uytterhoeven, Sent: Thursday, June 18, 2020 4:52 PM > > > On Mon, Jun 15, 2020 at 1:21 PM Yoshihiro Shimoda > > > <yoshihiro.shimoda.uh@renesas.com> wrote: > > > > Convert renesas related part of usb-xhci to YAML. > > > > > > > > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > > > > 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. > > OK. Makes sense, as the Renesas parts are not compatible with generic-xhci. Yes. So, I'll add such information into the commit description on v2. Best regards, Yoshihiro Shimoda > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. > -- Linus Torvalds
diff --git a/Documentation/devicetree/bindings/usb/renesas,usb-xhci.yaml b/Documentation/devicetree/bindings/usb/renesas,usb-xhci.yaml new file mode 100644 index 0000000..279413b --- /dev/null +++ b/Documentation/devicetree/bindings/usb/renesas,usb-xhci.yaml @@ -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@bp.renesas.com> + - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> + +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 + - 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: + 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 + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/r8a7795-cpg-mssr.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/power/r8a7795-sysc.h> + + xhci0: usb@ee000000 { + compatible = "renesas,xhci-r8a7795", "renesas,rcar-gen3-xhci"; + reg = <0xee000000 0xc00>; + interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 328>; + power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; + resets = <&cpg 328>; + }; diff --git a/Documentation/devicetree/bindings/usb/usb-xhci.txt b/Documentation/devicetree/bindings/usb/usb-xhci.txt index b120dd6..0c5cff8 100644 --- 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)
Convert renesas related part of usb-xhci to YAML. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> --- .../devicetree/bindings/usb/renesas,usb-xhci.yaml | 84 ++++++++++++++++++++++ Documentation/devicetree/bindings/usb/usb-xhci.txt | 18 ----- 2 files changed, 84 insertions(+), 18 deletions(-) create mode 100644 Documentation/devicetree/bindings/usb/renesas,usb-xhci.yaml