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