Re: [RFC PATCH 09/16] dt-bindings: pinctrl: mediatek: rt305x: split binding

From: Rob Herring
Date: Mon Feb 27 2023 - 12:41:05 EST


On Wed, Feb 22, 2023 at 09:39:25PM +0300, arinc9.unal@xxxxxxxxx wrote:
> From: Arınç ÜNAL <arinc.unal@xxxxxxxxxx>
>
> The RT3352 and RT5350 SoCs each contain different pin muxing information,
> therefore, should be split. This can be done now that there are compatible
> strings to distinguish them from other SoCs.
>
> Split the schema out to mediatek,rt3352-pinctrl.yaml and
> mediatek,rt5350-pinctrl.yaml.
>
> Signed-off-by: Arınç ÜNAL <arinc.unal@xxxxxxxxxx>
> ---
> .../pinctrl/mediatek,rt305x-pinctrl.yaml | 78 +-----
> .../pinctrl/mediatek,rt3352-pinctrl.yaml | 247 ++++++++++++++++++
> .../pinctrl/mediatek,rt5350-pinctrl.yaml | 210 +++++++++++++++
> 3 files changed, 462 insertions(+), 73 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/pinctrl/mediatek,rt3352-pinctrl.yaml
> create mode 100644 Documentation/devicetree/bindings/pinctrl/mediatek,rt5350-pinctrl.yaml
>
> diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,rt305x-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,rt305x-pinctrl.yaml
> index 61fcf3ab1091..1e6c7e7f2fe2 100644
> --- a/Documentation/devicetree/bindings/pinctrl/mediatek,rt305x-pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,rt305x-pinctrl.yaml
> @@ -11,8 +11,7 @@ maintainers:
> - Sergio Paracuellos <sergio.paracuellos@xxxxxxxxx>
>
> description:
> - MediaTek RT305X pin controller for RT3050, RT3052, RT3350, RT3352 and RT5350
> - SoCs.
> + MediaTek RT305X pin controller for RT3050, RT3052, and RT3350 SoCs.
> The pin controller can only set the muxing of pin groups. Muxing individual
> pins is not supported. There is no pinconf support.
>
> @@ -36,21 +35,9 @@ patternProperties:
> function:
> description:
> A string containing the name of the function to mux to the group.
> - anyOf:
> - - description: For RT3050, RT3052 and RT3350 SoCs
> - enum: [gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, mdio,
> - pcm gpio, pcm i2s, pcm uartf, rgmii, sdram, spi, uartf,
> - uartlite]
> -
> - - description: For RT3352 SoC
> - enum: [gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, led,
> - lna, mdio, pa, pcm gpio, pcm i2s, pcm uartf, rgmii, spi,
> - spi_cs1, uartf, uartlite, wdg_cs1]
> -
> - - description: For RT5350 SoC
> - enum: [gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, led,
> - pcm gpio, pcm i2s, pcm uartf, spi, spi_cs1, uartf,
> - uartlite, wdg_cs1]
> + enum: [gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, mdio,
> + pcm gpio, pcm i2s, pcm uartf, rgmii, sdram, spi, uartf,
> + uartlite]
>
> groups:
> description:
> @@ -69,17 +56,7 @@ patternProperties:
> then:
> properties:
> groups:
> - anyOf:
> - - description: For RT3050, RT3052 and RT3350 SoCs
> - enum: [i2c, jtag, mdio, rgmii, sdram, spi, uartf,
> - uartlite]
> -
> - - description: For RT3352 SoC
> - enum: [i2c, jtag, led, lna, mdio, pa, rgmii, spi, spi_cs1,
> - uartf, uartlite]
> -
> - - description: For RT5350 SoC
> - enum: [i2c, jtag, led, spi, spi_cs1, uartf, uartlite]
> + enum: [i2c, jtag, mdio, rgmii, sdram, spi, uartf, uartlite]
>
> - if:
> properties:
> @@ -126,24 +103,6 @@ patternProperties:
> groups:
> enum: [jtag]
>
> - - if:
> - properties:
> - function:
> - const: led
> - then:
> - properties:
> - groups:
> - enum: [led]
> -
> - - if:
> - properties:
> - function:
> - const: lna
> - then:
> - properties:
> - groups:
> - enum: [lna]
> -
> - if:
> properties:
> function:
> @@ -153,15 +112,6 @@ patternProperties:
> groups:
> enum: [mdio]
>
> - - if:
> - properties:
> - function:
> - const: pa
> - then:
> - properties:
> - groups:
> - enum: [pa]
> -
> - if:
> properties:
> function:
> @@ -216,15 +166,6 @@ patternProperties:
> groups:
> enum: [spi]
>
> - - if:
> - properties:
> - function:
> - const: spi_cs1
> - then:
> - properties:
> - groups:
> - enum: [spi_cs1]
> -
> - if:
> properties:
> function:
> @@ -243,15 +184,6 @@ patternProperties:
> groups:
> enum: [uartlite]
>
> - - if:
> - properties:
> - function:
> - const: wdg_cs1
> - then:
> - properties:
> - groups:
> - enum: [spi_cs1]
> -
> additionalProperties: false
>
> additionalProperties: false
> diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,rt3352-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,rt3352-pinctrl.yaml
> new file mode 100644
> index 000000000000..7a74c1602afc
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,rt3352-pinctrl.yaml
> @@ -0,0 +1,247 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pinctrl/mediatek,rt3352-pinctrl.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MediaTek RT3352 Pin Controller
> +
> +maintainers:
> + - Arınç ÜNAL <arinc.unal@xxxxxxxxxx>
> + - Sergio Paracuellos <sergio.paracuellos@xxxxxxxxx>
> +
> +description:
> + MediaTek RT3352 pin controller for RT3352 SoC.
> + The pin controller can only set the muxing of pin groups. Muxing individual
> + pins is not supported. There is no pinconf support.
> +
> +properties:
> + compatible:
> + enum:
> + - mediatek,rt3352-pinctrl
> + - ralink,rt305x-pinctrl
> + - ralink,rt2880-pinmux
> +
> +patternProperties:
> + '-pins$':
> + type: object
> + patternProperties:
> + '^(.*-)?pinmux$':
> + type: object
> + description: node for pinctrl.
> + $ref: pinmux-node.yaml#
> +
> + properties:
> + function:
> + description:
> + A string containing the name of the function to mux to the group.
> + enum: [gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, led, lna,
> + mdio, pa, pcm gpio, pcm i2s, pcm uartf, rgmii, spi, spi_cs1,
> + uartf, uartlite, wdg_cs1]
> +
> + groups:
> + description:
> + An array of strings. Each string contains the name of a group.
> + maxItems: 1
> +
> + required:
> + - groups
> + - function
> +
> + allOf:
> + - if:
> + properties:
> + function:
> + const: gpio
> + then:
> + properties:
> + groups:
> + enum: [i2c, jtag, led, lna, mdio, pa, rgmii, spi, spi_cs1,
> + uartf, uartlite]
> +
> + - if:
> + properties:
> + function:
> + const: gpio i2s
> + then:
> + properties:
> + groups:
> + enum: [uartf]
> +
> + - if:
> + properties:
> + function:
> + const: gpio uartf
> + then:
> + properties:
> + groups:
> + enum: [uartf]
> +
> + - if:
> + properties:
> + function:
> + const: i2c
> + then:
> + properties:
> + groups:
> + enum: [i2c]
> +
> + - if:
> + properties:
> + function:
> + const: i2s uartf
> + then:
> + properties:
> + groups:
> + enum: [uartf]
> +
> + - if:
> + properties:
> + function:
> + const: jtag
> + then:
> + properties:
> + groups:
> + enum: [jtag]
> +
> + - if:
> + properties:
> + function:
> + const: led
> + then:
> + properties:
> + groups:
> + enum: [led]
> +
> + - if:
> + properties:
> + function:
> + const: lna
> + then:
> + properties:
> + groups:
> + enum: [lna]
> +
> + - if:
> + properties:
> + function:
> + const: mdio
> + then:
> + properties:
> + groups:
> + enum: [mdio]
> +
> + - if:
> + properties:
> + function:
> + const: pa
> + then:
> + properties:
> + groups:
> + enum: [pa]
> +
> + - if:
> + properties:
> + function:
> + const: pcm gpio
> + then:
> + properties:
> + groups:
> + enum: [uartf]
> +
> + - if:
> + properties:
> + function:
> + const: pcm i2s
> + then:
> + properties:
> + groups:
> + enum: [uartf]
> +
> + - if:
> + properties:
> + function:
> + const: pcm uartf
> + then:
> + properties:
> + groups:
> + enum: [uartf]
> +
> + - if:
> + properties:
> + function:
> + const: rgmii
> + then:
> + properties:
> + groups:
> + enum: [rgmii]
> +
> + - if:
> + properties:
> + function:
> + const: spi
> + then:
> + properties:
> + groups:
> + enum: [spi]
> +
> + - if:
> + properties:
> + function:
> + const: spi_cs1
> + then:
> + properties:
> + groups:
> + enum: [spi_cs1]
> +
> + - if:
> + properties:
> + function:
> + const: uartf
> + then:
> + properties:
> + groups:
> + enum: [uartf]
> +
> + - if:
> + properties:
> + function:
> + const: uartlite
> + then:
> + properties:
> + groups:
> + enum: [uartlite]
> +
> + - if:
> + properties:
> + function:
> + const: wdg_cs1
> + then:
> + properties:
> + groups:
> + enum: [spi_cs1]
> +
> + additionalProperties: false
> +
> + additionalProperties: false
> +
> +allOf:
> + - $ref: "pinctrl.yaml#"

Drop quotes here and other refs.