1#
2# Industrial I/O subsytem configuration
3#
4
5menuconfig IIO
6	tristate "Industrial I/O support"
7	depends on GENERIC_HARDIRQS
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). See
12	  drivers/staging/iio/Documentation for more information.
13if IIO
14config IIO_ST_HWMON
15	tristate "Hwmon driver that uses channels specified via iio maps"
16	depends on HWMON
17	help
18	  This is a platform driver that in combination with a suitable
19	  map allows IIO devices to provide  basic hwmon functionality
20	  for those channels specified in the map.
21
22config IIO_BUFFER
23	bool "Enable buffer support within IIO"
24	help
25	  Provide core support for various buffer based data
26	  acquisition methods.
27
28if IIO_BUFFER
29
30config IIO_SW_RING
31       select IIO_TRIGGER
32	tristate "Industrial I/O lock free software ring"
33	help
34	  Example software ring buffer implementation.  The design aim
35	  of this particular realization was to minimize write locking
36	  with the intention that some devices would be able to write
37	  in interrupt context.
38
39config IIO_KFIFO_BUF
40	select IIO_TRIGGER
41	tristate "Industrial I/O buffering based on kfifo"
42	help
43	  A simple fifo based on kfifo.  Use this if you want a fifo
44	  rather than a ring buffer. Note that this currently provides
45	  no buffer events so it is up to userspace to work out how
46	  often to read from the buffer.
47
48endif # IIO_BUFFER
49
50config IIO_TRIGGER
51	boolean "Enable triggered sampling support"
52	help
53	  Provides IIO core support for triggers.  Currently these
54	  are used to initialize capture of samples to push into
55	  ring buffers.  The triggers are effectively a 'capture
56	  data now' interrupt.
57
58config IIO_CONSUMERS_PER_TRIGGER
59       int "Maximum number of consumers per trigger"
60       depends on IIO_TRIGGER
61       default "2"
62       help
63	This value controls the maximum number of consumers that a
64	given trigger may handle. Default is 2.
65
66source "drivers/staging/iio/accel/Kconfig"
67source "drivers/staging/iio/adc/Kconfig"
68source "drivers/staging/iio/addac/Kconfig"
69source "drivers/staging/iio/cdc/Kconfig"
70source "drivers/staging/iio/dac/Kconfig"
71source "drivers/staging/iio/dds/Kconfig"
72source "drivers/staging/iio/gyro/Kconfig"
73source "drivers/staging/iio/impedance-analyzer/Kconfig"
74source "drivers/staging/iio/imu/Kconfig"
75source "drivers/staging/iio/light/Kconfig"
76source "drivers/staging/iio/magnetometer/Kconfig"
77source "drivers/staging/iio/meter/Kconfig"
78source "drivers/staging/iio/resolver/Kconfig"
79source "drivers/staging/iio/trigger/Kconfig"
80
81config IIO_DUMMY_EVGEN
82       tristate
83
84config IIO_SIMPLE_DUMMY
85       tristate "An example driver with no hardware requirements"
86       help
87	 Driver intended mainly as documentation for how to write
88	 a driver. May also be useful for testing userspace code
89	 without hardware.
90
91if IIO_SIMPLE_DUMMY
92
93config IIO_SIMPLE_DUMMY_EVENTS
94       boolean "Event generation support"
95       select IIO_DUMMY_EVGEN
96       help
97         Add some dummy events to the simple dummy driver.
98
99config IIO_SIMPLE_DUMMY_BUFFER
100       boolean "Buffered capture support"
101       depends on IIO_KFIFO_BUF
102       help
103         Add buffered data capture to the simple dummy driver.
104
105endif # IIO_SIMPLE_DUMMY
106
107endif # IIO
108