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

Xu Yang xu.yang_2 at nxp.com
Tue Aug 6 19:24:58 PDT 2024


On Tue, Aug 06, 2024 at 12:11:55PM -0400, 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.

Yes, even though I move usb-switch to top and set false for certain properties,
dtbinding check still has below error:

/home/nxf75279/work/usb/Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.example.dtb: phy at 381f0040: 'oneOf' conditional failed, one must be fixed:
        'port' is a required property
        'ports' is a required property
        from schema $id: http://devicetree.org/schemas/phy/fsl,imx8mq-usb-phy.yaml#

Thanks,
Xu Yang

> 
> Frank
> >
> > Best regards,
> > Krzysztof
> >



More information about the linux-phy mailing list