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
14enum 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	IIO_DELTA_ANGL,
51	IIO_DELTA_VELOCITY,
52	IIO_COLORTEMP,
53	IIO_CHROMATICITY,
54};
55
56enum iio_modifier {
57	IIO_NO_MOD,
58	IIO_MOD_X,
59	IIO_MOD_Y,
60	IIO_MOD_Z,
61	IIO_MOD_X_AND_Y,
62	IIO_MOD_X_AND_Z,
63	IIO_MOD_Y_AND_Z,
64	IIO_MOD_X_AND_Y_AND_Z,
65	IIO_MOD_X_OR_Y,
66	IIO_MOD_X_OR_Z,
67	IIO_MOD_Y_OR_Z,
68	IIO_MOD_X_OR_Y_OR_Z,
69	IIO_MOD_LIGHT_BOTH,
70	IIO_MOD_LIGHT_IR,
71	IIO_MOD_ROOT_SUM_SQUARED_X_Y,
72	IIO_MOD_SUM_SQUARED_X_Y_Z,
73	IIO_MOD_LIGHT_CLEAR,
74	IIO_MOD_LIGHT_RED,
75	IIO_MOD_LIGHT_GREEN,
76	IIO_MOD_LIGHT_BLUE,
77	IIO_MOD_QUATERNION,
78	IIO_MOD_TEMP_AMBIENT,
79	IIO_MOD_TEMP_OBJECT,
80	IIO_MOD_NORTH_MAGN,
81	IIO_MOD_NORTH_TRUE,
82	IIO_MOD_NORTH_MAGN_TILT_COMP,
83	IIO_MOD_NORTH_TRUE_TILT_COMP,
84	IIO_MOD_RUNNING,
85	IIO_MOD_JOGGING,
86	IIO_MOD_WALKING,
87	IIO_MOD_STILL,
88	IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z,
89	IIO_MOD_I,
90	IIO_MOD_Q,
91	IIO_MOD_CO2,
92	IIO_MOD_VOC,
93	IIO_MOD_LIGHT_UV,
94	IIO_MOD_LIGHT_DUV,
95	IIO_MOD_PM1,
96	IIO_MOD_PM2P5,
97	IIO_MOD_PM4,
98	IIO_MOD_PM10,
99	IIO_MOD_ETHANOL,
100	IIO_MOD_H2,
101	IIO_MOD_O2,
102	IIO_MOD_LINEAR_X,
103	IIO_MOD_LINEAR_Y,
104	IIO_MOD_LINEAR_Z,
105	IIO_MOD_PITCH,
106	IIO_MOD_YAW,
107	IIO_MOD_ROLL,
108	IIO_MOD_LIGHT_UVA,
109	IIO_MOD_LIGHT_UVB,
110};
111
112enum iio_event_type {
113	IIO_EV_TYPE_THRESH,
114	IIO_EV_TYPE_MAG,
115	IIO_EV_TYPE_ROC,
116	IIO_EV_TYPE_THRESH_ADAPTIVE,
117	IIO_EV_TYPE_MAG_ADAPTIVE,
118	IIO_EV_TYPE_CHANGE,
119	IIO_EV_TYPE_MAG_REFERENCED,
120	IIO_EV_TYPE_GESTURE,
121};
122
123enum iio_event_direction {
124	IIO_EV_DIR_EITHER,
125	IIO_EV_DIR_RISING,
126	IIO_EV_DIR_FALLING,
127	IIO_EV_DIR_NONE,
128	IIO_EV_DIR_SINGLETAP,
129	IIO_EV_DIR_DOUBLETAP,
130};
131
132#endif /* _UAPI_IIO_TYPES_H_ */
133