1 .. SPDX-License-Identifier: GPL-2.0-only 1 .. SPDX-License-Identifier: GPL-2.0-only 2 2 3 GPIO Testing Driver 3 GPIO Testing Driver 4 =================== 4 =================== 5 5 6 .. note:: << 7 << 8 This module has been obsoleted by the more << 9 New developments should use that API and ex << 10 encouraged to migrate as soon as possible. << 11 This module will continue to be maintained << 12 added. << 13 << 14 The GPIO Testing Driver (gpio-mockup) provides 6 The GPIO Testing Driver (gpio-mockup) provides a way to create simulated GPIO 15 chips for testing purposes. The lines exposed 7 chips for testing purposes. The lines exposed by these chips can be accessed 16 using the standard GPIO character device inter 8 using the standard GPIO character device interface as well as manipulated 17 using the dedicated debugfs directory structur 9 using the dedicated debugfs directory structure. 18 10 19 Creating simulated chips using module params 11 Creating simulated chips using module params 20 -------------------------------------------- 12 -------------------------------------------- 21 13 22 When loading the gpio-mockup driver a number o 14 When loading the gpio-mockup driver a number of parameters can be passed to the 23 module. 15 module. 24 16 25 gpio_mockup_ranges 17 gpio_mockup_ranges 26 18 27 This parameter takes an argument in th 19 This parameter takes an argument in the form of an array of integer 28 pairs. Each pair defines the base GPIO !! 20 pairs. Each pair defines the base GPIO number (if any) and the number 29 and the first number after the last of !! 21 of lines exposed by the chip. If the base GPIO is -1, the gpiolib 30 is -1, the gpiolib will assign it auto !! 22 will assign it automatically. 31 parameter is the number of lines expos << 32 23 33 Example: gpio_mockup_ranges=-1,8,-1,16 !! 24 Example: gpio_mockup_ranges=-1,8,-1,16,405,4 34 25 35 The line above creates three chips. Th 26 The line above creates three chips. The first one will expose 8 lines, 36 the second 16 and the third 4. The bas 27 the second 16 and the third 4. The base GPIO for the third chip is set 37 to 405 while for two first chips it wi 28 to 405 while for two first chips it will be assigned automatically. 38 29 39 gpio_mockup_named_lines !! 30 gpio_named_lines 40 31 41 This parameter doesn't take any argume 32 This parameter doesn't take any arguments. It lets the driver know that 42 GPIO lines exposed by it should be nam 33 GPIO lines exposed by it should be named. 43 34 44 The name format is: gpio-mockup-X-Y wh 35 The name format is: gpio-mockup-X-Y where X is mockup chip's ID 45 and Y is the line offset. 36 and Y is the line offset. 46 37 47 Manipulating simulated lines 38 Manipulating simulated lines 48 ---------------------------- 39 ---------------------------- 49 40 50 Each mockup chip creates its own subdirectory 41 Each mockup chip creates its own subdirectory in /sys/kernel/debug/gpio-mockup/. 51 The directory is named after the chip's label. 42 The directory is named after the chip's label. A symlink is also created, named 52 after the chip's name, which points to the lab 43 after the chip's name, which points to the label directory. 53 44 54 Inside each subdirectory, there's a separate a 45 Inside each subdirectory, there's a separate attribute for each GPIO line. The 55 name of the attribute represents the line's of 46 name of the attribute represents the line's offset in the chip. 56 47 57 Reading from a line attribute returns the curr 48 Reading from a line attribute returns the current value. Writing to it (0 or 1) 58 changes the configuration of the simulated pul 49 changes the configuration of the simulated pull-up/pull-down resistor 59 (1 - pull-up, 0 - pull-down). 50 (1 - pull-up, 0 - pull-down).
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.