xref: /freebsd/sys/contrib/device-tree/Bindings/mux/adi,adgs1408.txt (revision a8089ea5aee578e08acab2438e82fc9a9ae50ed8)
1Bindings for Analog Devices ADGS1408/1409 8:1/Dual 4:1 Mux
2
3Required properties:
4- compatible : Should be one of
5	* "adi,adgs1408"
6	* "adi,adgs1409"
7* Standard mux-controller bindings as described in mux-controller.yaml
8
9Optional properties for ADGS1408/1409:
10- gpio-controller : if present, #gpio-cells is required.
11- #gpio-cells : should be <2>
12			- First cell is the GPO line number, i.e. 0 to 3
13			for ADGS1408 and 0 to 4 for ADGS1409
14			- Second cell is used to specify active high (0)
15			or active low (1)
16
17Optional properties:
18- idle-state : if present, the state that the mux controller will have
19  when idle. The special state MUX_IDLE_AS_IS is the default and
20  MUX_IDLE_DISCONNECT is also supported.
21
22States 0 through 7 correspond to signals S1 through S8 in the datasheet.
23For ADGS1409 only states 0 to 3 are available.
24
25Example:
26
27	/*
28	 * One mux controller.
29	 * Mux state set to idle as is (no idle-state declared)
30	 */
31	&spi0 {
32		mux: mux-controller@0 {
33			compatible = "adi,adgs1408";
34			reg = <0>;
35			spi-max-frequency = <1000000>;
36			#mux-control-cells = <0>;
37		};
38	}
39
40	adc-mux {
41		compatible = "io-channel-mux";
42		io-channels = <&adc 1>;
43		io-channel-names = "parent";
44		mux-controls = <&mux>;
45
46		channels = "out_a0", "out_a1", "test0", "test1",
47			"out_b0", "out_b1", "testb0", "testb1";
48	};
49