RE: [PATCH 1/3] dt-bindings: pinctrl: Add support for Xilinx Versal platform
From: "Potthuri, Sai Krishna" <sai.krishna.potthuri@amd.com>
Date: 2024-07-15 09:40:49
Also in:
linux-devicetree, linux-gpio, lkml
Hi Rob,
-----Original Message----- From: Rob Herring <robh@kernel.org> Sent: Friday, July 12, 2024 4:06 AM To: Potthuri, Sai Krishna <sai.krishna.potthuri@amd.com> Cc: Linus Walleij <redacted>; Simek, Michal [off-list ref]; Krzysztof Kozlowski [off-list ref]; Conor Dooley [off-list ref]; Buddhabhatti, Jay [off-list ref]; Dhaval Shah [off-list ref]; Kundanala, Praveen Teja [off-list ref]; Greg Kroah-Hartman [off-list ref]; linux-arm-kernel@lists.infradead.org; linux- kernel@vger.kernel.org; linux-gpio@vger.kernel.org; devicetree@vger.kernel.org; saikrishna12468@gmail.com; git (AMD-Xilinx) [off-list ref] 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:quoted
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@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.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