[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 22:57:01 PDT 2024
On Wed, Aug 07, 2024 at 07:48:43AM +0200, Krzysztof Kozlowski wrote:
> 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?
Yes, it works and this yaml pass dt_binding_check and dtbs_check.
Thanks,
Xu Yang
>
> Best regards,
> Krzysztof
>
More information about the linux-arm-kernel
mailing list