# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/ralink,rt305x-pinctrl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Ralink RT305X Pin Controller

maintainers:
  - Arınç ÜNAL <arinc.unal@arinc9.com>
  - Sergio Paracuellos <sergio.paracuellos@gmail.com>

description:
  Ralink RT305X pin controller for RT3050, RT3052, RT3350, RT3352 and RT5350
  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:
    const: ralink,rt305x-pinctrl

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.
            anyOf:
              - description: For RT3050, RT3052 and RT3350 SoCs
                enum: [gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, mdio,
                       pcm gpio, pcm i2s, pcm uartf, rgmii, sdram, spi, uartf,
                       uartlite]

              - description: For RT3352 SoC
                enum: [gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, led,
                       lna, mdio, pa, pcm gpio, pcm i2s, pcm uartf, rgmii, spi,
                       spi_cs1, uartf, uartlite, wdg_cs1]

              - description: For RT5350 SoC
                enum: [gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, led,
                       pcm gpio, pcm i2s, pcm uartf, spi, spi_cs1, uartf,
                       uartlite, wdg_cs1]

          groups:
            description:
              An array of strings. Each string contains the name of a group.
            maxItems: 1

        required:
          - groups
          - function

        allOf:
          - if:
              properties:
                function:
                  const: gpio
            then:
              properties:
                groups:
                  anyOf:
                    - description: For RT3050, RT3052 and RT3350 SoCs
                      enum: [i2c, jtag, mdio, rgmii, sdram, spi, uartf,
                             uartlite]

                    - description: For RT3352 SoC
                      enum: [i2c, jtag, led, lna, mdio, pa, rgmii, spi, spi_cs1,
                             uartf, uartlite]

                    - description: For RT5350 SoC
                      enum: [i2c, jtag, led, spi, spi_cs1, uartf, uartlite]

          - if:
              properties:
                function:
                  const: gpio i2s
            then:
              properties:
                groups:
                  enum: [uartf]

          - if:
              properties:
                function:
                  const: gpio uartf
            then:
              properties:
                groups:
                  enum: [uartf]

          - if:
              properties:
                function:
                  const: i2c
            then:
              properties:
                groups:
                  enum: [i2c]

          - if:
              properties:
                function:
                  const: i2s uartf
            then:
              properties:
                groups:
                  enum: [uartf]

          - if:
              properties:
                function:
                  const: jtag
            then:
              properties:
                groups:
                  enum: [jtag]

          - if:
              properties:
                function:
                  const: led
            then:
              properties:
                groups:
                  enum: [led]

          - if:
              properties:
                function:
                  const: lna
            then:
              properties:
                groups:
                  enum: [lna]

          - if:
              properties:
                function:
                  const: mdio
            then:
              properties:
                groups:
                  enum: [mdio]

          - if:
              properties:
                function:
                  const: pa
            then:
              properties:
                groups:
                  enum: [pa]

          - if:
              properties:
                function:
                  const: pcm gpio
            then:
              properties:
                groups:
                  enum: [uartf]

          - if:
              properties:
                function:
                  const: pcm i2s
            then:
              properties:
                groups:
                  enum: [uartf]

          - if:
              properties:
                function:
                  const: pcm uartf
            then:
              properties:
                groups:
                  enum: [uartf]

          - if:
              properties:
                function:
                  const: rgmii
            then:
              properties:
                groups:
                  enum: [rgmii]

          - if:
              properties:
                function:
                  const: sdram
            then:
              properties:
                groups:
                  enum: [sdram]

          - if:
              properties:
                function:
                  const: spi
            then:
              properties:
                groups:
                  enum: [spi]

          - if:
              properties:
                function:
                  const: spi_cs1
            then:
              properties:
                groups:
                  enum: [spi_cs1]

          - if:
              properties:
                function:
                  const: uartf
            then:
              properties:
                groups:
                  enum: [uartf]

          - if:
              properties:
                function:
                  const: uartlite
            then:
              properties:
                groups:
                  enum: [uartlite]

          - if:
              properties:
                function:
                  const: wdg_cs1
            then:
              properties:
                groups:
                  enum: [spi_cs1]

        additionalProperties: false

    additionalProperties: false

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

required:
  - compatible

additionalProperties: false

examples:
  - |
    pinctrl {
      compatible = "ralink,rt305x-pinctrl";

      i2c_pins: i2c0-pins {
        pinmux {
          groups = "i2c";
          function = "i2c";
        };
      };
    };
