# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/i2c/i2c-mux-gpmux.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: General Purpose I2C Bus Mux

maintainers:
  - Peter Rosin <peda@axentia.se>

description: |+
  This binding describes an I2C bus multiplexer that uses a mux controller
  from the mux subsystem to route the I2C signals.

                                    .-----.  .-----.
                                    | dev |  | dev |
      .------------.                '-----'  '-----'
      | SoC        |                   |        |
      |            |          .--------+--------'
      |   .------. |  .------+    child bus A, on MUX value set to 0
      |   | I2C  |-|--| Mux  |
      |   '------' |  '--+---+    child bus B, on MUX value set to 1
      |   .------. |     |    '----------+--------+--------.
      |   | MUX- | |     |               |        |        |
      |   | Ctrl |-|-----+            .-----.  .-----.  .-----.
      |   '------' |                  | dev |  | dev |  | dev |
      '------------'                  '-----'  '-----'  '-----'



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

properties:
  compatible:
    const: i2c-mux

  i2c-parent:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      The phandle of the I2C bus that this multiplexer's master-side port is
      connected to.

  mux-controls:
    maxItems: 1
    description:
      The mux-controller states are the I2C sub-bus numbers.

  mux-locked:
    type: boolean
    description: |
      Explicitly allow unrelated I2C transactions on the parent I2C adapter at
      these times:
       - during setup of the multiplexer
       - between setup of the multiplexer and the child bus I2C transaction
       - between the child bus I2C transaction and releasing of the multiplexer
       - during releasing of the multiplexer

      However, I2C transactions to devices behind all I2C multiplexers connected
      to the same parent adapter that this multiplexer is connected to are blocked
      for the full duration of the complete multiplexed I2C transaction (i.e.
      including the times covered by the above list).
      If mux-locked is not present, the multiplexer is assumed to be parent-locked.
      This means that no unrelated I2C transactions are allowed on the parent I2C
      adapter for the complete multiplexed I2C transaction.
      The properties of mux-locked and parent-locked multiplexers are discussed
      in more detail in Documentation/i2c/i2c-topology.rst.

required:
  - compatible
  - i2c-parent
  - mux-controls

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    mux: mux-controller {
        compatible = "gpio-mux";
        #mux-control-cells = <0>;

        mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>,
                    <&pioA 1 GPIO_ACTIVE_HIGH>;
    };

    i2c-mux {
        compatible = "i2c-mux";
        mux-locked;
        i2c-parent = <&i2c1>;

        mux-controls = <&mux>;

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

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

            gpio@20 {
                compatible = "nxp,pca9555";
                gpio-controller;
                #gpio-cells = <2>;
                reg = <0x20>;
            };
        };

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

            gpio@20 {
                compatible = "nxp,pca9555";
                gpio-controller;
                #gpio-cells = <2>;
                reg = <0x20>;
            };
        };
    };
...
