Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
15enum 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
32enum iio_available_type {
33 IIO_AVAIL_LIST,
34 IIO_AVAIL_RANGE,
35};
36
37enum 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_ */