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

title: Awinic AW9523/AW9523B I2C GPIO Expander

maintainers:
  - AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>

description: |
  The Awinic AW9523/AW9523B I2C GPIO Expander featuring 16 multi-function
  I/O, 256 steps PWM mode and interrupt support.

properties:
  compatible:
    const: awinic,aw9523-pinctrl

  reg:
    maxItems: 1

  '#gpio-cells':
    description: |
      Specifying the pin number and flags, as defined in
      include/dt-bindings/gpio/gpio.h
    const: 2

  gpio-controller: true

  gpio-ranges:
    maxItems: 1

  interrupt-controller: true

  interrupts:
    maxItems: 1
    description: Specifies the INTN pin IRQ.

  '#interrupt-cells':
    description:
      Specifies the PIN numbers and Flags, as defined in defined in
      include/dt-bindings/interrupt-controller/irq.h
    const: 2

  reset-gpios:
    maxItems: 1

# PIN CONFIGURATION NODES
patternProperties:
  '-pins$':
    type: object
    description:
      Pinctrl node's client devices use subnodes for desired pin configuration.
      Client device subnodes use below standard properties.
    $ref: /schemas/pinctrl/pincfg-node.yaml

    properties:
      pins:
        description:
          List of gpio pins affected by the properties specified in
          this subnode.
        items:
          pattern: "^gpio([0-9]|1[0-5])$"
        minItems: 1
        maxItems: 16

      function:
        description:
          Specify the alternative function to be configured for the
          specified pins.

        enum: [ gpio, pwm ]

      bias-disable: true
      bias-pull-down: true
      bias-pull-up: true
      drive-open-drain: true
      drive-push-pull: true
      input-enable: true
      input-disable: true
      output-high: true
      output-low: true

    required:
      - pins
      - function

    additionalProperties: false

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

additionalProperties: false

examples:
  # Example configuration to drive pins for a keyboard matrix
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        aw9523: gpio-expander@58 {
                compatible = "awinic,aw9523-pinctrl";
                reg = <0x58>;
                interrupt-parent = <&tlmm>;
                interrupts = <50 IRQ_TYPE_EDGE_FALLING>;
                gpio-controller;
                #gpio-cells = <2>;
                gpio-ranges = <&tlmm 0 0 16>;
                interrupt-controller;
                #interrupt-cells = <2>;
                reset-gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>;

                keyboard-matrix-col-pins {
                        pins = "gpio8", "gpio9", "gpio10", "gpio11",
                               "gpio12", "gpio13", "gpio14", "gpio15";
                        function = "gpio";
                        input-disable;
                        output-low;
                };

                keyboard-matrix-row-pins {
                        pins = "gpio0", "gpio1", "gpio2", "gpio3",
                               "gpio4", "gpio5", "gpio6", "gpio7";
                        function = "gpio";
                        bias-pull-up;
                        drive-open-drain;
                        input-enable;
                };
        };
    };
