1 /* industrial I/O data types needed both in and out of kernel 2 * 3 * Copyright (c) 2008 Jonathan Cameron 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 as published by 7 * the Free Software Foundation. 8 */ 9 10 #ifndef _IIO_TYPES_H_ 11 #define _IIO_TYPES_H_ 12 13 #include <uapi/linux/iio/types.h> 14 15 enum iio_event_info { 16 IIO_EV_INFO_ENABLE, 17 IIO_EV_INFO_VALUE, 18 IIO_EV_INFO_HYSTERESIS, 19 IIO_EV_INFO_PERIOD, 20 IIO_EV_INFO_HIGH_PASS_FILTER_3DB, 21 IIO_EV_INFO_LOW_PASS_FILTER_3DB, 22 }; 23 24 #define IIO_VAL_INT 1 25 #define IIO_VAL_INT_PLUS_MICRO 2 26 #define IIO_VAL_INT_PLUS_NANO 3 27 #define IIO_VAL_INT_PLUS_MICRO_DB 4 28 #define IIO_VAL_INT_MULTIPLE 5 29 #define IIO_VAL_FRACTIONAL 10 30 #define IIO_VAL_FRACTIONAL_LOG2 11 31 32 enum iio_available_type { 33 IIO_AVAIL_LIST, 34 IIO_AVAIL_RANGE, 35 }; 36 37 enum iio_chan_info_enum { 38 IIO_CHAN_INFO_RAW = 0, 39 IIO_CHAN_INFO_PROCESSED, 40 IIO_CHAN_INFO_SCALE, 41 IIO_CHAN_INFO_OFFSET, 42 IIO_CHAN_INFO_CALIBSCALE, 43 IIO_CHAN_INFO_CALIBBIAS, 44 IIO_CHAN_INFO_PEAK, 45 IIO_CHAN_INFO_PEAK_SCALE, 46 IIO_CHAN_INFO_QUADRATURE_CORRECTION_RAW, 47 IIO_CHAN_INFO_AVERAGE_RAW, 48 IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY, 49 IIO_CHAN_INFO_HIGH_PASS_FILTER_3DB_FREQUENCY, 50 IIO_CHAN_INFO_SAMP_FREQ, 51 IIO_CHAN_INFO_FREQUENCY, 52 IIO_CHAN_INFO_PHASE, 53 IIO_CHAN_INFO_HARDWAREGAIN, 54 IIO_CHAN_INFO_HYSTERESIS, 55 IIO_CHAN_INFO_INT_TIME, 56 IIO_CHAN_INFO_ENABLE, 57 IIO_CHAN_INFO_CALIBHEIGHT, 58 IIO_CHAN_INFO_CALIBWEIGHT, 59 IIO_CHAN_INFO_DEBOUNCE_COUNT, 60 IIO_CHAN_INFO_DEBOUNCE_TIME, 61 IIO_CHAN_INFO_CALIBEMISSIVITY, 62 IIO_CHAN_INFO_OVERSAMPLING_RATIO, 63 }; 64 65 #endif /* _IIO_TYPES_H_ */ 66