blob: fe1586718880d2e2eb0d2dccf166e2e8debb7f6c [file] [log] [blame]
Jonathan Cameron847ec802009-08-18 18:06:19 +01001#
2# Industrial I/O subsytem configuration
3#
4
5menuconfig IIO
6 tristate "Industrial I/O support"
Geert Uytterhoeven928f9112011-05-31 11:37:40 +02007 depends on GENERIC_HARDIRQS
Jonathan Camerondb606972011-05-18 14:42:41 +01008 help
Jonathan Cameron847ec802009-08-18 18:06:19 +01009 The industrial I/O subsystem provides a unified framework for
10 drivers for many different types of embedded sensors using a
Randy Dunlap7e046382009-10-04 19:32:27 -070011 number of different physical interfaces (i2c, spi, etc). See
Jonathan Camerondb606972011-05-18 14:42:41 +010012 drivers/staging/iio/Documentation for more information.
Jonathan Camerond1325cf2009-08-18 18:06:20 +010013if IIO
Jonathan Camerone0f8a242012-02-15 19:48:03 +000014config 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.
Jonathan Camerond1325cf2009-08-18 18:06:20 +010021
Jonathan Cameronf2a96242011-09-21 11:15:55 +010022config IIO_BUFFER
Jonathan Camerondb606972011-05-18 14:42:41 +010023 bool "Enable buffer support within IIO"
Jonathan Cameron7026ea42009-08-18 18:06:24 +010024 help
Jonathan Camerondb606972011-05-18 14:42:41 +010025 Provide core support for various buffer based data
Jonathan Cameron7026ea42009-08-18 18:06:24 +010026 acquisition methods.
27
Jonathan Cameronf2a96242011-09-21 11:15:55 +010028if IIO_BUFFER
Jonathan Cameron2235acb2009-08-18 18:06:27 +010029
30config IIO_SW_RING
Jonathan Camerond3bf8122010-07-29 17:50:49 +010031 select IIO_TRIGGER
Jonathan Cameron2235acb2009-08-18 18:06:27 +010032 tristate "Industrial I/O lock free software ring"
33 help
Randy Dunlap7e046382009-10-04 19:32:27 -070034 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.
Jonathan Cameron2235acb2009-08-18 18:06:27 +010038
Jonathan Cameronb174baf2011-02-11 13:09:10 +000039config 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
Jonathan Cameronf2a96242011-09-21 11:15:55 +010048endif # IIO_BUFFER
Jonathan Cameron2235acb2009-08-18 18:06:27 +010049
Jonathan Cameron1637db42009-08-18 18:06:26 +010050config 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
Jonathan Camerond96d1332011-05-18 14:41:18 +010058config 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.
Jonathan Cameron7f3a1fb2009-08-18 18:06:30 +010065
Jonathan Cameron66533b42009-08-18 18:06:22 +010066source "drivers/staging/iio/accel/Kconfig"
Jonathan Camerond1325cf2009-08-18 18:06:20 +010067source "drivers/staging/iio/adc/Kconfig"
Sonic Zhang35f6b6b2010-10-27 21:43:52 -040068source "drivers/staging/iio/addac/Kconfig"
Michael Hennerich5c48cb92011-10-19 13:02:03 +020069source "drivers/staging/iio/cdc/Kconfig"
Barry Song6790e292010-10-27 21:44:07 -040070source "drivers/staging/iio/dac/Kconfig"
Cliff Caida6fcbd2010-10-27 21:44:08 -040071source "drivers/staging/iio/dds/Kconfig"
Barry Song089a4192010-05-12 19:34:06 +010072source "drivers/staging/iio/gyro/Kconfig"
Michael Hennerichf94aa354d2011-08-02 08:48:22 +020073source "drivers/staging/iio/impedance-analyzer/Kconfig"
Barry Song1e3864e2010-05-04 14:43:14 +010074source "drivers/staging/iio/imu/Kconfig"
Jonathan Cameron78632b62009-08-18 18:06:21 +010075source "drivers/staging/iio/light/Kconfig"
Shubhrajyoti Db4e17822010-07-17 18:32:52 +053076source "drivers/staging/iio/magnetometer/Kconfig"
Barry Song09434ef2010-10-27 21:44:14 -040077source "drivers/staging/iio/meter/Kconfig"
Graf Yangf46d9f12010-10-27 21:44:19 -040078source "drivers/staging/iio/resolver/Kconfig"
Jonathan Cameron7f3a1fb2009-08-18 18:06:30 +010079source "drivers/staging/iio/trigger/Kconfig"
80
Jonathan Camerone6477002011-10-14 16:34:14 +010081config IIO_DUMMY_EVGEN
82 tristate
83
Jonathan Cameron3a843312011-10-14 16:34:13 +010084config IIO_SIMPLE_DUMMY
85 tristate "An example driver with no hardware requirements"
86 help
Jonathan Camerone6477002011-10-14 16:34:14 +010087 Driver intended mainly as documentation for how to write
88 a driver. May also be useful for testing userspace code
Justin P. Mattock4abf6f82012-02-29 22:00:38 -080089 without hardware.
Jonathan Cameron3a843312011-10-14 16:34:13 +010090
Jonathan Camerone6477002011-10-14 16:34:14 +010091if 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
Jonathan Cameron9ad2e2e2011-10-14 16:34:15 +010099config 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.
Jonathan Camerone6477002011-10-14 16:34:14 +0100104
105endif # IIO_SIMPLE_DUMMY
Jonathan Cameron3a843312011-10-14 16:34:13 +0100106
Jonathan Camerond1325cf2009-08-18 18:06:20 +0100107endif # IIO