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

Stefan Wahren wahrenst at gmx.net
Sun Dec 3 08:56:24 PST 2023


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 at gmx.net>
>> Reviewed-by: Conor Dooley <conor.dooley at microchip.com>
>>
>> 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 at intel.com>
>>>
>>> -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 at f0931000 {
>>> --
>>> 2.34.1
>>>
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel




More information about the linux-arm-kernel mailing list