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

Stefan Wahren
2023-12-03T16:56:53Z

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