1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Industrial I/O subsystem configuration
4#
5
6menuconfig IIO
7	tristate "Industrial I/O support"
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	source "drivers/iio/buffer/Kconfig"
23endif # IIO_BUFFER
24
25config IIO_CONFIGFS
26	tristate "Enable IIO configuration via configfs"
27	select CONFIGFS_FS
28	help
29	  This allows configuring various IIO bits through configfs
30	  (e.g. software triggers). For more info see
31	  Documentation/iio/iio_configfs.rst.
32
33config IIO_TRIGGER
34	bool "Enable triggered sampling support"
35	help
36	  Provides IIO core support for triggers.  Currently these
37	  are used to initialize capture of samples to push into
38	  buffers.  The triggers are effectively a 'capture
39	  data now' interrupt.
40
41config IIO_CONSUMERS_PER_TRIGGER
42	int "Maximum number of consumers per trigger"
43	depends on IIO_TRIGGER
44	default "2"
45	help
46	  This value controls the maximum number of consumers that a
47	  given trigger may handle. Default is 2.
48
49config IIO_SW_DEVICE
50	tristate "Enable software IIO device support"
51	select IIO_CONFIGFS
52	help
53	  Provides IIO core support for software devices. A software
54	  device can be created via configfs or directly by a driver
55	  using the API provided.
56
57config IIO_SW_TRIGGER
58	tristate "Enable software triggers support"
59	select IIO_CONFIGFS
60	help
61	  Provides IIO core support for software triggers. A software
62	  trigger can be created via configfs or directly by a driver
63	  using the API provided.
64
65config IIO_TRIGGERED_EVENT
66	tristate "Enable triggered events support"
67	select IIO_TRIGGER
68	help
69	  Provides helper functions for setting up triggered events.
70
71source "drivers/iio/accel/Kconfig"
72source "drivers/iio/adc/Kconfig"
73source "drivers/iio/addac/Kconfig"
74source "drivers/iio/afe/Kconfig"
75source "drivers/iio/amplifiers/Kconfig"
76source "drivers/iio/cdc/Kconfig"
77source "drivers/iio/chemical/Kconfig"
78source "drivers/iio/common/Kconfig"
79source "drivers/iio/dac/Kconfig"
80source "drivers/iio/dummy/Kconfig"
81source "drivers/iio/filter/Kconfig"
82source "drivers/iio/frequency/Kconfig"
83source "drivers/iio/gyro/Kconfig"
84source "drivers/iio/health/Kconfig"
85source "drivers/iio/humidity/Kconfig"
86source "drivers/iio/imu/Kconfig"
87source "drivers/iio/light/Kconfig"
88source "drivers/iio/magnetometer/Kconfig"
89source "drivers/iio/multiplexer/Kconfig"
90source "drivers/iio/orientation/Kconfig"
91source "drivers/iio/test/Kconfig"
92if IIO_TRIGGER
93   source "drivers/iio/trigger/Kconfig"
94endif #IIO_TRIGGER
95source "drivers/iio/position/Kconfig"
96source "drivers/iio/potentiometer/Kconfig"
97source "drivers/iio/potentiostat/Kconfig"
98source "drivers/iio/pressure/Kconfig"
99source "drivers/iio/proximity/Kconfig"
100source "drivers/iio/resolver/Kconfig"
101source "drivers/iio/temperature/Kconfig"
102
103endif # IIO
104