xref: /openbmc/linux/drivers/iio/Kconfig (revision 12eb4683)
1#
2# Industrial I/O subsystem configuration
3#
4
5menuconfig IIO
6	tristate "Industrial I/O support"
7	help
8	  The industrial I/O subsystem provides a unified framework for
9	  drivers for many different types of embedded sensors using a
10	  number of different physical interfaces (i2c, spi, etc).
11
12if IIO
13
14config IIO_BUFFER
15	bool "Enable buffer support within IIO"
16	help
17	  Provide core support for various buffer based data
18	  acquisition methods.
19
20if IIO_BUFFER
21
22config IIO_BUFFER_CB
23boolean "IIO callback buffer used for push in-kernel interfaces"
24	help
25	  Should be selected by any drivers that do in-kernel push
26	  usage.  That is, those where the data is pushed to the consumer.
27
28config IIO_KFIFO_BUF
29	select IIO_TRIGGER
30	tristate "Industrial I/O buffering based on kfifo"
31	help
32	  A simple fifo based on kfifo.  Note that this currently provides
33	  no buffer events so it is up to userspace to work out how
34	  often to read from the buffer.
35
36config IIO_TRIGGERED_BUFFER
37	tristate
38	select IIO_TRIGGER
39	select IIO_KFIFO_BUF
40	help
41	  Provides helper functions for setting up triggered buffers.
42
43endif # IIO_BUFFER
44
45config IIO_TRIGGER
46	boolean "Enable triggered sampling support"
47	help
48	  Provides IIO core support for triggers.  Currently these
49	  are used to initialize capture of samples to push into
50	  buffers.  The triggers are effectively a 'capture
51	  data now' interrupt.
52
53config IIO_CONSUMERS_PER_TRIGGER
54       int "Maximum number of consumers per trigger"
55       depends on IIO_TRIGGER
56       default "2"
57       help
58	This value controls the maximum number of consumers that a
59	given trigger may handle. Default is 2.
60
61source "drivers/iio/accel/Kconfig"
62source "drivers/iio/adc/Kconfig"
63source "drivers/iio/amplifiers/Kconfig"
64source "drivers/iio/common/Kconfig"
65source "drivers/iio/dac/Kconfig"
66source "drivers/iio/frequency/Kconfig"
67source "drivers/iio/gyro/Kconfig"
68source "drivers/iio/imu/Kconfig"
69source "drivers/iio/light/Kconfig"
70source "drivers/iio/magnetometer/Kconfig"
71if IIO_TRIGGER
72   source "drivers/iio/trigger/Kconfig"
73endif #IIO_TRIGGER
74source "drivers/iio/pressure/Kconfig"
75source "drivers/iio/temperature/Kconfig"
76
77endif # IIO
78