Commit 1c349f4f authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by Jonathan Cameron

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: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 7685010f
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 ...@@ -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 |
+-----------------+---------------+ +-----------------+---------------+
===============================
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 ...@@ -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. ...@@ -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 ...@@ -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.
:orphan:
==============
Industrial I/O
==============
.. toctree::
:maxdepth: 1
iio_configfs
ep93xx_adc
...@@ -27,7 +27,7 @@ config IIO_CONFIGFS ...@@ -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"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment