194aea0c6SMircea CaprioruBindings for Analog Devices ADGS1408/1409 8:1/Dual 4:1 Mux
294aea0c6SMircea Caprioru
394aea0c6SMircea CaprioruRequired properties:
494aea0c6SMircea Caprioru- compatible : Should be one of
594aea0c6SMircea Caprioru	* "adi,adgs1408"
694aea0c6SMircea Caprioru	* "adi,adgs1409"
7*9b358af7SRob Herring* Standard mux-controller bindings as described in mux-controller.yaml
894aea0c6SMircea Caprioru
994aea0c6SMircea CaprioruOptional properties for ADGS1408/1409:
1094aea0c6SMircea Caprioru- gpio-controller : if present, #gpio-cells is required.
1194aea0c6SMircea Caprioru- #gpio-cells : should be <2>
1294aea0c6SMircea Caprioru			- First cell is the GPO line number, i.e. 0 to 3
1394aea0c6SMircea Caprioru			for ADGS1408 and 0 to 4 for ADGS1409
1494aea0c6SMircea Caprioru			- Second cell is used to specify active high (0)
1594aea0c6SMircea Caprioru			or active low (1)
1694aea0c6SMircea Caprioru
1794aea0c6SMircea CaprioruOptional properties:
1894aea0c6SMircea Caprioru- idle-state : if present, the state that the mux controller will have
1994aea0c6SMircea Caprioru  when idle. The special state MUX_IDLE_AS_IS is the default and
2094aea0c6SMircea Caprioru  MUX_IDLE_DISCONNECT is also supported.
2194aea0c6SMircea Caprioru
2294aea0c6SMircea CaprioruStates 0 through 7 correspond to signals S1 through S8 in the datasheet.
2394aea0c6SMircea CaprioruFor ADGS1409 only states 0 to 3 are available.
2494aea0c6SMircea Caprioru
2594aea0c6SMircea CaprioruExample:
2694aea0c6SMircea Caprioru
2794aea0c6SMircea Caprioru	/*
2894aea0c6SMircea Caprioru	 * One mux controller.
2994aea0c6SMircea Caprioru	 * Mux state set to idle as is (no idle-state declared)
3094aea0c6SMircea Caprioru	 */
3194aea0c6SMircea Caprioru	&spi0 {
3294aea0c6SMircea Caprioru		mux: mux-controller@0 {
3394aea0c6SMircea Caprioru			compatible = "adi,adgs1408";
3494aea0c6SMircea Caprioru			reg = <0>;
3594aea0c6SMircea Caprioru			spi-max-frequency = <1000000>;
3694aea0c6SMircea Caprioru			#mux-control-cells = <0>;
3794aea0c6SMircea Caprioru		};
3894aea0c6SMircea Caprioru	}
3994aea0c6SMircea Caprioru
4094aea0c6SMircea Caprioru	adc-mux {
4194aea0c6SMircea Caprioru		compatible = "io-channel-mux";
4294aea0c6SMircea Caprioru		io-channels = <&adc 1>;
4394aea0c6SMircea Caprioru		io-channel-names = "parent";
4494aea0c6SMircea Caprioru		mux-controls = <&mux>;
4594aea0c6SMircea Caprioru
4694aea0c6SMircea Caprioru		channels = "out_a0", "out_a1", "test0", "test1",
4794aea0c6SMircea Caprioru			"out_b0", "out_b1", "testb0", "testb1";
4894aea0c6SMircea Caprioru	};
49