Lines Matching +full:mux +full:- +full:gpios
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 +------------+ +-----+ +-----+ +-----+
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
37 being made to a device on a child bus, the GPIOs will be set according to the idle value.
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:
51 description: list of GPIOs used to control the muxer
55 idle-state:
61 - $ref: i2c-mux.yaml
66 - compatible
67 - i2c-parent
68 - mux-gpios
71 - |
73 compatible = "i2c-mux-gpio";
74 #address-cells = <1>;
75 #size-cells = <0>;
76 mux-gpios = <&gpio1 22 0>, <&gpio1 23 0>;
77 i2c-parent = <&i2c1>;
81 #address-cells = <1>;
82 #size-cells = <0>;
85 compatible = "solomon,ssd1307fb-i2c";
88 reset-gpios = <&gpio2 7 1>;
94 #address-cells = <1>;
95 #size-cells = <0>;
99 gpio-controller;
100 #gpio-cells = <2>;