xref: /linux/drivers/iio/Kconfig (revision e64e7d5c8c86ead27ed51a95687ba8327a9c4d2a)
1a980e046SJonathan Cameron#
2e58bf533SPeter Meerwald# Industrial I/O subsystem configuration
3a980e046SJonathan Cameron#
4a980e046SJonathan Cameron
5a980e046SJonathan Cameronmenuconfig IIO
6a980e046SJonathan Cameron	tristate "Industrial I/O support"
7a980e046SJonathan Cameron	depends on GENERIC_HARDIRQS
8a980e046SJonathan Cameron	help
9a980e046SJonathan Cameron	  The industrial I/O subsystem provides a unified framework for
10a980e046SJonathan Cameron	  drivers for many different types of embedded sensors using a
11a529ae4bSJiri Kosina	  number of different physical interfaces (i2c, spi, etc).
12a980e046SJonathan Cameron
13a980e046SJonathan Cameronif IIO
14a980e046SJonathan Cameron
15a980e046SJonathan Cameronconfig IIO_BUFFER
16a980e046SJonathan Cameron	bool "Enable buffer support within IIO"
17a980e046SJonathan Cameron	help
18a980e046SJonathan Cameron	  Provide core support for various buffer based data
19a980e046SJonathan Cameron	  acquisition methods.
20a980e046SJonathan Cameron
21a980e046SJonathan Cameronif IIO_BUFFER
22a980e046SJonathan Cameron
2392d1079bSJonathan Cameronconfig IIO_BUFFER_CB
2492d1079bSJonathan Cameronboolean "IIO callback buffer used for push in-kernel interfaces"
2592d1079bSJonathan Cameron	help
2692d1079bSJonathan Cameron	  Should be selected by any drivers that do-inkernel push
2792d1079bSJonathan Cameron	  usage.  That is, those where the data is pushed to the consumer.
2892d1079bSJonathan Cameron
29a980e046SJonathan Cameronconfig IIO_KFIFO_BUF
30a980e046SJonathan Cameron	select IIO_TRIGGER
31a980e046SJonathan Cameron	tristate "Industrial I/O buffering based on kfifo"
32a980e046SJonathan Cameron	help
33a980e046SJonathan Cameron	  A simple fifo based on kfifo.  Use this if you want a fifo
34a980e046SJonathan Cameron	  rather than a ring buffer. Note that this currently provides
35a980e046SJonathan Cameron	  no buffer events so it is up to userspace to work out how
36a980e046SJonathan Cameron	  often to read from the buffer.
37a980e046SJonathan Cameron
3823f2d735SLars-Peter Clausenconfig IIO_TRIGGERED_BUFFER
3923f2d735SLars-Peter Clausen	tristate
4023f2d735SLars-Peter Clausen	select IIO_TRIGGER
4123f2d735SLars-Peter Clausen	select IIO_KFIFO_BUF
4223f2d735SLars-Peter Clausen	help
4323f2d735SLars-Peter Clausen	  Provides helper functions for setting up triggered buffers.
4423f2d735SLars-Peter Clausen
45a980e046SJonathan Cameronendif # IIO_BUFFER
46a980e046SJonathan Cameron
47a980e046SJonathan Cameronconfig IIO_TRIGGER
48a980e046SJonathan Cameron	boolean "Enable triggered sampling support"
49a980e046SJonathan Cameron	help
50a980e046SJonathan Cameron	  Provides IIO core support for triggers.  Currently these
51a980e046SJonathan Cameron	  are used to initialize capture of samples to push into
52a980e046SJonathan Cameron	  ring buffers.  The triggers are effectively a 'capture
53a980e046SJonathan Cameron	  data now' interrupt.
54a980e046SJonathan Cameron
55a980e046SJonathan Cameronconfig IIO_CONSUMERS_PER_TRIGGER
56a980e046SJonathan Cameron       int "Maximum number of consumers per trigger"
57a980e046SJonathan Cameron       depends on IIO_TRIGGER
58a980e046SJonathan Cameron       default "2"
59a980e046SJonathan Cameron       help
60a980e046SJonathan Cameron	This value controls the maximum number of consumers that a
61a980e046SJonathan Cameron	given trigger may handle. Default is 2.
62a980e046SJonathan Cameron
6345fe6f7dSsrinivas pandruvadasource "drivers/iio/accel/Kconfig"
640e589d5fSMaxime Ripardsource "drivers/iio/adc/Kconfig"
65e71d42e0SMichael Hennerichsource "drivers/iio/amplifiers/Kconfig"
6673c6768bSsrinivas pandruvadasource "drivers/iio/common/Kconfig"
67ec04cb04SLars-Peter Clausensource "drivers/iio/dac/Kconfig"
68ec04cb04SLars-Peter Clausensource "drivers/iio/frequency/Kconfig"
69c5bdbef7Ssrinivas pandruvadasource "drivers/iio/gyro/Kconfig"
70ec04cb04SLars-Peter Clausensource "drivers/iio/imu/Kconfig"
71ec04cb04SLars-Peter Clausensource "drivers/iio/light/Kconfig"
72bc1d57baSsrinivas pandruvadasource "drivers/iio/magnetometer/Kconfig"
73*e64e7d5cSJonathan Cameronif IIO_TRIGGER
74*e64e7d5cSJonathan Cameron   source "drivers/iio/trigger/Kconfig"
75*e64e7d5cSJonathan Cameronendif #IIO_TRIGGER
76e71d42e0SMichael Hennerich
77a980e046SJonathan Cameronendif # IIO
78