Lines Matching +full:ddc +full:- +full:i2c +full:- +full:bus
1 Pinctrl-based I2C Bus Mux
3 This binding describes an I2C bus multiplexer that uses pin multiplexing to
4 route the I2C signals, and represents the pin multiplexing configuration
7 +-----+ +-----+
9 +------------------------+ +-----+ +-----+
11 | /----|------+--------+
12 | +---+ +------+ | child bus A, on first set of pins
13 | |I2C|---|Pinmux| |
14 | +---+ +------+ | child bus B, on second set of pins
15 | \----|------+--------+--------+
17 +------------------------+ +-----+ +-----+ +-----+
19 +-----+ +-----+ +-----+
22 - compatible: i2c-mux-pinctrl
23 - i2c-parent: The phandle of the I2C bus that this multiplexer's master-side
29 bus. See ../pinctrl/pinctrl-bindings.txt.
31 * Standard I2C mux properties. See i2c-mux.txt in this directory.
33 * I2C child bus nodes. See i2c-mux.txt in this directory.
35 For each named state defined in the pinctrl-names property, an I2C child bus
36 will be created. I2C child bus numbers are assigned based on the index into
37 the pinctrl-names property.
39 The only exception is that no bus will be created for a state named "idle". If
40 such a state is defined, it must be the last entry in pinctrl-names. For
43 pinctrl-names = "ddc", "pta", "idle" -> ddc = bus 0, pta = bus 1
44 pinctrl-names = "ddc", "idle", "pta" -> Invalid ("idle" not last)
45 pinctrl-names = "idle", "ddc", "pta" -> Invalid ("idle" not last)
47 Whenever an access is made to a device on a child bus, the relevant pinctrl
51 on a child bus, the idle pinctrl state will be programmed into hardware.
55 a child bus.
60 compatible = "i2c-mux-pinctrl";
61 #address-cells = <1>;
62 #size-cells = <0>;
64 i2c-parent = <&i2c1>;
66 pinctrl-names = "ddc", "pta", "idle";
67 pinctrl-0 = <&state_i2cmux_ddc>;
68 pinctrl-1 = <&state_i2cmux_pta>;
69 pinctrl-2 = <&state_i2cmux_idle>;
71 i2c@0 {
73 #address-cells = <1>;
74 #size-cells = <0>;
82 i2c@1 {
84 #address-cells = <1>;
85 #size-cells = <0>;