]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
dt-bindings: firmware: xilinx: Add conditional pinctrl schema
authorRonak Jain <ronak.jain@amd.com>
Fri, 12 Dec 2025 10:05:42 +0000 (02:05 -0800)
committerRob Herring (Arm) <robh@kernel.org>
Wed, 4 Feb 2026 02:58:09 +0000 (20:58 -0600)
Updates the Device Tree bindings for Xilinx firmware by introducing
conditional schema references for the pinctrl node.

Previously, the pinctrl node directly referenced
xlnx,zynqmp-pinctrl.yaml. However, this patch modifies the schema to
conditionally apply the correct pinctrl schema based on the compatible
property. Specifically:
- If compatible contains "xlnx,zynqmp-pinctrl", reference
  xlnx,zynqmp-pinctrl.yaml.
- If compatible contains "xlnx,versal-pinctrl", reference
  xlnx,versal-pinctrl.yaml.

Additionally, an example entry for "xlnx,versal-pinctrl" has been
added under the examples section.

Signed-off-by: Ronak Jain <ronak.jain@amd.com>
Link: https://patch.msgid.link/20251212100542.2756757-3-ronak.jain@amd.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml

index 20908db3c25900ad084b0194052b7bf9bcc40f87..1903c072ed6fc244adee42ccfd34c069f0bcfc05 100644 (file)
@@ -76,7 +76,6 @@ properties:
     type: object
 
   pinctrl:
-    $ref: /schemas/pinctrl/xlnx,zynqmp-pinctrl.yaml#
     description: The pinctrl node provides access to pinconfig and pincontrol
       functionality available in firmware.
     type: object
@@ -105,6 +104,21 @@ properties:
       vector.
     type: object
 
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: xlnx,zynqmp-firmware
+    then:
+      properties:
+        pinctrl:
+          $ref: /schemas/pinctrl/xlnx,zynqmp-pinctrl.yaml#
+    else:
+      properties:
+        pinctrl:
+          $ref: /schemas/pinctrl/xlnx,versal-pinctrl.yaml#
+
 required:
   - compatible
 
@@ -163,6 +177,10 @@ examples:
         compatible = "xlnx,versal-fpga";
       };
 
+      pinctrl {
+        compatible = "xlnx,versal-pinctrl";
+      };
+
       xlnx_aes: zynqmp-aes {
         compatible = "xlnx,zynqmp-aes";
       };