Lines Matching +full:mux +full:- +full:controller
1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/i2c/i2c-mux-gpmux.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: General Purpose I2C Bus Mux
10 - Peter Rosin <peda@axentia.se>
13 This binding describes an I2C bus multiplexer that uses a mux controller
14 from the mux subsystem to route the I2C signals.
16 .-----. .-----.
18 .------------. '-----' '-----'
20 | | .--------+--------'
21 | .------. | .------+ child bus A, on MUX value set to 0
22 | | I2C |-|--| Mux |
23 | '------' | '--+---+ child bus B, on MUX value set to 1
24 | .------. | | '----------+--------+--------.
25 | | MUX- | | | | | |
26 | | Ctrl |-|-----+ .-----. .-----. .-----.
27 | '------' | | dev | | dev | | dev |
28 '------------' '-----' '-----' '-----'
33 - $ref: /schemas/i2c/i2c-mux.yaml#
37 const: i2c-mux
39 i2c-parent:
42 The phandle of the I2C bus that this multiplexer's master-side port is
45 mux-controls:
48 The mux-controller states are the I2C sub-bus numbers.
50 mux-locked:
55 - during setup of the multiplexer
56 - between setup of the multiplexer and the child bus I2C transaction
57 - between the child bus I2C transaction and releasing of the multiplexer
58 - during releasing of the multiplexer
64 If mux-locked is not present, the multiplexer is assumed to be parent-locked.
67 The properties of mux-locked and parent-locked multiplexers are discussed
68 in more detail in Documentation/i2c/i2c-topology.rst.
71 - compatible
72 - i2c-parent
73 - mux-controls
78 - |
79 #include <dt-bindings/gpio/gpio.h>
80 mux: mux-controller {
81 compatible = "gpio-mux";
82 #mux-control-cells = <0>;
84 mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>,
88 i2c-mux {
89 compatible = "i2c-mux";
90 mux-locked;
91 i2c-parent = <&i2c1>;
93 mux-controls = <&mux>;
95 #address-cells = <1>;
96 #size-cells = <0>;
100 #address-cells = <1>;
101 #size-cells = <0>;
105 gpio-controller;
106 #gpio-cells = <2>;
113 #address-cells = <1>;
114 #size-cells = <0>;
118 gpio-controller;
119 #gpio-cells = <2>;