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

title: NXP PCA95xx I2C GPIO multiplexer

maintainers:
  - Krzysztof Kozlowski <krzk@kernel.org>

description: |+
  Bindings for the family of I2C GPIO multiplexers/expanders: NXP PCA95xx,
  Maxim MAX73xx

properties:
  compatible:
    enum:
      - exar,xra1202
      - maxim,max7310
      - maxim,max7312
      - maxim,max7313
      - maxim,max7315
      - maxim,max7319
      - maxim,max7320
      - maxim,max7321
      - maxim,max7322
      - maxim,max7323
      - maxim,max7324
      - maxim,max7325
      - maxim,max7326
      - maxim,max7327
      - nxp,pca6416
      - nxp,pca9505
      - nxp,pca9534
      - nxp,pca9535
      - nxp,pca9536
      - nxp,pca9537
      - nxp,pca9538
      - nxp,pca9539
      - nxp,pca9554
      - nxp,pca9555
      - nxp,pca9556
      - nxp,pca9557
      - nxp,pca9574
      - nxp,pca9575
      - nxp,pca9698
      - nxp,pcal6416
      - nxp,pcal6524
      - nxp,pcal9535
      - nxp,pcal9555a
      - onnn,cat9554
      - onnn,pca9654
      - ti,pca6107
      - ti,pca9536
      - ti,tca6408
      - ti,tca6416
      - ti,tca6424
      - ti,tca9539
      - ti,tca9554

  reg:
    maxItems: 1

  gpio-controller: true

  '#gpio-cells':
    const: 2

  gpio-line-names:
    minItems: 1
    maxItems: 32

  interrupts:
    maxItems: 1

  interrupt-controller: true

  '#interrupt-cells':
    const: 2

  reset-gpios:
    description:
      GPIO specification for the RESET input. This is an active low signal to
      the PCA953x.  Not valid for Maxim MAX732x devices.

  vcc-supply:
    description:
      Optional power supply.  Not valid for Maxim MAX732x devices.

  wakeup-source:
    $ref: /schemas/types.yaml#/definitions/flag

patternProperties:
  "^(hog-[0-9]+|.+-hog(-[0-9]+)?)$":
    type: object
    properties:
      gpio-hog: true
      gpios: true
      input: true
      output-high: true
      output-low: true
      line-name: true

    required:
      - gpio-hog
      - gpios

    additionalProperties: false

required:
  - compatible
  - reg
  - gpio-controller
  - "#gpio-cells"

additionalProperties: false

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - maxim,max7320
              - maxim,max7321
              - maxim,max7322
              - maxim,max7323
              - maxim,max7324
              - maxim,max7325
              - maxim,max7326
              - maxim,max7327
    then:
      properties:
        reset-gpios: false
        vcc-supply: false

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

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

        gpio@20 {
            compatible = "nxp,pca9505";
            reg = <0x20>;
            pinctrl-names = "default";
            pinctrl-0 = <&pinctrl_pca9505>;
            gpio-controller;
            #gpio-cells = <2>;
            interrupt-parent = <&gpio3>;
            interrupts = <23 IRQ_TYPE_LEVEL_LOW>;

            usb3-sata-sel-hog {
                gpio-hog;
                gpios = <4 GPIO_ACTIVE_HIGH>;
                output-low;
                line-name = "usb3_sata_sel";
            };
        };
    };

  - |
    #include <dt-bindings/interrupt-controller/irq.h>

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

        gpio99: gpio@22 {
            compatible = "nxp,pcal6524";
            reg = <0x22>;
            interrupt-parent = <&gpio6>;
            interrupts = <1 IRQ_TYPE_EDGE_FALLING>; /* gpio6_161 */
            interrupt-controller;
            #interrupt-cells = <2>;
            vcc-supply = <&vdds_1v8_main>;
            gpio-controller;
            #gpio-cells = <2>;
            gpio-line-names = "hdmi-ct-hpd", "hdmi.ls-oe", "p02", "p03",
                              "vibra", "fault2", "p06", "p07", "en-usb",
                              "en-host1", "en-host2", "chg-int", "p14", "p15",
                              "mic-int", "en-modem", "shdn-hs-amp",
                              "chg-status+red", "green", "blue", "en-esata",
                              "fault1", "p26", "p27";
        };

        ts3a227@3b {
            compatible = "ti,ts3a227e";
            reg = <0x3b>;
            interrupt-parent = <&gpio99>;
            interrupts = <14 IRQ_TYPE_EDGE_RISING>;
            ti,micbias = <0>; /* 2.1V */
        };
    };

  - |
    #include <dt-bindings/interrupt-controller/irq.h>

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

        /* MAX7325 with interrupt support enabled */
        gpio@6d {
            compatible = "maxim,max7325";
            reg = <0x6d>;
            gpio-controller;
            #gpio-cells = <2>;
            interrupt-controller;
            #interrupt-cells = <2>;
            interrupt-parent = <&gpio4>;
            interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
        };
    };

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

        /* MAX7325 with interrupt support disabled */
        gpio@6e {
            compatible = "maxim,max7325";
            reg = <0x6e>;
            gpio-controller;
            #gpio-cells = <2>;
        };
    };
