Message ID | 20240505-pinctrl-scmi-oem-v3-v4-1-7c99f989e9ba@nxp.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | pinctrl: scmi: support i.MX95 OEM extensions | expand |
On Sun, May 05, 2024 at 11:47:17AM +0800, Peng Fan (OSS) wrote: > From: Peng Fan <peng.fan@nxp.com> > > 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@nxp.com> > --- > .../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@nxp.com> > + > +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@kernel.org> > + $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 >
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@nxp.com> + +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]. + $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