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

title: MediaTek MT7621 Pin Controller

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

description: |
  MediaTek MT7621 pin controller for MT7621 SoC.
  The pin controller can only set the muxing of pin groups. Muxing individual
  pins is not supported. There is no pinconf support.

properties:
  compatible:
    const: ralink,mt7621-pinctrl

patternProperties:
  '-pins$':
    type: object
    additionalProperties: false

    patternProperties:
      '^(.*-)?pinmux$':
        type: object
        description: node for pinctrl.
        $ref: pinmux-node.yaml#
        additionalProperties: false

        properties:
          function:
            description:
              A string containing the name of the function to mux to the group.
            enum: [gpio, i2c, i2s, jtag, mdio, nand1, nand2, pcie refclk,
                   pcie rst, pcm, rgmii1, rgmii2, sdhci, spdif2, spdif3, spi,
                   uart1, uart2, uart3, wdt refclk, wdt rst]

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

        required:
          - groups
          - function

        allOf:
          - if:
              properties:
                function:
                  const: gpio
            then:
              properties:
                groups:
                  enum: [i2c, jtag, mdio, pcie, rgmii1, rgmii2, sdhci, spi,
                         uart1, uart2, uart3, wdt]

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

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

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

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

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

          - if:
              properties:
                function:
                  const: nand2
            then:
              properties:
                groups:
                  enum: [sdhci]

          - if:
              properties:
                function:
                  const: pcie refclk
            then:
              properties:
                groups:
                  enum: [pcie]

          - if:
              properties:
                function:
                  const: pcie rst
            then:
              properties:
                groups:
                  enum: [pcie]

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

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

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

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

          - if:
              properties:
                function:
                  const: spdif2
            then:
              properties:
                groups:
                  enum: [uart2]

          - if:
              properties:
                function:
                  const: spdif3
            then:
              properties:
                groups:
                  enum: [uart3]

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

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

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

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

          - if:
              properties:
                function:
                  const: wdt refclk
            then:
              properties:
                groups:
                  enum: [wdt]

          - if:
              properties:
                function:
                  const: wdt rst
            then:
              properties:
                groups:
                  enum: [wdt]

allOf:
  - $ref: pinctrl.yaml#

required:
  - compatible

additionalProperties: false

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

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