xref: /linux-6.15/include/linux/iio/types.h (revision 5bc2ea60)
1d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
206458e27SJonathan Cameron /* industrial I/O data types needed both in and out of kernel
306458e27SJonathan Cameron  *
406458e27SJonathan Cameron  * Copyright (c) 2008 Jonathan Cameron
506458e27SJonathan Cameron  */
606458e27SJonathan Cameron 
706458e27SJonathan Cameron #ifndef _IIO_TYPES_H_
806458e27SJonathan Cameron #define _IIO_TYPES_H_
906458e27SJonathan Cameron 
10293487c8SDaniel Baluta #include <uapi/linux/iio/types.h>
11b4e3ac0aSLars-Peter Clausen 
12b4e3ac0aSLars-Peter Clausen enum iio_event_info {
13b4e3ac0aSLars-Peter Clausen 	IIO_EV_INFO_ENABLE,
14b4e3ac0aSLars-Peter Clausen 	IIO_EV_INFO_VALUE,
15ec6670aeSLars-Peter Clausen 	IIO_EV_INFO_HYSTERESIS,
1677a533c7SSrinivas Pandruvada 	IIO_EV_INFO_PERIOD,
173f7f642bSMartin Fuzzey 	IIO_EV_INFO_HIGH_PASS_FILTER_3DB,
183f7f642bSMartin Fuzzey 	IIO_EV_INFO_LOW_PASS_FILTER_3DB,
1945b77828SJonathan Cameron 	IIO_EV_INFO_TIMEOUT,
20835e699eSJagath Jog J 	IIO_EV_INFO_RESET_TIMEOUT,
21835e699eSJagath Jog J 	IIO_EV_INFO_TAP2_MIN_DELAY,
225e1cd3e9SWaqar Hameed 	IIO_EV_INFO_RUNNING_PERIOD,
235e1cd3e9SWaqar Hameed 	IIO_EV_INFO_RUNNING_COUNT,
24b4e3ac0aSLars-Peter Clausen };
25b4e3ac0aSLars-Peter Clausen 
2606458e27SJonathan Cameron #define IIO_VAL_INT 1
2706458e27SJonathan Cameron #define IIO_VAL_INT_PLUS_MICRO 2
2806458e27SJonathan Cameron #define IIO_VAL_INT_PLUS_NANO 3
2967eedba3SMichael Hennerich #define IIO_VAL_INT_PLUS_MICRO_DB 4
309fbfb4b3SSrinivas Pandruvada #define IIO_VAL_INT_MULTIPLE 5
316bb835f3SAndriy Tryshnivskyy #define IIO_VAL_INT_64 6 /* 64-bit data, val is lower 32 bits */
327985e7c1SLars-Peter Clausen #define IIO_VAL_FRACTIONAL 10
33103d9fb9SLars-Peter Clausen #define IIO_VAL_FRACTIONAL_LOG2 11
348cb34036SAndrea Merello #define IIO_VAL_CHAR 12
3506458e27SJonathan Cameron 
3651239600SJonathan Cameron enum iio_available_type {
3751239600SJonathan Cameron 	IIO_AVAIL_LIST,
3851239600SJonathan Cameron 	IIO_AVAIL_RANGE,
3951239600SJonathan Cameron };
4051239600SJonathan Cameron 
4134739a21SArnaud Pouliquen enum iio_chan_info_enum {
4234739a21SArnaud Pouliquen 	IIO_CHAN_INFO_RAW = 0,
4334739a21SArnaud Pouliquen 	IIO_CHAN_INFO_PROCESSED,
4434739a21SArnaud Pouliquen 	IIO_CHAN_INFO_SCALE,
4534739a21SArnaud Pouliquen 	IIO_CHAN_INFO_OFFSET,
4634739a21SArnaud Pouliquen 	IIO_CHAN_INFO_CALIBSCALE,
4734739a21SArnaud Pouliquen 	IIO_CHAN_INFO_CALIBBIAS,
4834739a21SArnaud Pouliquen 	IIO_CHAN_INFO_PEAK,
4934739a21SArnaud Pouliquen 	IIO_CHAN_INFO_PEAK_SCALE,
5034739a21SArnaud Pouliquen 	IIO_CHAN_INFO_QUADRATURE_CORRECTION_RAW,
5134739a21SArnaud Pouliquen 	IIO_CHAN_INFO_AVERAGE_RAW,
5234739a21SArnaud Pouliquen 	IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY,
5334739a21SArnaud Pouliquen 	IIO_CHAN_INFO_HIGH_PASS_FILTER_3DB_FREQUENCY,
5434739a21SArnaud Pouliquen 	IIO_CHAN_INFO_SAMP_FREQ,
5534739a21SArnaud Pouliquen 	IIO_CHAN_INFO_FREQUENCY,
5634739a21SArnaud Pouliquen 	IIO_CHAN_INFO_PHASE,
5734739a21SArnaud Pouliquen 	IIO_CHAN_INFO_HARDWAREGAIN,
5834739a21SArnaud Pouliquen 	IIO_CHAN_INFO_HYSTERESIS,
591c71a286SYe Xiang 	IIO_CHAN_INFO_HYSTERESIS_RELATIVE,
6034739a21SArnaud Pouliquen 	IIO_CHAN_INFO_INT_TIME,
6134739a21SArnaud Pouliquen 	IIO_CHAN_INFO_ENABLE,
6234739a21SArnaud Pouliquen 	IIO_CHAN_INFO_CALIBHEIGHT,
6334739a21SArnaud Pouliquen 	IIO_CHAN_INFO_CALIBWEIGHT,
6434739a21SArnaud Pouliquen 	IIO_CHAN_INFO_DEBOUNCE_COUNT,
6534739a21SArnaud Pouliquen 	IIO_CHAN_INFO_DEBOUNCE_TIME,
6634739a21SArnaud Pouliquen 	IIO_CHAN_INFO_CALIBEMISSIVITY,
6734739a21SArnaud Pouliquen 	IIO_CHAN_INFO_OVERSAMPLING_RATIO,
68ddfb97d8SAndrea Merello 	IIO_CHAN_INFO_THERMOCOUPLE_TYPE,
69dde8ceecSCrt Mori 	IIO_CHAN_INFO_CALIBAMBIENT,
705c64990bSJonathan Cameron 	IIO_CHAN_INFO_ZEROPOINT,
71*5bc2ea60SJavier Carrasco 	IIO_CHAN_INFO_TROUGH,
7234739a21SArnaud Pouliquen };
7334739a21SArnaud Pouliquen 
7406458e27SJonathan Cameron #endif /* _IIO_TYPES_H_ */
75