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

title: Nuvoton WPCM450 pin control and GPIO

maintainers:
  - Jonathan Neuschäfer <j.neuschaefer@gmx.net>

properties:
  compatible:
    const: nuvoton,wpcm450-pinctrl

  reg:
    maxItems: 1

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

patternProperties:
  # There are three kinds of subnodes:
  # 1. a GPIO controller node for each GPIO bank
  # 2. a pinmux node configures pin muxing for a group of pins (e.g. rmii2)
  # 3. a pinconf node configures properties of a single pin

  "^gpio@[0-7]$":
    type: object

    description:
      Eight GPIO banks (gpio@0 to gpio@7), that each contain between 14 and 18
      GPIOs. Some GPIOs support interrupts.

    properties:
      reg:
        minimum: 0
        maximum: 7

      gpio-controller: true

      "#gpio-cells":
        const: 2

      interrupt-controller: true

      "#interrupt-cells":
        const: 2

      interrupts:
        maxItems: 3
        description:
          The interrupts associated with this GPIO bank

    required:
      - reg
      - gpio-controller
      - '#gpio-cells'

  "^mux-":
    $ref: pinmux-node.yaml#

    properties:
      groups:
        description:
          One or more groups of pins to mux to a certain function
        items:
          enum: [ smb3, smb4, smb5, scs1, scs2, scs3, smb0, smb1, smb2, bsp,
                  hsp1, hsp2, r1err, r1md, rmii2, r2err, r2md, kbcc, dvo,
                  clko, smi, uinc, gspi, mben, xcs2, xcs1, sdio, sspi, fi0,
                  fi1, fi2, fi3, fi4, fi5, fi6, fi7, fi8, fi9, fi10, fi11,
                  fi12, fi13, fi14, fi15, pwm0, pwm1, pwm2, pwm3, pwm4, pwm5,
                  pwm6, pwm7, hg0, hg1, hg2, hg3, hg4, hg5, hg6, hg7 ]
      function:
        description:
          The function that a group of pins is muxed to
        enum: [ smb3, smb4, smb5, scs1, scs2, scs3, smb0, smb1, smb2, bsp,
                hsp1, hsp2, r1err, r1md, rmii2, r2err, r2md, kbcc, dvo0,
                dvo1, dvo2, dvo3, dvo4, dvo5, dvo6, dvo7, clko, smi, uinc,
                gspi, mben, xcs2, xcs1, sdio, sspi, fi0, fi1, fi2, fi3, fi4,
                fi5, fi6, fi7, fi8, fi9, fi10, fi11, fi12, fi13, fi14, fi15,
                pwm0, pwm1, pwm2, pwm3, pwm4, pwm5, pwm6, pwm7, hg0, hg1,
                hg2, hg3, hg4, hg5, hg6, hg7, gpio ]

    dependencies:
      groups: [ function ]
      function: [ groups ]

    additionalProperties: false

  "^cfg-":
    $ref: pincfg-node.yaml#

    properties:
      pins:
        description:
          A list of pins to configure in certain ways, such as enabling
          debouncing
        items:
          pattern: "^gpio1?[0-9]{1,2}$"

      input-debounce: true

    additionalProperties: false

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/gpio/gpio.h>
    pinctrl: pinctrl@b8003000 {
      compatible = "nuvoton,wpcm450-pinctrl";
      reg = <0xb8003000 0x1000>;
      #address-cells = <1>;
      #size-cells = <0>;

      gpio0: gpio@0 {
        reg = <0>;
        gpio-controller;
        #gpio-cells = <2>;
        interrupts = <2 IRQ_TYPE_LEVEL_HIGH>,
                     <3 IRQ_TYPE_LEVEL_HIGH>,
                     <4 IRQ_TYPE_LEVEL_HIGH>;
      };

      mux-rmii2 {
        groups = "rmii2";
        function = "rmii2";
      };

      pinmux_uid: mux-uid {
        groups = "gspi", "sspi";
        function = "gpio";
      };

      pinctrl_uid: cfg-uid {
        pins = "gpio14";
        input-debounce = <1>;
      };
    };

    gpio-keys {
      compatible = "gpio-keys";
      pinctrl-names = "default";
      pinctrl-0 = <&pinctrl_uid>, <&pinmux_uid>;

      button-uid {
        label = "UID";
        linux,code = <102>;
        gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
      };
    };
