Lines Matching +full:idle +full:- +full:state

1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/mux/mux-controller.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Peter Rosin <peda@axentia.se>
19 A mux controller provides a number of states to its consumers, and the state
20 space is a simple zero-based enumeration. I.e. 0-1 for a 2-way multiplexer,
21 0-7 for an 8-way multiplexer, etc.
25 --------------------
28 specifier using the '#mux-control-cells' or '#mux-state-cells' property.
29 The value of '#mux-state-cells' will always be one greater than the value
30 of '#mux-control-cells'.
32 Optionally, mux controller nodes can also specify the state the mux should
33 have when it is idle. The idle-state property is used for this. If the
34 idle-state is not present, the mux controller is typically left as is when
35 it is idle. For multiplexer chips that expose several mux controllers, the
36 idle-state property is an array with one idle state for each mux controller.
38 The special value (-1) may be used to indicate that the mux should be left
39 as is when it is idle. This is the default, but can still be useful for
41 there is a need to "step past" a mux controller and set some other idle
42 state for a mux controller with a higher index.
45 multiplexer. Using this disconnected high-impedance state as the idle state
46 is indicated with idle state (-2).
50 #include <dt-bindings/mux/mux.h>
52 as MUX_IDLE_AS_IS (-1) and MUX_IDLE_DISCONNECT (-2).
55 4-way multiplexer):
57 mux: mux-controller@50 {
60 #mux-control-cells = <1>;
62 idle-state = <MUX_IDLE_DISCONNECT MUX_IDLE_AS_IS 2>;
67 - properties:
69 pattern: '^mux-controller'
70 - required:
71 - '#mux-control-cells'
72 - required:
73 - '#mux-state-cells'
77 pattern: '^mux-controller(@.*|-([0-9]|[1-9][0-9]+))?$'
79 '#mux-control-cells':
82 '#mux-state-cells':
85 idle-state:
87 minimum: -2
89 idle-states:
91 Mux controller nodes can specify the state the mux should have when it is
92 idle. If the idle-state is not present, the mux controller is typically
93 left as is when it is idle. For multiplexer chips that expose several mux
94 controllers, the idle-state property is an array with one idle state for
97 The special value (-1) may be used to indicate that the mux should be left
98 as is when it is idle. This is the default, but can still be useful for
100 there is a need to "step past" a mux controller and set some other idle
101 state for a mux controller with a higher index.
104 multiplexer. Using this disconnected high-impedance state as the idle state
105 is indicated with idle state (-2).
106 $ref: /schemas/types.yaml#/definitions/int32-array
108 minimum: -2
113 - |
114 #include <dt-bindings/gpio/gpio.h>
116 /* One consumer of a 2-way mux controller (one GPIO-line) */
117 mux: mux-controller {
118 compatible = "gpio-mux";
119 #mux-control-cells = <0>;
121 mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>;
124 adc-mux {
125 compatible = "io-channel-mux";
126 io-channels = <&adc 0>;
127 io-channel-names = "parent";
129 mux-controls = <&mux>;
130 mux-control-names = "adc";
135 - |
136 #include <dt-bindings/gpio/gpio.h>
140 * parallel 4-way multiplexers controlled by the same two GPIO-lines.
142 mux2: mux-controller {
143 compatible = "gpio-mux";
144 #mux-control-cells = <0>;
146 mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>,
150 adc-mux {
151 compatible = "io-channel-mux";
152 io-channels = <&adc 0>;
153 io-channel-names = "parent";
155 mux-controls = <&mux2>;
157 channels = "sync-1", "in", "out", "sync-2";
160 i2c-mux {
161 compatible = "i2c-mux";
162 i2c-parent = <&i2c1>;
164 mux-controls = <&mux2>;
166 #address-cells = <1>;
167 #size-cells = <0>;
171 #address-cells = <1>;
172 #size-cells = <0>;
181 #address-cells = <1>;
182 #size-cells = <0>;
190 - |
191 #include <dt-bindings/gpio/gpio.h>
193 mux1: mux-controller {
194 compatible = "gpio-mux";
195 #mux-state-cells = <1>;
196 mux-gpios = <&exp_som 2 GPIO_ACTIVE_HIGH>;
199 transceiver4: can-phy4 {
201 #phy-cells = <0>;
202 max-bitrate = <5000000>;
203 standby-gpios = <&exp_som 7 GPIO_ACTIVE_HIGH>;
204 mux-states = <&mux1 1>;