Re: [PATCH V3 1/3] dt-bindings: usb: xhci: add support for BCM2711

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

 



Hi,

Am 03.12.23 um 12:11 schrieb Conor Dooley:
On Sun, Dec 03, 2023 at 11:06:43AM +0000, Conor Dooley wrote:
On Sun, Dec 03, 2023 at 12:22:15AM +0100, Stefan Wahren wrote:
The xHCI IP on the BCM2711 SoC is compatible to "brcm,xhci-brcm-v2",
but also requires a power domain.
Hmm
This & the driver change makes it look like your compatible setup should
be `compatible = "brcm,bcm2711-xhci", "brcm,xhci-brcm-v2";.
i don't have insight into the hardware, but the fact that the other
Broadcom SoC didn't require a power domain before let me think we
shouldn't do this. Otherwise this binding was broken before. But Justin
and Florian could clarify this.
If the pattern in this patch was repeated, we'd have to modify the
driver like your 2nd patch does for each and new broadcom system that
needs the power domain.
From my understanding the DT compatible should be specific as possible.
This is what i did, especially because the Raspberry Pi boards tends to
needs some quirks.

Best regards


So introduce a new compatible
and the specific constraints. Since the key allOf can only occur
once, merge the reference below.

Signed-off-by: Stefan Wahren <wahrenst@xxxxxxx>
Reviewed-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>

Cheers,
Conor.

---
  .../devicetree/bindings/usb/generic-xhci.yaml | 21 ++++++++++++++++---
  1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/usb/generic-xhci.yaml b/Documentation/devicetree/bindings/usb/generic-xhci.yaml
index 594ebb3ee432..b6e10b0a3c24 100644
--- a/Documentation/devicetree/bindings/usb/generic-xhci.yaml
+++ b/Documentation/devicetree/bindings/usb/generic-xhci.yaml
@@ -9,9 +9,6 @@ title: USB xHCI Controller
  maintainers:
    - Mathias Nyman <mathias.nyman@xxxxxxxxx>

-allOf:
-  - $ref: usb-xhci.yaml#
-
  properties:
    compatible:
      oneOf:
@@ -28,6 +25,7 @@ properties:
        - description: Broadcom STB SoCs with xHCI
          enum:
            - brcm,xhci-brcm-v2
+          - brcm,bcm2711-xhci
            - brcm,bcm7445-xhci
        - description: Generic xHCI device
          const: xhci-platform
@@ -49,6 +47,9 @@ properties:
        - const: core
        - const: reg

+  power-domains:
+    maxItems: 1
+
  unevaluatedProperties: false

  required:
@@ -56,6 +57,20 @@ required:
    - reg
    - interrupts

+allOf:
+  - $ref: usb-xhci.yaml#
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: brcm,bcm2711-xhci
+    then:
+      required:
+        - power-domains
+    else:
+      properties:
+        power-domains: false
+
  examples:
    - |
      usb@f0931000 {
--
2.34.1



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel






[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