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

Rob Herring robh at kernel.org
Thu Jul 11 15:36:18 PDT 2024


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 at amd.com>
> ---
>  .../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



More information about the linux-arm-kernel mailing list