Re: [PATCH v2 1/5] dt-bindings: phy: imx8mq-usb: add compatible "fsl,imx95-usb-phy"
From: Xu Yang <xu.yang_2@nxp.com>
Date: 2024-08-07 02:25:43
Also in:
imx, linux-arm-kernel, linux-phy, linux-usb
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: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.
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@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
Frankquoted
Best regards, Krzysztof