xref: /freebsd/sys/contrib/device-tree/Bindings/iio/multiplexer/io-channel-mux.txt (revision a03411e84728e9b267056fd31c7d1d9d1dc1b01e)
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