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