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

From: Rob Herring
Date: Tue May 07 2024 - 15:11:42 EST


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
>