xref: /OK3568_Linux_fs/kernel/include/linux/iio/dac/ad5421.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun #ifndef __IIO_DAC_AD5421_H__
3*4882a593Smuzhiyun #define __IIO_DAC_AD5421_H__
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun /**
6*4882a593Smuzhiyun  * enum ad5421_current_range - Current range the AD5421 is configured for.
7*4882a593Smuzhiyun  * @AD5421_CURRENT_RANGE_4mA_20mA: 4 mA to 20 mA (RANGE1,0 pins = 00)
8*4882a593Smuzhiyun  * @AD5421_CURRENT_RANGE_3mA8_21mA: 3.8 mA to 21 mA (RANGE1,0 pins = x1)
9*4882a593Smuzhiyun  * @AD5421_CURRENT_RANGE_3mA2_24mA: 3.2 mA to 24 mA (RANGE1,0 pins = 10)
10*4882a593Smuzhiyun  */
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun enum ad5421_current_range {
13*4882a593Smuzhiyun 	AD5421_CURRENT_RANGE_4mA_20mA,
14*4882a593Smuzhiyun 	AD5421_CURRENT_RANGE_3mA8_21mA,
15*4882a593Smuzhiyun 	AD5421_CURRENT_RANGE_3mA2_24mA,
16*4882a593Smuzhiyun };
17*4882a593Smuzhiyun 
18*4882a593Smuzhiyun /**
19*4882a593Smuzhiyun  * struct ad5421_platform_data - AD5421 DAC driver platform data
20*4882a593Smuzhiyun  * @external_vref: whether an external reference voltage is used or not
21*4882a593Smuzhiyun  * @current_range: Current range the AD5421 is configured for
22*4882a593Smuzhiyun  */
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun struct ad5421_platform_data {
25*4882a593Smuzhiyun 	bool external_vref;
26*4882a593Smuzhiyun 	enum ad5421_current_range current_range;
27*4882a593Smuzhiyun };
28*4882a593Smuzhiyun 
29*4882a593Smuzhiyun #endif
30