On Sun, May 05, 2024 at 11:47:17AM +0800, Peng Fan (OSS) wrote: > From: Peng Fan <peng.fan@xxxxxxx> > > i.MX95 Pinctrl is managed by System Control Management Interface(SCMI) > firmware using OEM extensions. No functions, no groups are provided by > the firmware. To reuse generic properties, add the binding to enable > pinmux, slew-rate, bias-pull-up and etc, under a subnode of '-pins'. > > Signed-off-by: Peng Fan <peng.fan@xxxxxxx> > --- > .../devicetree/bindings/firmware/arm,scmi.yaml | 9 ++++-- > .../bindings/firmware/nxp,imx95-scmi-pinctrl.yaml | 37 ++++++++++++++++++++++ > 2 files changed, 43 insertions(+), 3 deletions(-) > > diff --git a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml > index 7de2c29606e5..bd4dfd7a85cd 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..1a694881f193 > --- /dev/null > +++ b/Documentation/devicetree/bindings/firmware/nxp,imx95-scmi-pinctrl.yaml > @@ -0,0 +1,37 @@ > +# 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: > + 'grp[0-9a-f]$': > + type: object > + unevaluatedProperties: false > + > + properties: > + pinmux: > + description: | > + An integer array for representing pinmux configurations of > + a device. Each integer has the format, pinid[31:21], mux[20:16], > + daisy_value[15:12], daisy_valid[11:11], daisy_id[10:0]. I would format this with one field per line. Otherwise, Reviewed-by: Rob Herring <robh@xxxxxxxxxx> > + $ref: /schemas/types.yaml#/definitions/uint32-array > + > + drive-strength: > + enum: [ 0, 1, 3, 7, 15, 31, 63 ] > + > + slew-rate: > + enum: [2, 3] > + > + input-schmitt-enable: true > + drive-open-drain: true > + bias-pull-up: true > + bias-pull-down: true > + > +additionalProperties: true > > -- > 2.37.1 >