From: Peng Fan <peng.fan@xxxxxxx> 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@xxxxxxx> --- .../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@xxxxxxx> + +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