xref: /freebsd/sys/contrib/device-tree/Bindings/iio/multiplexer/io-channel-mux.txt (revision 7ef62cebc2f965b0f640263e179276928885e33d)
1I/O channel multiplexer bindings
2
3If a multiplexer is used to select which hardware signal is fed to
4e.g. an ADC channel, these bindings describe that situation.
5
6Required properties:
7- compatible : "io-channel-mux"
8- io-channels : Channel node of the parent channel that has multiplexed
9		input.
10- io-channel-names : Should be "parent".
11- #address-cells = <1>;
12- #size-cells = <0>;
13- mux-controls : Mux controller node to use for operating the mux
14- channels : List of strings, labeling the mux controller states.
15
16For each non-empty string in the channels property, an io-channel will
17be created. The number of this io-channel is the same as the index into
18the list of strings in the channels property, and also matches the mux
19controller state. The mux controller state is described in
20../mux/mux-controller.txt
21
22Example:
23	mux: mux-controller {
24		compatible = "gpio-mux";
25		#mux-control-cells = <0>;
26
27		mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>,
28			    <&pioA 1 GPIO_ACTIVE_HIGH>;
29	};
30
31	adc-mux {
32		compatible = "io-channel-mux";
33		io-channels = <&adc 0>;
34		io-channel-names = "parent";
35
36		mux-controls = <&mux>;
37
38		channels = "sync", "in", "system-regulator";
39	};
40