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