All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: arinc9.unal@gmail.com
Cc: "Sergio Paracuellos" <sergio.paracuellos@gmail.com>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
	"Arınç ÜNAL" <arinc.unal@arinc9.com>,
	linux-mediatek@lists.infradead.org, linux-mips@vger.kernel.org,
	linux-gpio@vger.kernel.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	"Sean Wang" <sean.wang@kernel.org>,
	"William Dean" <williamsukatube@gmail.com>,
	"Daniel Golle" <daniel@makrotopia.org>,
	"Daniel Santos" <daniel.santos@pobox.com>,
	"Luiz Angelo Daros de Luca" <luizluca@gmail.com>,
	"Frank Wunderlich" <frank-w@public-files.de>,
	"Landen Chao" <Landen.Chao@mediatek.com>,
	"DENG Qingfang" <dqfext@gmail.com>,
	"Sean Wang" <sean.wang@mediatek.com>,
	erkin.bozoglu@xeront.com
Subject: Re: [RFC PATCH 10/16] dt-bindings: pinctrl: mediatek: mt7620: split binding
Date: Mon, 27 Feb 2023 12:21:55 -0600	[thread overview]
Message-ID: <20230227182155.GA550689-robh@kernel.org> (raw)
In-Reply-To: <20230222183932.33267-11-arinc.unal@arinc9.com>

On Wed, Feb 22, 2023 at 09:39:26PM +0300, arinc9.unal@gmail.com wrote:
> From: Arınç ÜNAL <arinc.unal@arinc9.com>
> 
> The MT7628 and MT7688 SoCs 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,mt76x8-pinctrl.yaml.
> 
> Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
> ---
>  .../pinctrl/mediatek,mt7620-pinctrl.yaml      | 375 +--------------
>  .../pinctrl/mediatek,mt76x8-pinctrl.yaml      | 454 ++++++++++++++++++
>  2 files changed, 462 insertions(+), 367 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml
> 
> diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml
> index 3bf58da8a394..ea4a1194fbc4 100644
> --- a/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml
> @@ -11,7 +11,7 @@ maintainers:
>    - Sergio Paracuellos <sergio.paracuellos@gmail.com>
>  
>  description:
> -  MediaTek MT7620 pin controller for MT7620, MT7628 and MT7688 SoCs.
> +  MediaTek MT7620 pin controller for MT7620 SoC.
>    The pin controller can only set the muxing of pin groups. Muxing individual
>    pins is not supported. There is no pinconf support.
>  
> @@ -35,19 +35,10 @@ patternProperties:
>            function:
>              description:
>                A string containing the name of the function to mux to the group.
> -            anyOf:
> -              - description: For MT7620 SoC
> -                enum: [ephy, gpio, gpio i2s, gpio uartf, i2c, i2s uartf, mdio, nand, pa,
> -                       pcie refclk, pcie rst, pcm gpio, pcm i2s, pcm uartf, refclk,
> -                       rgmii1, rgmii2, sd, spi, spi refclk, uartf, uartlite, wdt refclk,
> -                       wdt rst, wled]
> -
> -              - description: For MT7628 and MT7688 SoCs
> -                enum: [antenna, debug, gpio, i2c, i2s, jtag, p0led_an, p0led_kn,
> -                       p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn,
> -                       p4led_an, p4led_kn, pcie, pcm, perst, pwm, pwm0, pwm1, pwm_uart2,
> -                       refclk, rsvd, sdxc, sdxc d5 d4, sdxc d6, sdxc d7, spi, spi cs1,
> -                       spis, sw_r, uart0, uart1, uart2, utif, wdt, wled_an, wled_kn, -]
> +            enum: [ephy, gpio, gpio i2s, gpio uartf, i2c, i2s uartf, mdio, nand,
> +                   pa, pcie refclk, pcie rst, pcm gpio, pcm i2s, pcm uartf,
> +                   refclk, rgmii1, rgmii2, sd, spi, spi refclk, uartf, uartlite,
> +                   wdt refclk, wdt rst, wled]
>  
>            groups:
>              description:
> @@ -59,24 +50,6 @@ patternProperties:
>            - function
>  
>          allOf:
> -          - if:
> -              properties:
> -                function:
> -                  const: antenna
> -            then:
> -              properties:
> -                groups:
> -                  enum: [i2s]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: debug
> -            then:
> -              properties:
> -                groups:
> -                  enum: [i2c]
> -
>            - if:
>                properties:
>                  function:
> @@ -93,17 +66,8 @@ patternProperties:
>              then:
>                properties:
>                  groups:
> -                  anyOf:
> -                    - description: For MT7620 SoC
> -                      enum: [ephy, i2c, mdio, nd_sd, pa, pcie, rgmii1, rgmii2,
> -                             spi, spi refclk, uartf, uartlite, wdt, wled]
> -
> -                    - description: For MT7628 and MT7688 SoCs
> -                      enum: [gpio, i2c, i2s, p0led_an, p0led_kn, p1led_an,
> -                             p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn,
> -                             p4led_an, p4led_kn, perst, pwm0, pwm1, refclk,
> -                             sdmode, spi, spi cs1, spis, uart0, uart1, uart2,
> -                             wdt, wled_an, wled_kn]
> +                  enum: [ephy, i2c, mdio, nd_sd, pa, pcie, rgmii1, rgmii2, spi,
> +                         spi refclk, uartf, uartlite, wdt, wled]
>  
>            - if:
>                properties:
> @@ -132,15 +96,6 @@ patternProperties:
>                  groups:
>                    enum: [i2c]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: i2s
> -            then:
> -              properties:
> -                groups:
> -                  enum: [i2s]
> -
>            - if:
>                properties:
>                  function:
> @@ -150,17 +105,6 @@ patternProperties:
>                  groups:
>                    enum: [uartf]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: jtag
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p0led_an, p0led_kn, p1led_an, p1led_kn, p2led_an,
> -                         p2led_kn, p3led_an, p3led_kn, p4led_an, p4led_kn,
> -                         sdmode]
> -
>            - if:
>                properties:
>                  function:
> @@ -179,96 +123,6 @@ patternProperties:
>                  groups:
>                    enum: [nd_sd]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: p0led_an
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p0led_an]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p0led_kn
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p0led_kn]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p1led_an
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p1led_an]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p1led_kn
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p1led_kn]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p2led_an
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p2led_an]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p2led_kn
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p2led_kn]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p3led_an
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p3led_an]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p3led_kn
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p3led_kn]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p4led_an
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p4led_an]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p4led_kn
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p4led_kn]
> -
>            - if:
>                properties:
>                  function:
> @@ -278,15 +132,6 @@ patternProperties:
>                  groups:
>                    enum: [pa]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: pcie
> -            then:
> -              properties:
> -                groups:
> -                  enum: [gpio]
> -
>            - if:
>                properties:
>                  function:
> @@ -305,15 +150,6 @@ patternProperties:
>                  groups:
>                    enum: [pcie]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: pcm
> -            then:
> -              properties:
> -                groups:
> -                  enum: [i2s]
> -
>            - if:
>                properties:
>                  function:
> @@ -341,51 +177,6 @@ patternProperties:
>                  groups:
>                    enum: [uartf]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: perst
> -            then:
> -              properties:
> -                groups:
> -                  enum: [perst]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: pwm
> -            then:
> -              properties:
> -                groups:
> -                  enum: [uart1, uart2]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: pwm0
> -            then:
> -              properties:
> -                groups:
> -                  enum: [pwm0]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: pwm1
> -            then:
> -              properties:
> -                groups:
> -                  enum: [pwm1]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: pwm_uart2
> -            then:
> -              properties:
> -                groups:
> -                  enum: [spis]
> -
>            - if:
>                properties:
>                  function:
> @@ -393,12 +184,7 @@ patternProperties:
>              then:
>                properties:
>                  groups:
> -                  anyOf:
> -                    - description: For MT7620 SoC
> -                      enum: [mdio]
> -
> -                    - description: For MT7628 and MT7688 SoCs
> -                      enum: [gpio, refclk, spi cs1]
> +                  enum: [mdio]
>  
>            - if:
>                properties:
> @@ -418,15 +204,6 @@ patternProperties:
>                  groups:
>                    enum: [rgmii2]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: rsvd
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p0led_an, p0led_kn, wled_an, wled_kn]
> -
>            - if:
>                properties:
>                  function:
> @@ -436,42 +213,6 @@ patternProperties:
>                  groups:
>                    enum: [nd_sd]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: sdxc
> -            then:
> -              properties:
> -                groups:
> -                  enum: [sdmode]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: sdxc d5 d4
> -            then:
> -              properties:
> -                groups:
> -                  enum: [uart2]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: sdxc d6
> -            then:
> -              properties:
> -                groups:
> -                  enum: [pwm1]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: sdxc d7
> -            then:
> -              properties:
> -                groups:
> -                  enum: [pwm0]
> -
>            - if:
>                properties:
>                  function:
> @@ -481,15 +222,6 @@ patternProperties:
>                  groups:
>                    enum: [spi]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: spi cs1
> -            then:
> -              properties:
> -                groups:
> -                  enum: [spi cs1]
> -
>            - if:
>                properties:
>                  function:
> @@ -499,51 +231,6 @@ patternProperties:
>                  groups:
>                    enum: [spi refclk]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: spis
> -            then:
> -              properties:
> -                groups:
> -                  enum: [spis]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: sw_r
> -            then:
> -              properties:
> -                groups:
> -                  enum: [uart1]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: uart0
> -            then:
> -              properties:
> -                groups:
> -                  enum: [uart0]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: uart1
> -            then:
> -              properties:
> -                groups:
> -                  enum: [uart1]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: uart2
> -            then:
> -              properties:
> -                groups:
> -                  enum: [uart2]
> -
>            - if:
>                properties:
>                  function:
> @@ -562,25 +249,6 @@ patternProperties:
>                  groups:
>                    enum: [uartlite]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: utif
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an,
> -                         p3led_kn, p4led_an, p4led_kn, pwm0, pwm1, sdmode, spis]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: wdt
> -            then:
> -              properties:
> -                groups:
> -                  enum: [wdt]
> -
>            - if:
>                properties:
>                  function:
> @@ -608,33 +276,6 @@ patternProperties:
>                  groups:
>                    enum: [wled]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: wled_an
> -            then:
> -              properties:
> -                groups:
> -                  enum: [wled_an]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: wled_kn
> -            then:
> -              properties:
> -                groups:
> -                  enum: [wled_kn]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: "-"
> -            then:
> -              properties:
> -                groups:
> -                  enum: [i2c, spi cs1, uart0]
> -
>          additionalProperties: false
>  
>      additionalProperties: false
> diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml
> new file mode 100644
> index 000000000000..c818c8947866
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml
> @@ -0,0 +1,454 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pinctrl/mediatek,mt76x8-pinctrl.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MediaTek MT76X8 Pin Controller
> +
> +maintainers:
> +  - Arınç ÜNAL <arinc.unal@arinc9.com>
> +  - Sergio Paracuellos <sergio.paracuellos@gmail.com>
> +
> +description:
> +  MediaTek MT76X8 pin controller for MT7628 and MT7688 SoCs.
> +  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,mt76x8-pinctrl

We generally don't do wildcards in compatible strings. Are these 2 SoCs 
really 'the same'? 

> +      - ralink,mt7620-pinctrl

Huh? Doesn't this conflict with the mt7620 schema?

> +      - 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: [antenna, debug, gpio, i2c, i2s, jtag, p0led_an, p0led_kn,
> +                   p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn,
> +                   p4led_an, p4led_kn, pcie, pcm, perst, pwm, pwm0, pwm1,
> +                   pwm_uart2, refclk, rsvd, sdxc, sdxc d5 d4, sdxc d6, sdxc d7,
> +                   spi, spi cs1, spis, sw_r, uart0, uart1, uart2, utif, wdt,
> +                   wled_an, wled_kn, -]
> +
> +          groups:
> +            description:
> +              An array of strings. Each string contains the name of a group.
> +            maxItems: 1
> +
> +        required:
> +          - groups
> +          - function
> +
> +        allOf:
> +          - if:
> +              properties:
> +                function:
> +                  const: antenna
> +            then:
> +              properties:
> +                groups:
> +                  enum: [i2s]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: debug
> +            then:
> +              properties:
> +                groups:
> +                  enum: [i2c]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: gpio
> +            then:
> +              properties:
> +                groups:
> +                  enum: [gpio, i2c, i2s, p0led_an, p0led_kn, p1led_an, p1led_kn,
> +                         p2led_an, p2led_kn, p3led_an, p3led_kn, p4led_an,
> +                         p4led_kn, perst, pwm0, pwm1, refclk, sdmode, spi,
> +                         spi cs1, spis, uart0, uart1, uart2, wdt, wled_an,
> +                         wled_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: i2c
> +            then:
> +              properties:
> +                groups:
> +                  enum: [i2c]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: i2s
> +            then:
> +              properties:
> +                groups:
> +                  enum: [i2s]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: jtag
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p0led_an, p0led_kn, p1led_an, p1led_kn, p2led_an,
> +                         p2led_kn, p3led_an, p3led_kn, p4led_an, p4led_kn,
> +                         sdmode]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p0led_an
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p0led_an]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p0led_kn
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p0led_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p1led_an
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p1led_an]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p1led_kn
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p1led_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p2led_an
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p2led_an]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p2led_kn
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p2led_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p3led_an
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p3led_an]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p3led_kn
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p3led_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p4led_an
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p4led_an]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p4led_kn
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p4led_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: pcie
> +            then:
> +              properties:
> +                groups:
> +                  enum: [gpio]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: pcm
> +            then:
> +              properties:
> +                groups:
> +                  enum: [i2s]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: perst
> +            then:
> +              properties:
> +                groups:
> +                  enum: [perst]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: pwm
> +            then:
> +              properties:
> +                groups:
> +                  enum: [uart1, uart2]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: pwm0
> +            then:
> +              properties:
> +                groups:
> +                  enum: [pwm0]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: pwm1
> +            then:
> +              properties:
> +                groups:
> +                  enum: [pwm1]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: pwm_uart2
> +            then:
> +              properties:
> +                groups:
> +                  enum: [spis]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: refclk
> +            then:
> +              properties:
> +                groups:
> +                  enum: [gpio, refclk, spi cs1]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: rsvd
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p0led_an, p0led_kn, wled_an, wled_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: sdxc
> +            then:
> +              properties:
> +                groups:
> +                  enum: [sdmode]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: sdxc d5 d4
> +            then:
> +              properties:
> +                groups:
> +                  enum: [uart2]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: sdxc d6
> +            then:
> +              properties:
> +                groups:
> +                  enum: [pwm1]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: sdxc d7
> +            then:
> +              properties:
> +                groups:
> +                  enum: [pwm0]
> +
> +          - 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: spis
> +            then:
> +              properties:
> +                groups:
> +                  enum: [spis]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: sw_r
> +            then:
> +              properties:
> +                groups:
> +                  enum: [uart1]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: uart0
> +            then:
> +              properties:
> +                groups:
> +                  enum: [uart0]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: uart1
> +            then:
> +              properties:
> +                groups:
> +                  enum: [uart1]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: uart2
> +            then:
> +              properties:
> +                groups:
> +                  enum: [uart2]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: utif
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an,
> +                         p3led_kn, p4led_an, p4led_kn, pwm0, pwm1, sdmode, spis]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: wdt
> +            then:
> +              properties:
> +                groups:
> +                  enum: [wdt]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: wled_an
> +            then:
> +              properties:
> +                groups:
> +                  enum: [wled_an]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: wled_kn
> +            then:
> +              properties:
> +                groups:
> +                  enum: [wled_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: "-"
> +            then:
> +              properties:
> +                groups:
> +                  enum: [i2c, spi cs1, uart0]
> +

> +        additionalProperties: false
> +
> +    additionalProperties: false

Move these above 'properties'. It's easier to read than after a long 
indented section.

> +
> +allOf:
> +  - $ref: "pinctrl.yaml#"

Drop quotes.

Rob

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: arinc9.unal@gmail.com
Cc: devicetree@vger.kernel.org,
	"Daniel Golle" <daniel@makrotopia.org>,
	"DENG Qingfang" <dqfext@gmail.com>,
	"Sean Wang" <sean.wang@mediatek.com>,
	"Arınç ÜNAL" <arinc.unal@arinc9.com>,
	"Daniel Santos" <daniel.santos@pobox.com>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Sean Wang" <sean.wang@kernel.org>,
	"Luiz Angelo Daros de Luca" <luizluca@gmail.com>,
	linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org,
	"Sergio Paracuellos" <sergio.paracuellos@gmail.com>,
	"William Dean" <williamsukatube@gmail.com>,
	linux-mediatek@lists.infradead.org,
	"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
	linux-gpio@vger.kernel.org,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	"Landen Chao" <Landen.Chao@mediatek.com>,
	erkin.bozoglu@xeront.com, linux-arm-kernel@lists.infradead.org
Subject: Re: [RFC PATCH 10/16] dt-bindings: pinctrl: mediatek: mt7620: split binding
Date: Mon, 27 Feb 2023 12:21:55 -0600	[thread overview]
Message-ID: <20230227182155.GA550689-robh@kernel.org> (raw)
In-Reply-To: <20230222183932.33267-11-arinc.unal@arinc9.com>

On Wed, Feb 22, 2023 at 09:39:26PM +0300, arinc9.unal@gmail.com wrote:
> From: Arınç ÜNAL <arinc.unal@arinc9.com>
> 
> The MT7628 and MT7688 SoCs 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,mt76x8-pinctrl.yaml.
> 
> Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
> ---
>  .../pinctrl/mediatek,mt7620-pinctrl.yaml      | 375 +--------------
>  .../pinctrl/mediatek,mt76x8-pinctrl.yaml      | 454 ++++++++++++++++++
>  2 files changed, 462 insertions(+), 367 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml
> 
> diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml
> index 3bf58da8a394..ea4a1194fbc4 100644
> --- a/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml
> @@ -11,7 +11,7 @@ maintainers:
>    - Sergio Paracuellos <sergio.paracuellos@gmail.com>
>  
>  description:
> -  MediaTek MT7620 pin controller for MT7620, MT7628 and MT7688 SoCs.
> +  MediaTek MT7620 pin controller for MT7620 SoC.
>    The pin controller can only set the muxing of pin groups. Muxing individual
>    pins is not supported. There is no pinconf support.
>  
> @@ -35,19 +35,10 @@ patternProperties:
>            function:
>              description:
>                A string containing the name of the function to mux to the group.
> -            anyOf:
> -              - description: For MT7620 SoC
> -                enum: [ephy, gpio, gpio i2s, gpio uartf, i2c, i2s uartf, mdio, nand, pa,
> -                       pcie refclk, pcie rst, pcm gpio, pcm i2s, pcm uartf, refclk,
> -                       rgmii1, rgmii2, sd, spi, spi refclk, uartf, uartlite, wdt refclk,
> -                       wdt rst, wled]
> -
> -              - description: For MT7628 and MT7688 SoCs
> -                enum: [antenna, debug, gpio, i2c, i2s, jtag, p0led_an, p0led_kn,
> -                       p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn,
> -                       p4led_an, p4led_kn, pcie, pcm, perst, pwm, pwm0, pwm1, pwm_uart2,
> -                       refclk, rsvd, sdxc, sdxc d5 d4, sdxc d6, sdxc d7, spi, spi cs1,
> -                       spis, sw_r, uart0, uart1, uart2, utif, wdt, wled_an, wled_kn, -]
> +            enum: [ephy, gpio, gpio i2s, gpio uartf, i2c, i2s uartf, mdio, nand,
> +                   pa, pcie refclk, pcie rst, pcm gpio, pcm i2s, pcm uartf,
> +                   refclk, rgmii1, rgmii2, sd, spi, spi refclk, uartf, uartlite,
> +                   wdt refclk, wdt rst, wled]
>  
>            groups:
>              description:
> @@ -59,24 +50,6 @@ patternProperties:
>            - function
>  
>          allOf:
> -          - if:
> -              properties:
> -                function:
> -                  const: antenna
> -            then:
> -              properties:
> -                groups:
> -                  enum: [i2s]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: debug
> -            then:
> -              properties:
> -                groups:
> -                  enum: [i2c]
> -
>            - if:
>                properties:
>                  function:
> @@ -93,17 +66,8 @@ patternProperties:
>              then:
>                properties:
>                  groups:
> -                  anyOf:
> -                    - description: For MT7620 SoC
> -                      enum: [ephy, i2c, mdio, nd_sd, pa, pcie, rgmii1, rgmii2,
> -                             spi, spi refclk, uartf, uartlite, wdt, wled]
> -
> -                    - description: For MT7628 and MT7688 SoCs
> -                      enum: [gpio, i2c, i2s, p0led_an, p0led_kn, p1led_an,
> -                             p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn,
> -                             p4led_an, p4led_kn, perst, pwm0, pwm1, refclk,
> -                             sdmode, spi, spi cs1, spis, uart0, uart1, uart2,
> -                             wdt, wled_an, wled_kn]
> +                  enum: [ephy, i2c, mdio, nd_sd, pa, pcie, rgmii1, rgmii2, spi,
> +                         spi refclk, uartf, uartlite, wdt, wled]
>  
>            - if:
>                properties:
> @@ -132,15 +96,6 @@ patternProperties:
>                  groups:
>                    enum: [i2c]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: i2s
> -            then:
> -              properties:
> -                groups:
> -                  enum: [i2s]
> -
>            - if:
>                properties:
>                  function:
> @@ -150,17 +105,6 @@ patternProperties:
>                  groups:
>                    enum: [uartf]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: jtag
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p0led_an, p0led_kn, p1led_an, p1led_kn, p2led_an,
> -                         p2led_kn, p3led_an, p3led_kn, p4led_an, p4led_kn,
> -                         sdmode]
> -
>            - if:
>                properties:
>                  function:
> @@ -179,96 +123,6 @@ patternProperties:
>                  groups:
>                    enum: [nd_sd]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: p0led_an
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p0led_an]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p0led_kn
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p0led_kn]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p1led_an
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p1led_an]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p1led_kn
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p1led_kn]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p2led_an
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p2led_an]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p2led_kn
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p2led_kn]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p3led_an
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p3led_an]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p3led_kn
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p3led_kn]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p4led_an
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p4led_an]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p4led_kn
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p4led_kn]
> -
>            - if:
>                properties:
>                  function:
> @@ -278,15 +132,6 @@ patternProperties:
>                  groups:
>                    enum: [pa]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: pcie
> -            then:
> -              properties:
> -                groups:
> -                  enum: [gpio]
> -
>            - if:
>                properties:
>                  function:
> @@ -305,15 +150,6 @@ patternProperties:
>                  groups:
>                    enum: [pcie]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: pcm
> -            then:
> -              properties:
> -                groups:
> -                  enum: [i2s]
> -
>            - if:
>                properties:
>                  function:
> @@ -341,51 +177,6 @@ patternProperties:
>                  groups:
>                    enum: [uartf]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: perst
> -            then:
> -              properties:
> -                groups:
> -                  enum: [perst]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: pwm
> -            then:
> -              properties:
> -                groups:
> -                  enum: [uart1, uart2]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: pwm0
> -            then:
> -              properties:
> -                groups:
> -                  enum: [pwm0]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: pwm1
> -            then:
> -              properties:
> -                groups:
> -                  enum: [pwm1]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: pwm_uart2
> -            then:
> -              properties:
> -                groups:
> -                  enum: [spis]
> -
>            - if:
>                properties:
>                  function:
> @@ -393,12 +184,7 @@ patternProperties:
>              then:
>                properties:
>                  groups:
> -                  anyOf:
> -                    - description: For MT7620 SoC
> -                      enum: [mdio]
> -
> -                    - description: For MT7628 and MT7688 SoCs
> -                      enum: [gpio, refclk, spi cs1]
> +                  enum: [mdio]
>  
>            - if:
>                properties:
> @@ -418,15 +204,6 @@ patternProperties:
>                  groups:
>                    enum: [rgmii2]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: rsvd
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p0led_an, p0led_kn, wled_an, wled_kn]
> -
>            - if:
>                properties:
>                  function:
> @@ -436,42 +213,6 @@ patternProperties:
>                  groups:
>                    enum: [nd_sd]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: sdxc
> -            then:
> -              properties:
> -                groups:
> -                  enum: [sdmode]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: sdxc d5 d4
> -            then:
> -              properties:
> -                groups:
> -                  enum: [uart2]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: sdxc d6
> -            then:
> -              properties:
> -                groups:
> -                  enum: [pwm1]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: sdxc d7
> -            then:
> -              properties:
> -                groups:
> -                  enum: [pwm0]
> -
>            - if:
>                properties:
>                  function:
> @@ -481,15 +222,6 @@ patternProperties:
>                  groups:
>                    enum: [spi]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: spi cs1
> -            then:
> -              properties:
> -                groups:
> -                  enum: [spi cs1]
> -
>            - if:
>                properties:
>                  function:
> @@ -499,51 +231,6 @@ patternProperties:
>                  groups:
>                    enum: [spi refclk]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: spis
> -            then:
> -              properties:
> -                groups:
> -                  enum: [spis]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: sw_r
> -            then:
> -              properties:
> -                groups:
> -                  enum: [uart1]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: uart0
> -            then:
> -              properties:
> -                groups:
> -                  enum: [uart0]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: uart1
> -            then:
> -              properties:
> -                groups:
> -                  enum: [uart1]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: uart2
> -            then:
> -              properties:
> -                groups:
> -                  enum: [uart2]
> -
>            - if:
>                properties:
>                  function:
> @@ -562,25 +249,6 @@ patternProperties:
>                  groups:
>                    enum: [uartlite]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: utif
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an,
> -                         p3led_kn, p4led_an, p4led_kn, pwm0, pwm1, sdmode, spis]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: wdt
> -            then:
> -              properties:
> -                groups:
> -                  enum: [wdt]
> -
>            - if:
>                properties:
>                  function:
> @@ -608,33 +276,6 @@ patternProperties:
>                  groups:
>                    enum: [wled]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: wled_an
> -            then:
> -              properties:
> -                groups:
> -                  enum: [wled_an]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: wled_kn
> -            then:
> -              properties:
> -                groups:
> -                  enum: [wled_kn]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: "-"
> -            then:
> -              properties:
> -                groups:
> -                  enum: [i2c, spi cs1, uart0]
> -
>          additionalProperties: false
>  
>      additionalProperties: false
> diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml
> new file mode 100644
> index 000000000000..c818c8947866
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml
> @@ -0,0 +1,454 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pinctrl/mediatek,mt76x8-pinctrl.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MediaTek MT76X8 Pin Controller
> +
> +maintainers:
> +  - Arınç ÜNAL <arinc.unal@arinc9.com>
> +  - Sergio Paracuellos <sergio.paracuellos@gmail.com>
> +
> +description:
> +  MediaTek MT76X8 pin controller for MT7628 and MT7688 SoCs.
> +  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,mt76x8-pinctrl

We generally don't do wildcards in compatible strings. Are these 2 SoCs 
really 'the same'? 

> +      - ralink,mt7620-pinctrl

Huh? Doesn't this conflict with the mt7620 schema?

> +      - 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: [antenna, debug, gpio, i2c, i2s, jtag, p0led_an, p0led_kn,
> +                   p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn,
> +                   p4led_an, p4led_kn, pcie, pcm, perst, pwm, pwm0, pwm1,
> +                   pwm_uart2, refclk, rsvd, sdxc, sdxc d5 d4, sdxc d6, sdxc d7,
> +                   spi, spi cs1, spis, sw_r, uart0, uart1, uart2, utif, wdt,
> +                   wled_an, wled_kn, -]
> +
> +          groups:
> +            description:
> +              An array of strings. Each string contains the name of a group.
> +            maxItems: 1
> +
> +        required:
> +          - groups
> +          - function
> +
> +        allOf:
> +          - if:
> +              properties:
> +                function:
> +                  const: antenna
> +            then:
> +              properties:
> +                groups:
> +                  enum: [i2s]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: debug
> +            then:
> +              properties:
> +                groups:
> +                  enum: [i2c]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: gpio
> +            then:
> +              properties:
> +                groups:
> +                  enum: [gpio, i2c, i2s, p0led_an, p0led_kn, p1led_an, p1led_kn,
> +                         p2led_an, p2led_kn, p3led_an, p3led_kn, p4led_an,
> +                         p4led_kn, perst, pwm0, pwm1, refclk, sdmode, spi,
> +                         spi cs1, spis, uart0, uart1, uart2, wdt, wled_an,
> +                         wled_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: i2c
> +            then:
> +              properties:
> +                groups:
> +                  enum: [i2c]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: i2s
> +            then:
> +              properties:
> +                groups:
> +                  enum: [i2s]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: jtag
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p0led_an, p0led_kn, p1led_an, p1led_kn, p2led_an,
> +                         p2led_kn, p3led_an, p3led_kn, p4led_an, p4led_kn,
> +                         sdmode]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p0led_an
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p0led_an]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p0led_kn
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p0led_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p1led_an
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p1led_an]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p1led_kn
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p1led_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p2led_an
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p2led_an]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p2led_kn
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p2led_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p3led_an
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p3led_an]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p3led_kn
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p3led_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p4led_an
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p4led_an]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p4led_kn
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p4led_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: pcie
> +            then:
> +              properties:
> +                groups:
> +                  enum: [gpio]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: pcm
> +            then:
> +              properties:
> +                groups:
> +                  enum: [i2s]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: perst
> +            then:
> +              properties:
> +                groups:
> +                  enum: [perst]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: pwm
> +            then:
> +              properties:
> +                groups:
> +                  enum: [uart1, uart2]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: pwm0
> +            then:
> +              properties:
> +                groups:
> +                  enum: [pwm0]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: pwm1
> +            then:
> +              properties:
> +                groups:
> +                  enum: [pwm1]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: pwm_uart2
> +            then:
> +              properties:
> +                groups:
> +                  enum: [spis]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: refclk
> +            then:
> +              properties:
> +                groups:
> +                  enum: [gpio, refclk, spi cs1]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: rsvd
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p0led_an, p0led_kn, wled_an, wled_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: sdxc
> +            then:
> +              properties:
> +                groups:
> +                  enum: [sdmode]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: sdxc d5 d4
> +            then:
> +              properties:
> +                groups:
> +                  enum: [uart2]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: sdxc d6
> +            then:
> +              properties:
> +                groups:
> +                  enum: [pwm1]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: sdxc d7
> +            then:
> +              properties:
> +                groups:
> +                  enum: [pwm0]
> +
> +          - 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: spis
> +            then:
> +              properties:
> +                groups:
> +                  enum: [spis]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: sw_r
> +            then:
> +              properties:
> +                groups:
> +                  enum: [uart1]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: uart0
> +            then:
> +              properties:
> +                groups:
> +                  enum: [uart0]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: uart1
> +            then:
> +              properties:
> +                groups:
> +                  enum: [uart1]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: uart2
> +            then:
> +              properties:
> +                groups:
> +                  enum: [uart2]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: utif
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an,
> +                         p3led_kn, p4led_an, p4led_kn, pwm0, pwm1, sdmode, spis]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: wdt
> +            then:
> +              properties:
> +                groups:
> +                  enum: [wdt]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: wled_an
> +            then:
> +              properties:
> +                groups:
> +                  enum: [wled_an]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: wled_kn
> +            then:
> +              properties:
> +                groups:
> +                  enum: [wled_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: "-"
> +            then:
> +              properties:
> +                groups:
> +                  enum: [i2c, spi cs1, uart0]
> +

> +        additionalProperties: false
> +
> +    additionalProperties: false

Move these above 'properties'. It's easier to read than after a long 
indented section.

> +
> +allOf:
> +  - $ref: "pinctrl.yaml#"

Drop quotes.

Rob


WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: arinc9.unal@gmail.com
Cc: "Sergio Paracuellos" <sergio.paracuellos@gmail.com>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
	"Arınç ÜNAL" <arinc.unal@arinc9.com>,
	linux-mediatek@lists.infradead.org, linux-mips@vger.kernel.org,
	linux-gpio@vger.kernel.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	"Sean Wang" <sean.wang@kernel.org>,
	"William Dean" <williamsukatube@gmail.com>,
	"Daniel Golle" <daniel@makrotopia.org>,
	"Daniel Santos" <daniel.santos@pobox.com>,
	"Luiz Angelo Daros de Luca" <luizluca@gmail.com>,
	"Frank Wunderlich" <frank-w@public-files.de>,
	"Landen Chao" <Landen.Chao@mediatek.com>,
	"DENG Qingfang" <dqfext@gmail.com>,
	"Sean Wang" <sean.wang@mediatek.com>,
	erkin.bozoglu@xeront.com
Subject: Re: [RFC PATCH 10/16] dt-bindings: pinctrl: mediatek: mt7620: split binding
Date: Mon, 27 Feb 2023 12:21:55 -0600	[thread overview]
Message-ID: <20230227182155.GA550689-robh@kernel.org> (raw)
In-Reply-To: <20230222183932.33267-11-arinc.unal@arinc9.com>

On Wed, Feb 22, 2023 at 09:39:26PM +0300, arinc9.unal@gmail.com wrote:
> From: Arınç ÜNAL <arinc.unal@arinc9.com>
> 
> The MT7628 and MT7688 SoCs 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,mt76x8-pinctrl.yaml.
> 
> Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
> ---
>  .../pinctrl/mediatek,mt7620-pinctrl.yaml      | 375 +--------------
>  .../pinctrl/mediatek,mt76x8-pinctrl.yaml      | 454 ++++++++++++++++++
>  2 files changed, 462 insertions(+), 367 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml
> 
> diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml
> index 3bf58da8a394..ea4a1194fbc4 100644
> --- a/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml
> @@ -11,7 +11,7 @@ maintainers:
>    - Sergio Paracuellos <sergio.paracuellos@gmail.com>
>  
>  description:
> -  MediaTek MT7620 pin controller for MT7620, MT7628 and MT7688 SoCs.
> +  MediaTek MT7620 pin controller for MT7620 SoC.
>    The pin controller can only set the muxing of pin groups. Muxing individual
>    pins is not supported. There is no pinconf support.
>  
> @@ -35,19 +35,10 @@ patternProperties:
>            function:
>              description:
>                A string containing the name of the function to mux to the group.
> -            anyOf:
> -              - description: For MT7620 SoC
> -                enum: [ephy, gpio, gpio i2s, gpio uartf, i2c, i2s uartf, mdio, nand, pa,
> -                       pcie refclk, pcie rst, pcm gpio, pcm i2s, pcm uartf, refclk,
> -                       rgmii1, rgmii2, sd, spi, spi refclk, uartf, uartlite, wdt refclk,
> -                       wdt rst, wled]
> -
> -              - description: For MT7628 and MT7688 SoCs
> -                enum: [antenna, debug, gpio, i2c, i2s, jtag, p0led_an, p0led_kn,
> -                       p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn,
> -                       p4led_an, p4led_kn, pcie, pcm, perst, pwm, pwm0, pwm1, pwm_uart2,
> -                       refclk, rsvd, sdxc, sdxc d5 d4, sdxc d6, sdxc d7, spi, spi cs1,
> -                       spis, sw_r, uart0, uart1, uart2, utif, wdt, wled_an, wled_kn, -]
> +            enum: [ephy, gpio, gpio i2s, gpio uartf, i2c, i2s uartf, mdio, nand,
> +                   pa, pcie refclk, pcie rst, pcm gpio, pcm i2s, pcm uartf,
> +                   refclk, rgmii1, rgmii2, sd, spi, spi refclk, uartf, uartlite,
> +                   wdt refclk, wdt rst, wled]
>  
>            groups:
>              description:
> @@ -59,24 +50,6 @@ patternProperties:
>            - function
>  
>          allOf:
> -          - if:
> -              properties:
> -                function:
> -                  const: antenna
> -            then:
> -              properties:
> -                groups:
> -                  enum: [i2s]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: debug
> -            then:
> -              properties:
> -                groups:
> -                  enum: [i2c]
> -
>            - if:
>                properties:
>                  function:
> @@ -93,17 +66,8 @@ patternProperties:
>              then:
>                properties:
>                  groups:
> -                  anyOf:
> -                    - description: For MT7620 SoC
> -                      enum: [ephy, i2c, mdio, nd_sd, pa, pcie, rgmii1, rgmii2,
> -                             spi, spi refclk, uartf, uartlite, wdt, wled]
> -
> -                    - description: For MT7628 and MT7688 SoCs
> -                      enum: [gpio, i2c, i2s, p0led_an, p0led_kn, p1led_an,
> -                             p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn,
> -                             p4led_an, p4led_kn, perst, pwm0, pwm1, refclk,
> -                             sdmode, spi, spi cs1, spis, uart0, uart1, uart2,
> -                             wdt, wled_an, wled_kn]
> +                  enum: [ephy, i2c, mdio, nd_sd, pa, pcie, rgmii1, rgmii2, spi,
> +                         spi refclk, uartf, uartlite, wdt, wled]
>  
>            - if:
>                properties:
> @@ -132,15 +96,6 @@ patternProperties:
>                  groups:
>                    enum: [i2c]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: i2s
> -            then:
> -              properties:
> -                groups:
> -                  enum: [i2s]
> -
>            - if:
>                properties:
>                  function:
> @@ -150,17 +105,6 @@ patternProperties:
>                  groups:
>                    enum: [uartf]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: jtag
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p0led_an, p0led_kn, p1led_an, p1led_kn, p2led_an,
> -                         p2led_kn, p3led_an, p3led_kn, p4led_an, p4led_kn,
> -                         sdmode]
> -
>            - if:
>                properties:
>                  function:
> @@ -179,96 +123,6 @@ patternProperties:
>                  groups:
>                    enum: [nd_sd]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: p0led_an
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p0led_an]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p0led_kn
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p0led_kn]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p1led_an
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p1led_an]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p1led_kn
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p1led_kn]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p2led_an
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p2led_an]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p2led_kn
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p2led_kn]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p3led_an
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p3led_an]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p3led_kn
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p3led_kn]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p4led_an
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p4led_an]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: p4led_kn
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p4led_kn]
> -
>            - if:
>                properties:
>                  function:
> @@ -278,15 +132,6 @@ patternProperties:
>                  groups:
>                    enum: [pa]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: pcie
> -            then:
> -              properties:
> -                groups:
> -                  enum: [gpio]
> -
>            - if:
>                properties:
>                  function:
> @@ -305,15 +150,6 @@ patternProperties:
>                  groups:
>                    enum: [pcie]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: pcm
> -            then:
> -              properties:
> -                groups:
> -                  enum: [i2s]
> -
>            - if:
>                properties:
>                  function:
> @@ -341,51 +177,6 @@ patternProperties:
>                  groups:
>                    enum: [uartf]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: perst
> -            then:
> -              properties:
> -                groups:
> -                  enum: [perst]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: pwm
> -            then:
> -              properties:
> -                groups:
> -                  enum: [uart1, uart2]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: pwm0
> -            then:
> -              properties:
> -                groups:
> -                  enum: [pwm0]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: pwm1
> -            then:
> -              properties:
> -                groups:
> -                  enum: [pwm1]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: pwm_uart2
> -            then:
> -              properties:
> -                groups:
> -                  enum: [spis]
> -
>            - if:
>                properties:
>                  function:
> @@ -393,12 +184,7 @@ patternProperties:
>              then:
>                properties:
>                  groups:
> -                  anyOf:
> -                    - description: For MT7620 SoC
> -                      enum: [mdio]
> -
> -                    - description: For MT7628 and MT7688 SoCs
> -                      enum: [gpio, refclk, spi cs1]
> +                  enum: [mdio]
>  
>            - if:
>                properties:
> @@ -418,15 +204,6 @@ patternProperties:
>                  groups:
>                    enum: [rgmii2]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: rsvd
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p0led_an, p0led_kn, wled_an, wled_kn]
> -
>            - if:
>                properties:
>                  function:
> @@ -436,42 +213,6 @@ patternProperties:
>                  groups:
>                    enum: [nd_sd]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: sdxc
> -            then:
> -              properties:
> -                groups:
> -                  enum: [sdmode]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: sdxc d5 d4
> -            then:
> -              properties:
> -                groups:
> -                  enum: [uart2]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: sdxc d6
> -            then:
> -              properties:
> -                groups:
> -                  enum: [pwm1]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: sdxc d7
> -            then:
> -              properties:
> -                groups:
> -                  enum: [pwm0]
> -
>            - if:
>                properties:
>                  function:
> @@ -481,15 +222,6 @@ patternProperties:
>                  groups:
>                    enum: [spi]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: spi cs1
> -            then:
> -              properties:
> -                groups:
> -                  enum: [spi cs1]
> -
>            - if:
>                properties:
>                  function:
> @@ -499,51 +231,6 @@ patternProperties:
>                  groups:
>                    enum: [spi refclk]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: spis
> -            then:
> -              properties:
> -                groups:
> -                  enum: [spis]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: sw_r
> -            then:
> -              properties:
> -                groups:
> -                  enum: [uart1]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: uart0
> -            then:
> -              properties:
> -                groups:
> -                  enum: [uart0]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: uart1
> -            then:
> -              properties:
> -                groups:
> -                  enum: [uart1]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: uart2
> -            then:
> -              properties:
> -                groups:
> -                  enum: [uart2]
> -
>            - if:
>                properties:
>                  function:
> @@ -562,25 +249,6 @@ patternProperties:
>                  groups:
>                    enum: [uartlite]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: utif
> -            then:
> -              properties:
> -                groups:
> -                  enum: [p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an,
> -                         p3led_kn, p4led_an, p4led_kn, pwm0, pwm1, sdmode, spis]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: wdt
> -            then:
> -              properties:
> -                groups:
> -                  enum: [wdt]
> -
>            - if:
>                properties:
>                  function:
> @@ -608,33 +276,6 @@ patternProperties:
>                  groups:
>                    enum: [wled]
>  
> -          - if:
> -              properties:
> -                function:
> -                  const: wled_an
> -            then:
> -              properties:
> -                groups:
> -                  enum: [wled_an]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: wled_kn
> -            then:
> -              properties:
> -                groups:
> -                  enum: [wled_kn]
> -
> -          - if:
> -              properties:
> -                function:
> -                  const: "-"
> -            then:
> -              properties:
> -                groups:
> -                  enum: [i2c, spi cs1, uart0]
> -
>          additionalProperties: false
>  
>      additionalProperties: false
> diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml
> new file mode 100644
> index 000000000000..c818c8947866
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml
> @@ -0,0 +1,454 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pinctrl/mediatek,mt76x8-pinctrl.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MediaTek MT76X8 Pin Controller
> +
> +maintainers:
> +  - Arınç ÜNAL <arinc.unal@arinc9.com>
> +  - Sergio Paracuellos <sergio.paracuellos@gmail.com>
> +
> +description:
> +  MediaTek MT76X8 pin controller for MT7628 and MT7688 SoCs.
> +  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,mt76x8-pinctrl

We generally don't do wildcards in compatible strings. Are these 2 SoCs 
really 'the same'? 

> +      - ralink,mt7620-pinctrl

Huh? Doesn't this conflict with the mt7620 schema?

> +      - 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: [antenna, debug, gpio, i2c, i2s, jtag, p0led_an, p0led_kn,
> +                   p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn,
> +                   p4led_an, p4led_kn, pcie, pcm, perst, pwm, pwm0, pwm1,
> +                   pwm_uart2, refclk, rsvd, sdxc, sdxc d5 d4, sdxc d6, sdxc d7,
> +                   spi, spi cs1, spis, sw_r, uart0, uart1, uart2, utif, wdt,
> +                   wled_an, wled_kn, -]
> +
> +          groups:
> +            description:
> +              An array of strings. Each string contains the name of a group.
> +            maxItems: 1
> +
> +        required:
> +          - groups
> +          - function
> +
> +        allOf:
> +          - if:
> +              properties:
> +                function:
> +                  const: antenna
> +            then:
> +              properties:
> +                groups:
> +                  enum: [i2s]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: debug
> +            then:
> +              properties:
> +                groups:
> +                  enum: [i2c]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: gpio
> +            then:
> +              properties:
> +                groups:
> +                  enum: [gpio, i2c, i2s, p0led_an, p0led_kn, p1led_an, p1led_kn,
> +                         p2led_an, p2led_kn, p3led_an, p3led_kn, p4led_an,
> +                         p4led_kn, perst, pwm0, pwm1, refclk, sdmode, spi,
> +                         spi cs1, spis, uart0, uart1, uart2, wdt, wled_an,
> +                         wled_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: i2c
> +            then:
> +              properties:
> +                groups:
> +                  enum: [i2c]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: i2s
> +            then:
> +              properties:
> +                groups:
> +                  enum: [i2s]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: jtag
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p0led_an, p0led_kn, p1led_an, p1led_kn, p2led_an,
> +                         p2led_kn, p3led_an, p3led_kn, p4led_an, p4led_kn,
> +                         sdmode]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p0led_an
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p0led_an]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p0led_kn
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p0led_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p1led_an
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p1led_an]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p1led_kn
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p1led_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p2led_an
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p2led_an]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p2led_kn
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p2led_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p3led_an
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p3led_an]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p3led_kn
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p3led_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p4led_an
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p4led_an]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: p4led_kn
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p4led_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: pcie
> +            then:
> +              properties:
> +                groups:
> +                  enum: [gpio]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: pcm
> +            then:
> +              properties:
> +                groups:
> +                  enum: [i2s]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: perst
> +            then:
> +              properties:
> +                groups:
> +                  enum: [perst]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: pwm
> +            then:
> +              properties:
> +                groups:
> +                  enum: [uart1, uart2]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: pwm0
> +            then:
> +              properties:
> +                groups:
> +                  enum: [pwm0]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: pwm1
> +            then:
> +              properties:
> +                groups:
> +                  enum: [pwm1]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: pwm_uart2
> +            then:
> +              properties:
> +                groups:
> +                  enum: [spis]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: refclk
> +            then:
> +              properties:
> +                groups:
> +                  enum: [gpio, refclk, spi cs1]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: rsvd
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p0led_an, p0led_kn, wled_an, wled_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: sdxc
> +            then:
> +              properties:
> +                groups:
> +                  enum: [sdmode]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: sdxc d5 d4
> +            then:
> +              properties:
> +                groups:
> +                  enum: [uart2]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: sdxc d6
> +            then:
> +              properties:
> +                groups:
> +                  enum: [pwm1]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: sdxc d7
> +            then:
> +              properties:
> +                groups:
> +                  enum: [pwm0]
> +
> +          - 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: spis
> +            then:
> +              properties:
> +                groups:
> +                  enum: [spis]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: sw_r
> +            then:
> +              properties:
> +                groups:
> +                  enum: [uart1]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: uart0
> +            then:
> +              properties:
> +                groups:
> +                  enum: [uart0]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: uart1
> +            then:
> +              properties:
> +                groups:
> +                  enum: [uart1]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: uart2
> +            then:
> +              properties:
> +                groups:
> +                  enum: [uart2]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: utif
> +            then:
> +              properties:
> +                groups:
> +                  enum: [p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an,
> +                         p3led_kn, p4led_an, p4led_kn, pwm0, pwm1, sdmode, spis]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: wdt
> +            then:
> +              properties:
> +                groups:
> +                  enum: [wdt]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: wled_an
> +            then:
> +              properties:
> +                groups:
> +                  enum: [wled_an]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: wled_kn
> +            then:
> +              properties:
> +                groups:
> +                  enum: [wled_kn]
> +
> +          - if:
> +              properties:
> +                function:
> +                  const: "-"
> +            then:
> +              properties:
> +                groups:
> +                  enum: [i2c, spi cs1, uart0]
> +

> +        additionalProperties: false
> +
> +    additionalProperties: false

Move these above 'properties'. It's easier to read than after a long 
indented section.

> +
> +allOf:
> +  - $ref: "pinctrl.yaml#"

Drop quotes.

Rob

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-02-27 18:22 UTC|newest]

Thread overview: 135+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-22 18:39 [RFC PATCH 00/16] pinctrl: ralink: fix ABI, improve driver, move to mediatek, improve dt-bindings arinc9.unal
2023-02-22 18:39 ` arinc9.unal
2023-02-22 18:39 ` arinc9.unal
2023-02-22 18:39 ` [RFC PATCH 01/16] pinctrl: ralink: reintroduce ralink,rt2880-pinmux compatible string arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39 ` [RFC PATCH 02/16] pinctrl: ralink: add mediatek compatible strings arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39 ` [RFC PATCH 03/16] pinctrl: ralink: rt305x: add compatible string for every SoC arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39 ` [RFC PATCH 04/16] pinctrl: ralink: mt7620: split out to mt76x8 arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39 ` [RFC PATCH 05/16] pinctrl: ralink: move to mediatek as mtmips arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39 ` [RFC PATCH 06/16] pinctrl: mediatek: remove OF_GPIO as reverse dependency arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39 ` [RFC PATCH 07/16] dt-bindings: pinctrl: ralink: add new compatible strings arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-27 17:33   ` Rob Herring
2023-02-27 17:33     ` Rob Herring
2023-02-27 17:33     ` Rob Herring
2023-02-28 16:46     ` Arınç ÜNAL
2023-02-28 16:46       ` Arınç ÜNAL
2023-02-28 16:46       ` Arınç ÜNAL
2023-03-01  2:44       ` Rob Herring
2023-03-01  2:44         ` Rob Herring
2023-03-01  2:44         ` Rob Herring
2023-03-01  8:15         ` Arınç ÜNAL
2023-03-01  8:15           ` Arınç ÜNAL
2023-03-01  8:15           ` Arınç ÜNAL
2023-03-02  8:28           ` Krzysztof Kozlowski
2023-03-02  8:28             ` Krzysztof Kozlowski
2023-03-02  8:28             ` Krzysztof Kozlowski
2023-03-02  9:17             ` Arınç ÜNAL
2023-03-02  9:17               ` Arınç ÜNAL
2023-03-02  9:17               ` Arınç ÜNAL
2023-03-02  9:58               ` Krzysztof Kozlowski
2023-03-02  9:58                 ` Krzysztof Kozlowski
2023-03-02  9:58                 ` Krzysztof Kozlowski
2023-03-02 10:22                 ` Arınç ÜNAL
2023-03-02 10:22                   ` Arınç ÜNAL
2023-03-02 10:22                   ` Arınç ÜNAL
2023-03-02 10:29                   ` Krzysztof Kozlowski
2023-03-02 10:29                     ` Krzysztof Kozlowski
2023-03-02 10:29                     ` Krzysztof Kozlowski
2023-03-02 10:47                     ` Arınç ÜNAL
2023-03-02 10:47                       ` Arınç ÜNAL
2023-03-02 10:47                       ` Arınç ÜNAL
2023-03-02 11:36                       ` Krzysztof Kozlowski
2023-03-02 11:36                         ` Krzysztof Kozlowski
2023-03-02 11:36                         ` Krzysztof Kozlowski
2023-03-02 11:50                         ` Arınç ÜNAL
2023-03-02 11:50                           ` Arınç ÜNAL
2023-03-02 11:50                           ` Arınç ÜNAL
2023-03-03  7:05                           ` Krzysztof Kozlowski
2023-03-03  7:05                             ` Krzysztof Kozlowski
2023-03-03  7:05                             ` Krzysztof Kozlowski
2023-03-03  7:44                             ` Arınç ÜNAL
2023-03-03  7:44                               ` Arınç ÜNAL
2023-03-03  7:44                               ` Arınç ÜNAL
2023-03-03  7:53                               ` Krzysztof Kozlowski
2023-03-03  7:53                                 ` Krzysztof Kozlowski
2023-03-03  7:53                                 ` Krzysztof Kozlowski
2023-03-03  8:03                                 ` Arınç ÜNAL
2023-03-03  8:03                                   ` Arınç ÜNAL
2023-03-03  8:03                                   ` Arınç ÜNAL
2023-03-02 22:33                       ` Arınç ÜNAL
2023-03-02 22:33                         ` Arınç ÜNAL
2023-03-02 22:33                         ` Arınç ÜNAL
2023-02-22 18:39 ` [RFC PATCH 08/16] dt-bindings: pinctrl: ralink: rename to mediatek arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39 ` [RFC PATCH 09/16] dt-bindings: pinctrl: mediatek: rt305x: split binding arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-27 17:38   ` Rob Herring
2023-02-27 17:38     ` Rob Herring
2023-02-27 17:38     ` Rob Herring
2023-02-28  8:24   ` Krzysztof Kozlowski
2023-02-28  8:24     ` Krzysztof Kozlowski
2023-02-28  8:24     ` Krzysztof Kozlowski
2023-02-22 18:39 ` [RFC PATCH 10/16] dt-bindings: pinctrl: mediatek: mt7620: " arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-27 18:21   ` Rob Herring [this message]
2023-02-27 18:21     ` Rob Herring
2023-02-27 18:21     ` Rob Herring
2023-02-28 19:38     ` Arınç ÜNAL
2023-02-28 19:38       ` Arınç ÜNAL
2023-02-28 19:38       ` Arınç ÜNAL
2023-02-22 18:39 ` [RFC PATCH 11/16] MAINTAINERS: move ralink pinctrl to mediatek mips pinctrl arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39 ` [RFC PATCH 12/16] dt-bindings: pinctrl: mediatek: mt6795: rename to mediatek,mt6795-pinctrl arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-27 18:22   ` Rob Herring
2023-02-27 18:22     ` Rob Herring
2023-02-27 18:22     ` Rob Herring
2023-02-22 18:39 ` [RFC PATCH 13/16] dt-bindings: pinctrl: mediatek: mt8186: rename to mediatek,mt8186-pinctrl arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-27 18:23   ` Rob Herring
2023-02-27 18:23     ` Rob Herring
2023-02-27 18:23     ` Rob Herring
2023-02-22 18:39 ` [RFC PATCH 14/16] dt-bindings: pinctrl: mediatek: mt8192: rename to mediatek,mt8192-pinctrl arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-27 18:24   ` Rob Herring
2023-02-27 18:24     ` Rob Herring
2023-02-27 18:24     ` Rob Herring
2023-02-22 18:39 ` [RFC PATCH 15/16] dt-bindings: pinctrl: mediatek: mt8195: rename to mediatek,mt8195-pinctrl arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-27 18:24   ` Rob Herring
2023-02-27 18:24     ` Rob Herring
2023-02-27 18:24     ` Rob Herring
2023-02-22 18:39 ` [RFC PATCH 16/16] dt-bindings: pinctrl: mediatek: improve schemas arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-22 18:39   ` arinc9.unal
2023-02-27 18:28   ` Rob Herring
2023-02-27 18:28     ` Rob Herring
2023-02-27 18:28     ` Rob Herring
2023-02-23  4:58 ` [RFC PATCH 00/16] pinctrl: ralink: fix ABI, improve driver, move to mediatek, improve dt-bindings Sergio Paracuellos
2023-02-23  4:58   ` Sergio Paracuellos
2023-02-23  4:58   ` Sergio Paracuellos
2023-02-23  6:01   ` Arınç ÜNAL
2023-02-23  6:01     ` Arınç ÜNAL
2023-02-23  6:01     ` Arınç ÜNAL

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230227182155.GA550689-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=Landen.Chao@mediatek.com \
    --cc=arinc.unal@arinc9.com \
    --cc=arinc9.unal@gmail.com \
    --cc=daniel.santos@pobox.com \
    --cc=daniel@makrotopia.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dqfext@gmail.com \
    --cc=erkin.bozoglu@xeront.com \
    --cc=frank-w@public-files.de \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=luizluca@gmail.com \
    --cc=matthias.bgg@gmail.com \
    --cc=sean.wang@kernel.org \
    --cc=sean.wang@mediatek.com \
    --cc=sergio.paracuellos@gmail.com \
    --cc=williamsukatube@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.