docs: iio: convert to ReST
Rename the iio documentation files to ReST, add an index for them and adjust in order to produce a nice html output via the Sphinx build system. At its new index.rst, let's add a :orphan: while this is not linked to the main index.rst file, in order to avoid build warnings. Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>alistair/sunxi64-5.4-dsi
parent
7685010fca
commit
1c349f4fd3
|
@ -1,12 +1,16 @@
|
||||||
Cirrus Logic EP93xx ADC driver.
|
==============================
|
||||||
|
Cirrus Logic EP93xx ADC driver
|
||||||
|
==============================
|
||||||
|
|
||||||
1. Overview
|
1. Overview
|
||||||
|
===========
|
||||||
|
|
||||||
The driver is intended to work on both low-end (EP9301, EP9302) devices with
|
The driver is intended to work on both low-end (EP9301, EP9302) devices with
|
||||||
5-channel ADC and high-end (EP9307, EP9312, EP9315) devices with 10-channel
|
5-channel ADC and high-end (EP9307, EP9312, EP9315) devices with 10-channel
|
||||||
touchscreen/ADC module.
|
touchscreen/ADC module.
|
||||||
|
|
||||||
2. Channel numbering
|
2. Channel numbering
|
||||||
|
====================
|
||||||
|
|
||||||
Numbering scheme for channels 0..4 is defined in EP9301 and EP9302 datasheets.
|
Numbering scheme for channels 0..4 is defined in EP9301 and EP9302 datasheets.
|
||||||
EP9307, EP9312 and EP9312 have 3 channels more (total 8), but the numbering is
|
EP9307, EP9312 and EP9312 have 3 channels more (total 8), but the numbering is
|
||||||
|
@ -17,13 +21,20 @@ Assuming ep93xx_adc is IIO device0, you'd find the following entries under
|
||||||
|
|
||||||
+-----------------+---------------+
|
+-----------------+---------------+
|
||||||
| sysfs entry | ball/pin name |
|
| sysfs entry | ball/pin name |
|
||||||
+-----------------+---------------+
|
+=================+===============+
|
||||||
| in_voltage0_raw | YM |
|
| in_voltage0_raw | YM |
|
||||||
|
+-----------------+---------------+
|
||||||
| in_voltage1_raw | SXP |
|
| in_voltage1_raw | SXP |
|
||||||
|
+-----------------+---------------+
|
||||||
| in_voltage2_raw | SXM |
|
| in_voltage2_raw | SXM |
|
||||||
|
+-----------------+---------------+
|
||||||
| in_voltage3_raw | SYP |
|
| in_voltage3_raw | SYP |
|
||||||
|
+-----------------+---------------+
|
||||||
| in_voltage4_raw | SYM |
|
| in_voltage4_raw | SYM |
|
||||||
|
+-----------------+---------------+
|
||||||
| in_voltage5_raw | XP |
|
| in_voltage5_raw | XP |
|
||||||
|
+-----------------+---------------+
|
||||||
| in_voltage6_raw | XM |
|
| in_voltage6_raw | XM |
|
||||||
|
+-----------------+---------------+
|
||||||
| in_voltage7_raw | YP |
|
| in_voltage7_raw | YP |
|
||||||
+-----------------+---------------+
|
+-----------------+---------------+
|
|
@ -1,6 +1,9 @@
|
||||||
|
===============================
|
||||||
Industrial IIO configfs support
|
Industrial IIO configfs support
|
||||||
|
===============================
|
||||||
|
|
||||||
1. Overview
|
1. Overview
|
||||||
|
===========
|
||||||
|
|
||||||
Configfs is a filesystem-based manager of kernel objects. IIO uses some
|
Configfs is a filesystem-based manager of kernel objects. IIO uses some
|
||||||
objects that could be easily configured using configfs (e.g.: devices,
|
objects that could be easily configured using configfs (e.g.: devices,
|
||||||
|
@ -10,20 +13,22 @@ See Documentation/filesystems/configfs/configfs.txt for more information
|
||||||
about how configfs works.
|
about how configfs works.
|
||||||
|
|
||||||
2. Usage
|
2. Usage
|
||||||
|
========
|
||||||
|
|
||||||
In order to use configfs support in IIO we need to select it at compile
|
In order to use configfs support in IIO we need to select it at compile
|
||||||
time via CONFIG_IIO_CONFIGFS config option.
|
time via CONFIG_IIO_CONFIGFS config option.
|
||||||
|
|
||||||
Then, mount the configfs filesystem (usually under /config directory):
|
Then, mount the configfs filesystem (usually under /config directory)::
|
||||||
|
|
||||||
$ mkdir /config
|
$ mkdir /config
|
||||||
$ mount -t configfs none /config
|
$ mount -t configfs none /config
|
||||||
|
|
||||||
At this point, all default IIO groups will be created and can be accessed
|
At this point, all default IIO groups will be created and can be accessed
|
||||||
under /config/iio. Next chapters will describe available IIO configuration
|
under /config/iio. Next chapters will describe available IIO configuration
|
||||||
objects.
|
objects.
|
||||||
|
|
||||||
3. Software triggers
|
3. Software triggers
|
||||||
|
====================
|
||||||
|
|
||||||
One of the IIO default configfs groups is the "triggers" group. It is
|
One of the IIO default configfs groups is the "triggers" group. It is
|
||||||
automagically accessible when the configfs is mounted and can be found
|
automagically accessible when the configfs is mounted and can be found
|
||||||
|
@ -31,40 +36,40 @@ under /config/iio/triggers.
|
||||||
|
|
||||||
IIO software triggers implementation offers support for creating multiple
|
IIO software triggers implementation offers support for creating multiple
|
||||||
trigger types. A new trigger type is usually implemented as a separate
|
trigger types. A new trigger type is usually implemented as a separate
|
||||||
kernel module following the interface in include/linux/iio/sw_trigger.h:
|
kernel module following the interface in include/linux/iio/sw_trigger.h::
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* drivers/iio/trigger/iio-trig-sample.c
|
* drivers/iio/trigger/iio-trig-sample.c
|
||||||
* sample kernel module implementing a new trigger type
|
* sample kernel module implementing a new trigger type
|
||||||
*/
|
*/
|
||||||
#include <linux/iio/sw_trigger.h>
|
#include <linux/iio/sw_trigger.h>
|
||||||
|
|
||||||
|
|
||||||
static struct iio_sw_trigger *iio_trig_sample_probe(const char *name)
|
static struct iio_sw_trigger *iio_trig_sample_probe(const char *name)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* This allocates and registers an IIO trigger plus other
|
* This allocates and registers an IIO trigger plus other
|
||||||
* trigger type specific initialization.
|
* trigger type specific initialization.
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
static int iio_trig_hrtimer_remove(struct iio_sw_trigger *swt)
|
static int iio_trig_hrtimer_remove(struct iio_sw_trigger *swt)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* This undoes the actions in iio_trig_sample_probe
|
* This undoes the actions in iio_trig_sample_probe
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct iio_sw_trigger_ops iio_trig_sample_ops = {
|
static const struct iio_sw_trigger_ops iio_trig_sample_ops = {
|
||||||
.probe = iio_trig_sample_probe,
|
.probe = iio_trig_sample_probe,
|
||||||
.remove = iio_trig_sample_remove,
|
.remove = iio_trig_sample_remove,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct iio_sw_trigger_type iio_trig_sample = {
|
static struct iio_sw_trigger_type iio_trig_sample = {
|
||||||
.name = "trig-sample",
|
.name = "trig-sample",
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
.ops = &iio_trig_sample_ops,
|
.ops = &iio_trig_sample_ops,
|
||||||
};
|
};
|
||||||
|
|
||||||
module_iio_sw_trigger_driver(iio_trig_sample);
|
module_iio_sw_trigger_driver(iio_trig_sample);
|
||||||
|
|
||||||
|
@ -73,21 +78,24 @@ iio-trig-sample module will create 'trig-sample' trigger type directory
|
||||||
/config/iio/triggers/trig-sample.
|
/config/iio/triggers/trig-sample.
|
||||||
|
|
||||||
We support the following interrupt sources (trigger types):
|
We support the following interrupt sources (trigger types):
|
||||||
|
|
||||||
* hrtimer, uses high resolution timers as interrupt source
|
* hrtimer, uses high resolution timers as interrupt source
|
||||||
|
|
||||||
3.1 Hrtimer triggers creation and destruction
|
3.1 Hrtimer triggers creation and destruction
|
||||||
|
---------------------------------------------
|
||||||
|
|
||||||
Loading iio-trig-hrtimer module will register hrtimer trigger types allowing
|
Loading iio-trig-hrtimer module will register hrtimer trigger types allowing
|
||||||
users to create hrtimer triggers under /config/iio/triggers/hrtimer.
|
users to create hrtimer triggers under /config/iio/triggers/hrtimer.
|
||||||
|
|
||||||
e.g:
|
e.g::
|
||||||
|
|
||||||
$ mkdir /config/iio/triggers/hrtimer/instance1
|
$ mkdir /config/iio/triggers/hrtimer/instance1
|
||||||
$ rmdir /config/iio/triggers/hrtimer/instance1
|
$ rmdir /config/iio/triggers/hrtimer/instance1
|
||||||
|
|
||||||
Each trigger can have one or more attributes specific to the trigger type.
|
Each trigger can have one or more attributes specific to the trigger type.
|
||||||
|
|
||||||
3.2 "hrtimer" trigger types attributes
|
3.2 "hrtimer" trigger types attributes
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
"hrtimer" trigger type doesn't have any configurable attribute from /config dir.
|
"hrtimer" trigger type doesn't have any configurable attribute from /config dir.
|
||||||
It does introduce the sampling_frequency attribute to trigger directory.
|
It does introduce the sampling_frequency attribute to trigger directory.
|
|
@ -0,0 +1,12 @@
|
||||||
|
:orphan:
|
||||||
|
|
||||||
|
==============
|
||||||
|
Industrial I/O
|
||||||
|
==============
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
iio_configfs
|
||||||
|
|
||||||
|
ep93xx_adc
|
|
@ -27,7 +27,7 @@ config IIO_CONFIGFS
|
||||||
help
|
help
|
||||||
This allows configuring various IIO bits through configfs
|
This allows configuring various IIO bits through configfs
|
||||||
(e.g. software triggers). For more info see
|
(e.g. software triggers). For more info see
|
||||||
Documentation/iio/iio_configfs.txt.
|
Documentation/iio/iio_configfs.rst.
|
||||||
|
|
||||||
config IIO_TRIGGER
|
config IIO_TRIGGER
|
||||||
bool "Enable triggered sampling support"
|
bool "Enable triggered sampling support"
|
||||||
|
|
Loading…
Reference in New Issue