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