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

title: Nuvoton NPCM845 Pin Controller and GPIO

maintainers:
  - Tomer Maimon <tmaimon77@gmail.com>

description:
  The Nuvoton BMC NPCM8XX Pin Controller multi-function routed through
  the multiplexing block, Each pin supports GPIO functionality (GPIOx)
  and multiple functions that directly connect the pin to different
  hardware blocks.

properties:
  compatible:
    const: nuvoton,npcm845-pinctrl

  ranges:
    maxItems: 1

  '#address-cells':
    const: 1

  '#size-cells':
    const: 1

  nuvoton,sysgcr:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: a phandle to access GCR registers.

patternProperties:
  '^gpio@':
    type: object
    additionalProperties: false

    description:
      Eight GPIO banks that each contain 32 GPIOs.

    properties:
      gpio-controller: true

      '#gpio-cells':
        const: 2

      reg:
        maxItems: 1

      interrupts:
        maxItems: 1

      gpio-ranges:
        maxItems: 1

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

  '-mux$':
    $ref: pinmux-node.yaml#

    properties:
      groups:
        description:
          One or more groups of pins to mux to a certain function
        items:
          enum: [ iox1, iox2, smb1d, smb2d, lkgpo1, lkgpo2, ioxh, gspi,
                  smb5b, smb5c, lkgpo0, pspi, jm1, jm2, smb4b, smb4c, smb15,
                  smb16, smb17, smb18, smb19, smb20, smb21, smb22, smb23,
                  smb23b, smb4d, smb14, smb5, smb4, smb3, spi0cs1, spi0cs2,
                  spi0cs3, spi1cs0, spi1cs1, spi1cs2, spi1cs3, spi1cs23, smb3c,
                  smb3b, bmcuart0a, uart1, jtag2, bmcuart1, uart2, sg1mdio,
                  bmcuart0b, r1err, r1md, r1oen, r2oen, rmii3, r3oen, smb3d,
                  fanin0, fanin1, fanin2, fanin3, fanin4, fanin5, fanin6,
                  fanin7, fanin8, fanin9, fanin10, fanin11, fanin12, fanin13,
                  fanin14, fanin15, pwm0, pwm1, pwm2, pwm3, r2, r2err, r2md,
                  r3rxer, ga20kbc, smb5d, lpc, espi, rg2, ddr, i3c0, i3c1,
                  i3c2, i3c3, i3c4, i3c5, smb0, smb1, smb2, smb2c, smb2b, smb1c,
                  smb1b, smb8, smb9, smb10, smb11, sd1, sd1pwr, pwm4, pwm5,
                  pwm6, pwm7, pwm8, pwm9, pwm10, pwm11, mmc8, mmc, mmcwp, mmccd,
                  mmcrst, clkout, serirq, scipme, smi, smb6, smb6b, smb6c,
                  smb6d, smb7, smb7b, smb7c, smb7d, spi1, faninx, r1, spi3, 
                  spi3cs1, spi3quad, spi3cs2, spi3cs3, nprd_smi, smb0b, smb0c,
                  smb0den, smb0d, ddc, rg2mdio, wdog1, wdog2, smb12, smb13,
                  spix, spixcs1, clkreq, hgpio0, hgpio1, hgpio2, hgpio3, hgpio4,
                  hgpio5, hgpio6, hgpio7, bu4, bu4b, bu5, bu5b, bu6, gpo187 ]

      function:
        description:
          The function that a group of pins is muxed to
        enum: [ iox1, iox2, smb1d, smb2d, lkgpo1, lkgpo2, ioxh, gspi, smb5b,
                smb5c, lkgpo0, pspi, jm1, jm2, smb4b, smb4c, smb15, smb16,
                smb17, smb18, smb19, smb20, smb21, smb22, smb23, smb23b, smb4d,
                smb14, smb5, smb4, smb3, spi0cs1, spi0cs2, spi0cs3, spi1cs0,
                spi1cs1, spi1cs2, spi1cs3, spi1cs23, smb3c, smb3b, bmcuart0a,
                uart1, jtag2, bmcuart1, uart2, sg1mdio, bmcuart0b, r1err, r1md,
                r1oen, r2oen, rmii3, r3oen, smb3d, fanin0, fanin1, fanin2,
                fanin3, fanin4, fanin5, fanin6, fanin7, fanin8, fanin9, fanin10,
                fanin11, fanin12, fanin13, fanin14, fanin15, pwm0, pwm1, pwm2,
                pwm3, r2, r2err, r2md, r3rxer, ga20kbc, smb5d, lpc, espi, rg2,
                ddr, i3c0, i3c1, i3c2, i3c3, i3c4, i3c5, smb0, smb1, smb2,
                smb2c, smb2b, smb1c, smb1b, smb8, smb9, smb10, smb11, sd1,
                sd1pwr, pwm4, pwm5, pwm6, pwm7, pwm8, pwm9, pwm10, pwm11,
                mmc8, mmc, mmcwp, mmccd, mmcrst, clkout, serirq, scipme, smi,
                smb6, smb6b, smb6c, smb6d, smb7, smb7b, smb7c, smb7d, spi1,
                faninx, r1, spi3, spi3cs1, spi3quad, spi3cs2, spi3cs3, nprd_smi,
                smb0b, smb0c, smb0den, smb0d, ddc, rg2mdio, wdog1, wdog2,
                smb12, smb13, spix, spixcs1, clkreq, hgpio0, hgpio1, hgpio2,
                hgpio3, hgpio4, hgpio5, hgpio6, hgpio7, bu4, bu4b, bu5, bu5b,
                bu6, gpo187 ]

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

    additionalProperties: false

  '^pin':
    $ref: pincfg-node.yaml#

    properties:
      pins:
        description:
          A list of pins to configure in certain ways, such as enabling
          debouncing
        items:
          pattern: '^GPIO([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-6])'

      bias-disable: true

      bias-pull-up: true

      bias-pull-down: true

      input-enable: true

      output-low: true

      output-high: true

      drive-push-pull: true

      drive-open-drain: true

      input-debounce:
        description:
          Debouncing periods in microseconds, one period per interrupt
          bank found in the controller
        minItems: 1
        maxItems: 4

      slew-rate:
        description: |
          0: Low rate
          1: High rate
        enum: [0, 1]

      drive-strength:
        enum: [ 0, 1, 2, 4, 8, 12 ]

    additionalProperties: false

allOf:
  - $ref: pinctrl.yaml#

required:
  - compatible
  - ranges
  - '#address-cells'
  - '#size-cells'
  - nuvoton,sysgcr

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/gpio/gpio.h>

    soc {
      #address-cells = <2>;
      #size-cells = <2>;

      pinctrl: pinctrl@f0010000 {
        compatible = "nuvoton,npcm845-pinctrl";
        ranges = <0x0 0x0 0xf0010000 0x8000>;
        #address-cells = <1>;
        #size-cells = <1>;
        nuvoton,sysgcr = <&gcr>;

        gpio0: gpio@0 {
          gpio-controller;
          #gpio-cells = <2>;
          reg = <0x0 0xb0>;
          interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
          gpio-ranges = <&pinctrl 0 0 32>;
        };

        fanin0_pin: fanin0-mux {
          groups = "fanin0";
          function = "fanin0";
        };

        pin34_slew: pin34-slew {
          pins = "GPIO34/I3C4_SDA";
          bias-disable;
        };
      };
    };
