Re: [PATCH v2 1/5] dt-bindings: phy: imx8mq-usb: add compatible "fsl,imx95-usb-phy"
From: Krzysztof Kozlowski <krzk@kernel.org>
Date: 2024-08-07 05:48:51
Also in:
imx, linux-devicetree, linux-phy, linux-usb
On 06/08/2024 18:11, Frank Li wrote:
On Tue, Aug 06, 2024 at 10:29:47AM +0200, Krzysztof Kozlowski wrote:quoted
On 06/08/2024 07:06, Xu Yang wrote:quoted
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@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