Re: [PATCH 1/3] dt-bindings: pinctrl: Add support for Xilinx Versal platform

From: Rob Herring
Date: Thu Jul 11 2024 - 18:36:33 EST


On Thu, Jul 11, 2024 at 04:03:15PM +0530, Sai Krishna Potthuri wrote:
> Add Xilinx Versal compatible string and corresponding groups, function and
> pins properties to support pin controller features on Versal platform.
>
> Signed-off-by: Sai Krishna Potthuri <sai.krishna.potthuri@xxxxxxx>
> ---
> .../bindings/pinctrl/xlnx,zynqmp-pinctrl.yaml | 509 +++++++++++-------
> 1 file changed, 329 insertions(+), 180 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/pinctrl/xlnx,zynqmp-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/xlnx,zynqmp-pinctrl.yaml
> index ce66fd15ff9c..68c378b17f49 100644
> --- a/Documentation/devicetree/bindings/pinctrl/xlnx,zynqmp-pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/xlnx,zynqmp-pinctrl.yaml
> @@ -28,7 +28,9 @@ description: |
>
> properties:
> compatible:
> - const: xlnx,zynqmp-pinctrl
> + enum:
> + - xlnx,zynqmp-pinctrl
> + - xlnx,versal-pinctrl
>
> patternProperties:
> '^(.*-)?(default|gpio-grp)$':
> @@ -46,196 +48,334 @@ patternProperties:
> description:
> List of pins to select (either this or "groups" must be specified)
> items:
> - pattern: '^MIO([0-9]|[1-6][0-9]|7[0-7])$'
> + allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: xlnx,zynqmp-pinctrl
> + then:
> + pattern: '^MIO([0-9]|[1-6][0-9]|7[0-7])$'
> + else:
> + pattern: '^((LPD|PMC)_)?MIO([0-9]|[1-6][0-9]|7[0-7])$'

Did you test whether this works? It doesn't because the schema is
nonsense. The schema applies to a property's value, but the "if" schema
applies to a node. And it's not even the node you are at, but the parent
node. IOW, there is no "compatible" in this node.

The 'else' schema covers both cases, so I'd just change the pattern and
be done with it.

However, based on the rest of the patch, you should just do a new schema
doc. There's little overlap of the values.

Rob