[PATCH v2 1/5] dt-bindings: phy: imx8mq-usb: add compatible "fsl,imx95-usb-phy"

Krzysztof Kozlowski krzk at kernel.org
Tue Aug 6 22:48:43 PDT 2024


On 06/08/2024 18:11, Frank Li wrote:
> On Tue, Aug 06, 2024 at 10:29:47AM +0200, Krzysztof Kozlowski wrote:
>> On 06/08/2024 07:06, Xu Yang wrote:
>>> The usb phy in i.MX95 is compatible with i.MX8MP's, this will add a
>>> compatible "fsl,imx95-usb-phy" for i.MX95. Also change reg maxItems
>>> to 2 since i.MX95 needs another regmap to control Type-C Assist (TCA)
>>> block. Since i.MX95 usb phy is able to switch SS lanes, this will also
>>> add orientation-switch and port property to the file.
>>>
>>> Signed-off-by: Xu Yang <xu.yang_2 at nxp.com>
>>>
>>> ---
>>> Changes in v2:
>>>  - replace minItems with description in reg property
>>>  - remove orientation-switch and port
>>>  - refer to usb-switch.yaml
>>>  - use unevaluatedProperties
>>> ---
>>>  .../bindings/phy/fsl,imx8mq-usb-phy.yaml      | 42 ++++++++++++++++---
>>>  1 file changed, 37 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml b/Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml
>>> index dc3a3f709fea..6d6d211883ae 100644
>>> --- a/Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml
>>> +++ b/Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml
>>> @@ -11,12 +11,17 @@ maintainers:
>>>
>>>  properties:
>>>    compatible:
>>> -    enum:
>>> -      - fsl,imx8mq-usb-phy
>>> -      - fsl,imx8mp-usb-phy
>>> +    oneOf:
>>> +      - enum:
>>> +          - fsl,imx8mq-usb-phy
>>> +          - fsl,imx8mp-usb-phy
>>> +      - items:
>>> +          - const: fsl,imx95-usb-phy
>>> +          - const: fsl,imx8mp-usb-phy
>>>
>>>    reg:
>>> -    maxItems: 1
>>> +    minItems: 1
>>> +    maxItems: 2
>>>
>>>    "#phy-cells":
>>>      const: 0
>>> @@ -89,7 +94,34 @@ required:
>>>    - clocks
>>>    - clock-names
>>>
>>> -additionalProperties: false
>>> +allOf:
>>> +  - if:
>>> +      properties:
>>> +        compatible:
>>> +          contains:
>>> +            enum:
>>> +              - fsl,imx95-usb-phy
>>> +    then:
>>> +      properties:
>>> +        reg:
>>> +          items:
>>> +            - description: USB PHY Control range
>>> +            - description: USB PHY TCA Block range
>>> +    else:
>>> +      properties:
>>> +        reg:
>>> +          maxItems: 1
>>> +
>>> +  - if:
>>> +      properties:
>>> +        compatible:
>>> +          contains:
>>> +            enum:
>>> +              - fsl,imx95-usb-phy
>>> +    then:
>>> +      $ref: /schemas/usb/usb-switch.yaml#
>>
>> ref should be rather in top-level. You can always disallow certain
>> properties for devices, if they are really not applicable.
> 
> There are some "required" in usb-switch.yaml,
> 
> oneOf:
>   - required:
>       - port
>   - required:
>       - ports
> 
> If put on the top, it may cause DTB check warning for other compatible
> strings, which have not support usb-switch.

Hm, indeed, that's unusual case to have such different devices in one
schema. Did you test that above $ref in if: actually works?

Best regards,
Krzysztof




More information about the linux-phy mailing list