xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/iio/adc/gpio-muxadc.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunGPIO-controlled Multiplexers (MUX) A/D Converter bindings
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunRequired properties:
4*4882a593Smuzhiyun- compatible: should be "gpio-muxadc" or others like below
5*4882a593Smuzhiyun   - "sgm3699": for a quad, bidirectional, single-pole/double-throw (SPDT) CMOS analog switch.
6*4882a593Smuzhiyun   - "sgm48752": for a dual, bidirectional, double-pole/double-throw (DPDT) CMOS analog switch.
7*4882a593Smuzhiyun- io-channels: Channel node of the parent channel that has multiplexed input.
8*4882a593Smuzhiyun- switch-gpios: Digital control pins to connect the parent adc channel(saradc) to the input adc channel(muxadc).
9*4882a593Smuzhiyun- labels: The string list for each muxadc channel that should be placed in order.
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunExample:
12*4882a593Smuzhiyun        muxadc {
13*4882a593Smuzhiyun                compatible = "sgm48752";
14*4882a593Smuzhiyun                io-channels = <&saradc 4>, <&saradc 5>;
15*4882a593Smuzhiyun                switch-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>,
16*4882a593Smuzhiyun                               <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
17*4882a593Smuzhiyun                labels = "wheel_vpropi_r_adc", "wheel_vpropi_l_adc",
18*4882a593Smuzhiyun                         "fan_opa_adc", "mid_opa_adc",
19*4882a593Smuzhiyun                         "pump_opa_adc", "side_opa_adc",
20*4882a593Smuzhiyun                         "dc24vdet_adc", "collision_det_adc_lidar";
21*4882a593Smuzhiyun                pinctrl-names = "default";
22*4882a593Smuzhiyun                pinctrl-0 = <&switch_gpios>;
23*4882a593Smuzhiyun                status = "okay";
24*4882a593Smuzhiyun        };
25