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

From: Potthuri, Sai Krishna
Date: Mon Jul 15 2024 - 05:41:01 EST


Hi Rob,

> -----Original Message-----
> From: Rob Herring <robh@xxxxxxxxxx>
> Sent: Friday, July 12, 2024 4:06 AM
> To: Potthuri, Sai Krishna <sai.krishna.potthuri@xxxxxxx>
> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>; Simek, Michal
> <michal.simek@xxxxxxx>; Krzysztof Kozlowski
> <krzysztof.kozlowski+dt@xxxxxxxxxx>; Conor Dooley <conor+dt@xxxxxxxxxx>;
> Buddhabhatti, Jay <jay.buddhabhatti@xxxxxxx>; Dhaval Shah
> <dhaval.r.shah@xxxxxxx>; Kundanala, Praveen Teja
> <praveen.teja.kundanala@xxxxxxx>; Greg Kroah-Hartman
> <gregkh@xxxxxxxxxxxxxxxxxxx>; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; linux-gpio@xxxxxxxxxxxxxxx;
> devicetree@xxxxxxxxxxxxxxx; saikrishna12468@xxxxxxxxx; git (AMD-Xilinx)
> <git@xxxxxxx>
> Subject: Re: [PATCH 1/3] dt-bindings: pinctrl: Add support for Xilinx Versal
> platform
>
> 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.ya
> > +++ ml
> > @@ -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.
Ok, got it. Realized now that while testing i used group which is common for
both the platforms, might be that is the reason it did not flagged any issue.
>
> However, based on the rest of the patch, you should just do a new schema
> doc. There's little overlap of the values.
Ok, will create a new binding document for Versal platform.

Regards
Sai Krishna