Lines Matching +full:sync +full:- +full:in +full:- +full:gpios

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>
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'.
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
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
45 multiplexer. Using this disconnected high-impedance state as the idle state
46 is indicated with idle state (-2).
48 These constants are available in
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-9a-f]+)?$'
79 '#mux-control-cells':
82 '#mux-state-cells':
85 idle-state:
87 minimum: -2
89 idle-states:
92 idle. If the idle-state is not present, the mux controller is typically
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
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";
132 channels = "sync", "in";
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>;