Lines Matching +full:i2c +full:- +full:mux
1 # SPDX-License-Identifier: GPL-2.0-only
3 ---
4 $id: http://devicetree.org/schemas/i2c/i2c-mux-gpio.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: GPIO-based I2C Bus Mux
10 - Wolfram Sang <wsa@kernel.org>
13 This binding describes an I2C bus multiplexer that uses GPIOs to route the I2C signals.
15 +-----+ +-----+
17 +------------+ +-----+ +-----+
19 | | /--------+--------+
20 | +------+ | +------+ child bus A, on GPIO value set to 0
21 | | I2C |-|--| Mux |
22 | +------+ | +--+---+ child bus B, on GPIO value set to 1
23 | | | \----------+--------+--------+
24 | +------+ | | | | |
25 | | GPIO |-|-----+ +-----+ +-----+ +-----+
26 | +------+ | | dev | | dev | | dev |
27 +------------+ +-----+ +-----+ +-----+
29 For each I2C child node, an I2C child bus will be created. They will be numbered based on their
33 property will be output using the list of GPIOs, the first in the list holding the least-
36 If an idle state is defined, using the idle-state (optional) property, whenever an access is not
44 const: i2c-mux-gpio
46 i2c-parent:
47 description: phandle of the I2C bus that this multiplexer's master-side port is connected to
50 mux-gpios:
55 idle-state:
60 settle-time-us:
64 - $ref: i2c-mux.yaml
69 - compatible
70 - i2c-parent
71 - mux-gpios
74 - |
76 compatible = "i2c-mux-gpio";
77 #address-cells = <1>;
78 #size-cells = <0>;
79 mux-gpios = <&gpio1 22 0>, <&gpio1 23 0>;
80 i2c-parent = <&i2c1>;
82 i2c@1 {
84 #address-cells = <1>;
85 #size-cells = <0>;
88 compatible = "solomon,ssd1307fb-i2c";
91 reset-gpios = <&gpio2 7 1>;
95 i2c@3 {
97 #address-cells = <1>;
98 #size-cells = <0>;
102 gpio-controller;
103 #gpio-cells = <2>;