xref: /OK3568_Linux_fs/kernel/include/uapi/linux/iio/types.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /* industrial I/O data types needed both in and out of kernel
3  *
4  * Copyright (c) 2008 Jonathan Cameron
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU General Public License version 2 as published by
8  * the Free Software Foundation.
9  */
10 
11 #ifndef _UAPI_IIO_TYPES_H_
12 #define _UAPI_IIO_TYPES_H_
13 
14 enum iio_chan_type {
15 	IIO_VOLTAGE,
16 	IIO_CURRENT,
17 	IIO_POWER,
18 	IIO_ACCEL,
19 	IIO_ANGL_VEL,
20 	IIO_MAGN,
21 	IIO_LIGHT,
22 	IIO_INTENSITY,
23 	IIO_PROXIMITY,
24 	IIO_TEMP,
25 	IIO_INCLI,
26 	IIO_ROT,
27 	IIO_ANGL,
28 	IIO_TIMESTAMP,
29 	IIO_CAPACITANCE,
30 	IIO_ALTVOLTAGE,
31 	IIO_CCT,
32 	IIO_PRESSURE,
33 	IIO_HUMIDITYRELATIVE,
34 	IIO_ACTIVITY,
35 	IIO_STEPS,
36 	IIO_ENERGY,
37 	IIO_DISTANCE,
38 	IIO_VELOCITY,
39 	IIO_CONCENTRATION,
40 	IIO_RESISTANCE,
41 	IIO_PH,
42 	IIO_UVINDEX,
43 	IIO_ELECTRICALCONDUCTIVITY,
44 	IIO_COUNT,
45 	IIO_INDEX,
46 	IIO_GRAVITY,
47 	IIO_POSITIONRELATIVE,
48 	IIO_PHASE,
49 	IIO_MASSCONCENTRATION,
50 #ifdef CONFIG_NO_GKI
51 	IIO_SIGN_MOTION,
52 	IIO_STEP_DETECTOR,
53 	IIO_STEP_COUNTER,
54 	IIO_TILT,
55 	IIO_TAP,
56 	IIO_TAP_TAP,
57 	IIO_WRIST_TILT_GESTURE,
58 	IIO_GESTURE,
59 #endif
60 };
61 
62 enum iio_modifier {
63 	IIO_NO_MOD,
64 	IIO_MOD_X,
65 	IIO_MOD_Y,
66 	IIO_MOD_Z,
67 	IIO_MOD_X_AND_Y,
68 	IIO_MOD_X_AND_Z,
69 	IIO_MOD_Y_AND_Z,
70 	IIO_MOD_X_AND_Y_AND_Z,
71 	IIO_MOD_X_OR_Y,
72 	IIO_MOD_X_OR_Z,
73 	IIO_MOD_Y_OR_Z,
74 	IIO_MOD_X_OR_Y_OR_Z,
75 	IIO_MOD_LIGHT_BOTH,
76 	IIO_MOD_LIGHT_IR,
77 	IIO_MOD_ROOT_SUM_SQUARED_X_Y,
78 	IIO_MOD_SUM_SQUARED_X_Y_Z,
79 	IIO_MOD_LIGHT_CLEAR,
80 	IIO_MOD_LIGHT_RED,
81 	IIO_MOD_LIGHT_GREEN,
82 	IIO_MOD_LIGHT_BLUE,
83 	IIO_MOD_QUATERNION,
84 	IIO_MOD_TEMP_AMBIENT,
85 	IIO_MOD_TEMP_OBJECT,
86 	IIO_MOD_NORTH_MAGN,
87 	IIO_MOD_NORTH_TRUE,
88 	IIO_MOD_NORTH_MAGN_TILT_COMP,
89 	IIO_MOD_NORTH_TRUE_TILT_COMP,
90 	IIO_MOD_RUNNING,
91 	IIO_MOD_JOGGING,
92 	IIO_MOD_WALKING,
93 	IIO_MOD_STILL,
94 	IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z,
95 	IIO_MOD_I,
96 	IIO_MOD_Q,
97 	IIO_MOD_CO2,
98 	IIO_MOD_VOC,
99 	IIO_MOD_LIGHT_UV,
100 	IIO_MOD_LIGHT_DUV,
101 	IIO_MOD_PM1,
102 	IIO_MOD_PM2P5,
103 	IIO_MOD_PM4,
104 	IIO_MOD_PM10,
105 	IIO_MOD_ETHANOL,
106 	IIO_MOD_H2,
107 	IIO_MOD_O2,
108 };
109 
110 enum iio_event_type {
111 	IIO_EV_TYPE_THRESH,
112 	IIO_EV_TYPE_MAG,
113 	IIO_EV_TYPE_ROC,
114 	IIO_EV_TYPE_THRESH_ADAPTIVE,
115 	IIO_EV_TYPE_MAG_ADAPTIVE,
116 	IIO_EV_TYPE_CHANGE,
117 #ifdef CONFIG_NO_GKI
118 	IIO_EV_TYPE_FIFO_FLUSH,
119 #endif
120 };
121 
122 enum iio_event_direction {
123 	IIO_EV_DIR_EITHER,
124 	IIO_EV_DIR_RISING,
125 	IIO_EV_DIR_FALLING,
126 #ifdef CONFIG_NO_GKI
127 	IIO_EV_DIR_FIFO_EMPTY,
128 	IIO_EV_DIR_FIFO_DATA,
129 #endif
130 	IIO_EV_DIR_NONE,
131 };
132 
133 #endif /* _UAPI_IIO_TYPES_H_ */
134 
135