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

title: TI FPC202 dual port controller with expanded IOs

maintainers:
  - Romain Gantois <romain.gantois@bootlin.com>

allOf:
  - $ref: /schemas/i2c/i2c-atr.yaml#

properties:
  compatible:
    const: ti,fpc202

  reg:
    maxItems: 1

  gpio-controller: true

  "#gpio-cells":
    const: 2

  enable-gpios:
    description:
      Specifier for the GPIO connected to the EN pin.
    maxItems: 1

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

patternProperties:
  "^i2c@[0-1]$":
    $ref: /schemas/i2c/i2c-controller.yaml#
    description: Downstream device ports 0 and 1

    properties:
      reg:
        maxItems: 1
        description:
          Downstream port ID

    required:
      - "#address-cells"
      - "#size-cells"
      - reg

    unevaluatedProperties: false

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

unevaluatedProperties: false

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

        i2c-atr@f {
            compatible = "ti,fpc202";
            reg = <0xf>;
            #address-cells = <1>;
            #size-cells = <0>;

            gpio-controller;
            #gpio-cells = <2>;

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

            i2c@1 {
                #address-cells = <1>;
                #size-cells = <0>;
                reg = <1>;
            };
        };
    };
...
