mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 16:29:59 +00:00
![Andy Shevchenko](/assets/img/avatar_default.png)
First of all one of the parameter missed 'mockup' in its name,
Second, the semantics of the integer pairs depends on the sign
of the base (the first value in the pair).
Update documentation to reflect the real code behaviour.
Fixes: 2fd1abe99e
("Documentation: gpio: add documentation for gpio-mockup")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
51 lines
2 KiB
ReStructuredText
51 lines
2 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
GPIO Testing Driver
|
|
===================
|
|
|
|
The GPIO Testing Driver (gpio-mockup) provides a way to create simulated GPIO
|
|
chips for testing purposes. The lines exposed by these chips can be accessed
|
|
using the standard GPIO character device interface as well as manipulated
|
|
using the dedicated debugfs directory structure.
|
|
|
|
Creating simulated chips using module params
|
|
--------------------------------------------
|
|
|
|
When loading the gpio-mockup driver a number of parameters can be passed to the
|
|
module.
|
|
|
|
gpio_mockup_ranges
|
|
|
|
This parameter takes an argument in the form of an array of integer
|
|
pairs. Each pair defines the base GPIO number (non-negative integer)
|
|
and the first number after the last of this chip. If the base GPIO
|
|
is -1, the gpiolib will assign it automatically. while the following
|
|
parameter is the number of lines exposed by the chip.
|
|
|
|
Example: gpio_mockup_ranges=-1,8,-1,16,405,409
|
|
|
|
The line above creates three chips. The first one will expose 8 lines,
|
|
the second 16 and the third 4. The base GPIO for the third chip is set
|
|
to 405 while for two first chips it will be assigned automatically.
|
|
|
|
gpio_mockup_named_lines
|
|
|
|
This parameter doesn't take any arguments. It lets the driver know that
|
|
GPIO lines exposed by it should be named.
|
|
|
|
The name format is: gpio-mockup-X-Y where X is mockup chip's ID
|
|
and Y is the line offset.
|
|
|
|
Manipulating simulated lines
|
|
----------------------------
|
|
|
|
Each mockup chip creates its own subdirectory in /sys/kernel/debug/gpio-mockup/.
|
|
The directory is named after the chip's label. A symlink is also created, named
|
|
after the chip's name, which points to the label directory.
|
|
|
|
Inside each subdirectory, there's a separate attribute for each GPIO line. The
|
|
name of the attribute represents the line's offset in the chip.
|
|
|
|
Reading from a line attribute returns the current value. Writing to it (0 or 1)
|
|
changes the configuration of the simulated pull-up/pull-down resistor
|
|
(1 - pull-up, 0 - pull-down).
|