[PATCH v2 1/2] dt-bindings: firmware: arm,scmi: Add properties for i.MX95 Pinctrl OEM extensions

Peng Fan (OSS) peng.fan at oss.nxp.com
Wed Apr 17 19:53:17 PDT 2024


From: Peng Fan <peng.fan at nxp.com>

i.MX95 Pinctrl is managed by SCMI firmware using OEM extensions. This
patch is to add i.MX95 Pinctrl OEM extensions properties.

Signed-off-by: Peng Fan <peng.fan at nxp.com>
---
 .../devicetree/bindings/firmware/arm,scmi.yaml     |  9 ++-
 .../bindings/firmware/nxp,imx95-scmi-pinctrl.yaml  | 66 ++++++++++++++++++++++
 2 files changed, 72 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
index e9d3f043c4ed..e530bfff141a 100644
--- a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
+++ b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
@@ -262,9 +262,12 @@ properties:
     patternProperties:
       '-pins$':
         type: object
-        allOf:
-          - $ref: /schemas/pinctrl/pincfg-node.yaml#
-          - $ref: /schemas/pinctrl/pinmux-node.yaml#
+        anyOf:
+          - $ref: /schemas/firmware/nxp,imx95-scmi-pinctrl.yaml
+          - allOf:
+              - $ref: /schemas/pinctrl/pincfg-node.yaml#
+              - $ref: /schemas/pinctrl/pinmux-node.yaml#
+
         unevaluatedProperties: false
 
         description:
diff --git a/Documentation/devicetree/bindings/firmware/nxp,imx95-scmi-pinctrl.yaml b/Documentation/devicetree/bindings/firmware/nxp,imx95-scmi-pinctrl.yaml
new file mode 100644
index 000000000000..f6c18e9fafec
--- /dev/null
+++ b/Documentation/devicetree/bindings/firmware/nxp,imx95-scmi-pinctrl.yaml
@@ -0,0 +1,66 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+# Copyright 2024 NXP
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/firmware/nxp,imx95-scmi-pinctrl.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: i.MX System Control and Management Interface (SCMI) Pinctrl Protocol
+
+maintainers:
+  - Peng Fan <peng.fan at arm.com>
+
+patternProperties:
+  '[a-f0-9]+$':
+    type: object
+    unevaluatedProperties: false
+
+    properties:
+      pins:
+        $ref: /schemas/types.yaml#/definitions/string
+        description: name of the pin
+        items:
+          enum: [ daptdi, daptmsswdio, daptclkswclk, daptdotraceswo,
+                  gpioio00, gpioio01, gpioio02, gpioio03, gpioio04,
+                  gpioio05, gpioio06, gpioio07, gpioio08, gpioio09,
+                  gpioio10, gpioio11, gpioio12, gpioio13, gpioio14,
+                  gpioio15, gpioio16, gpioio17, gpioio18, gpioio19,
+                  gpioio20, gpioio21, gpioio22, gpioio23, gpioio24,
+                  gpioio25, gpioio26, gpioio27, gpioio28, gpioio29,
+                  gpioio30, gpioio31, gpioio32, gpioio33, gpioio34,
+                  gpioio35, gpioio36, gpioio37, ccmclko1, ccmclko2,
+                  ccmclko3, ccmclko4, enet1mdc, enet1mdio, enet1td3,
+                  enet1td2, enet1td1, enet1td0, enet1txctl, enet1txc,
+                  enet1rxctl, enet1rxc, enet1rd0, enet1rd1, enet1rd2,
+                  enet1rd3, enet2mdc, enet2mdio, enet2td3, enet2td2,
+                  enet2td1, enet2td0, enet2txctl, enet2txc, enet2rxctl,
+                  enet2rxc, enet2rd0, enet2rd1, enet2rd2, enet2rd3,
+                  sd1clk, sd1cmd, sd1data0, sd1data1, sd1data2, sd1data3,
+                  sd1data4, sd1data5, sd1data6, sd1data7, sd1strobe,
+                  sd2vselect, sd3clk, sd3cmd, sd3data0, sd3data1,
+                  sd3data2, sd3data3, xspi1data0, xspi1data1, xspi1data2,
+                  xspi1data3, xspi1data4, xspi1data5, xspi1data6,
+                  xspi1data7, xspi1dqs, xspi1sclk, xspi1ss0b, xspi1ss1b,
+                  sd2cdb, sd2clk, sd2cmd, sd2data0, sd2data1, sd2data2,
+                  sd2data3, sd2resetb, i2c1scl, i2c1sda, i2c2scl, i2c2sda,
+                  uart1rxd, uart1txd, uart2rxd, uart2txd, pdmclk,
+                  pdmbitstream0, pdmbitstream1, sai1txfs, sai1txc,
+                  sai1txd0, sai1rxd0, wdogany, fccuerr0 ]
+
+      nxp,func-id:
+        $ref: /schemas/types.yaml#/definitions/uint32
+        description: Indicates the PAD connections which function module
+
+      nxp,pin-conf:
+        $ref: /schemas/types.yaml#/definitions/uint32
+        description: The PAD configuration
+
+      nxp,daisy-id:
+        $ref: /schemas/types.yaml#/definitions/uint32
+        description: The select input register ID
+
+      nxp,daisy-conf:
+        $ref: /schemas/types.yaml#/definitions/uint32
+        description: The select input register value
+
+additionalProperties: true

-- 
2.37.1




More information about the linux-arm-kernel mailing list