RE: [PATCH] dt-bindings: usb: renesas,usb-xhci: convert to YAML

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux