1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* industrial I/O data types needed both in and out of kernel 3 * 4 * Copyright (c) 2008 Jonathan Cameron 5 */ 6 7 #ifndef _IIO_TYPES_H_ 8 #define _IIO_TYPES_H_ 9 10 #include <uapi/linux/iio/types.h> 11 #include <linux/android_kabi.h> 12 13 /* 14 * enum IIO_ATTENTION is declared in `uapi/linux/iio/types.h` so we have to 15 * fudge CRCs here instead. 16 */ 17 ANDROID_KABI_ENUMERATOR_IGNORE(iio_chan_type, IIO_ATTENTION); 18 19 enum iio_event_info { 20 IIO_EV_INFO_ENABLE, 21 IIO_EV_INFO_VALUE, 22 IIO_EV_INFO_HYSTERESIS, 23 IIO_EV_INFO_PERIOD, 24 IIO_EV_INFO_HIGH_PASS_FILTER_3DB, 25 IIO_EV_INFO_LOW_PASS_FILTER_3DB, 26 IIO_EV_INFO_TIMEOUT, 27 IIO_EV_INFO_RESET_TIMEOUT, 28 IIO_EV_INFO_TAP2_MIN_DELAY, 29 IIO_EV_INFO_RUNNING_PERIOD, 30 IIO_EV_INFO_RUNNING_COUNT, 31 }; 32 33 #define IIO_VAL_INT 1 34 #define IIO_VAL_INT_PLUS_MICRO 2 35 #define IIO_VAL_INT_PLUS_NANO 3 36 #define IIO_VAL_INT_PLUS_MICRO_DB 4 37 #define IIO_VAL_INT_MULTIPLE 5 38 #define IIO_VAL_INT_64 6 /* 64-bit data, val is lower 32 bits */ 39 #define IIO_VAL_FRACTIONAL 10 40 #define IIO_VAL_FRACTIONAL_LOG2 11 41 #define IIO_VAL_CHAR 12 42 43 enum iio_available_type { 44 IIO_AVAIL_LIST, 45 IIO_AVAIL_RANGE, 46 }; 47 48 enum iio_chan_info_enum { 49 IIO_CHAN_INFO_RAW = 0, 50 IIO_CHAN_INFO_PROCESSED, 51 IIO_CHAN_INFO_SCALE, 52 IIO_CHAN_INFO_OFFSET, 53 IIO_CHAN_INFO_CALIBSCALE, 54 IIO_CHAN_INFO_CALIBBIAS, 55 IIO_CHAN_INFO_PEAK, 56 IIO_CHAN_INFO_PEAK_SCALE, 57 IIO_CHAN_INFO_QUADRATURE_CORRECTION_RAW, 58 IIO_CHAN_INFO_AVERAGE_RAW, 59 IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY, 60 IIO_CHAN_INFO_HIGH_PASS_FILTER_3DB_FREQUENCY, 61 IIO_CHAN_INFO_SAMP_FREQ, 62 IIO_CHAN_INFO_FREQUENCY, 63 IIO_CHAN_INFO_PHASE, 64 IIO_CHAN_INFO_HARDWAREGAIN, 65 IIO_CHAN_INFO_HYSTERESIS, 66 IIO_CHAN_INFO_HYSTERESIS_RELATIVE, 67 IIO_CHAN_INFO_INT_TIME, 68 IIO_CHAN_INFO_ENABLE, 69 IIO_CHAN_INFO_CALIBHEIGHT, 70 IIO_CHAN_INFO_CALIBWEIGHT, 71 IIO_CHAN_INFO_DEBOUNCE_COUNT, 72 IIO_CHAN_INFO_DEBOUNCE_TIME, 73 IIO_CHAN_INFO_CALIBEMISSIVITY, 74 IIO_CHAN_INFO_OVERSAMPLING_RATIO, 75 IIO_CHAN_INFO_THERMOCOUPLE_TYPE, 76 IIO_CHAN_INFO_CALIBAMBIENT, 77 IIO_CHAN_INFO_ZEROPOINT, 78 IIO_CHAN_INFO_TROUGH, 79 }; 80 81 #endif /* _IIO_TYPES_H_ */ 82