Lines Matching +full:no +full:- +full:idle

1 # SPDX-License-Identifier: GPL-2.0-only
3 ---
4 $id: http://devicetree.org/schemas/i2c/i2c-mux-pinctrl.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Pinctrl-based I2C Bus Mux
10 - Wolfram Sang <[email protected]>
17 +-----+ +-----+
19 +------------------------+ +-----+ +-----+
21 | /----|------+--------+
22 | +---+ +------+ | child bus A, on first set of pins
23 | |I2C|---|Pinmux| |
24 | +---+ +------+ | child bus B, on second set of pins
25 | \----|------+--------+--------+
27 +------------------------+ +-----+ +-----+ +-----+
29 +-----+ +-----+ +-----+
31 For each named state defined in the pinctrl-names property, an I2C child bus will be created.
32 I2C child bus numbers are assigned based on the index into the pinctrl-names property.
34 The only exception is that no bus will be created for a state named "idle". If such a state is
35 defined, it must be the last entry in pinctrl-names. For example:
37 pinctrl-names = "ddc", "pta", "idle" -> ddc = bus 0, pta = bus 1
38 pinctrl-names = "ddc", "idle", "pta" -> Invalid ("idle" not last)
39 pinctrl-names = "idle", "ddc", "pta" -> Invalid ("idle" not last)
44 If an idle state is defined, whenever an access is not being made to a device on a child bus,
45 the idle pinctrl state will be programmed into hardware.
47 If an idle state is not defined, the most recently used pinctrl state will be left programmed
48 into hardware whenever no access is being made of a device on a child bus.
52 const: i2c-mux-pinctrl
54 i2c-parent:
56 description: The phandle of the I2C bus that this multiplexer's master-side port is connected
60 - $ref: i2c-mux.yaml
65 - compatible
66 - i2c-parent
69 - |
71 compatible = "i2c-mux-pinctrl";
72 #address-cells = <1>;
73 #size-cells = <0>;
75 i2c-parent = <&i2c1>;
77 pinctrl-names = "ddc", "pta", "idle";
78 pinctrl-0 = <&state_i2cmux_ddc>;
79 pinctrl-1 = <&state_i2cmux_pta>;
80 pinctrl-2 = <&state_i2cmux_idle>;
84 #address-cells = <1>;
85 #size-cells = <0>;
95 #address-cells = <1>;
96 #size-cells = <0>;