1# Copyright (c) 2020, Innoseis BV
2# SPDX-License-Identifier: Apache-2.0
3
4# Common fields for TI TCA954X I2C mux family
5
6description: |
7  TCA954x I2C switch
8
9  Each channel is represented by a separate devicetree child node.
10  The channel node can then be used as a standard i2c bus controller
11  like in the following simplified example:
12
13      /* The tca954x node must be a child of an i2c controller */
14      mux: tca9546a@77 {
15          compatible = "ti,tca9546a";
16          reg = <0x77>;
17          status = "okay";
18          #address-cells = <1>;
19          #size-cells = <0>;
20          reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
21
22          mux_i2c@0 {
23              compatible: "ti,tca9546a-channel"
24              reg = <0>;
25              #address-cells = <1>;
26              #size-cells = <0>;
27
28              temp_sens_0: tmp116@49 {
29                  compatible = "ti,tmp116";
30                  reg = <0x49>;
31              };
32          };
33
34          mux_i2c@1 {
35            compatible: "ti,tca9546a-channel"
36              reg = <1>;
37              #address-cells = <1>;
38              #size-cells = <0>;
39
40              temp_sens_1: tmp116@49 {
41                  compatible = "ti,tmp116";
42                  reg = <0x49>;
43              };
44          };
45      };
46
47include: [i2c-device.yaml]
48
49properties:
50  reset-gpios:
51    type: phandle-array
52    description: |
53      GPIO connected to the controller RESET pin. This pin is active-low.
54
55child-binding:
56  description: TCA954x I2C switch channel node
57  include: [i2c-controller.yaml]
58  on-bus: i2c
59