============================
Subsystem drivers using GPIO
============================

Note that standard kernel drivers exist for common GPIO tasks and will provide
the right in-kernel and userspace APIs/ABIs for the job, and that these
drivers can quite easily interconnect with other kernel subsystems using
hardware descriptions such as device tree or ACPI:

- leds-gpio: drivers/leds/leds-gpio.c will handle LEDs connected to  GPIO
  lines, giving you the LED sysfs interface

- ledtrig-gpio: drivers/leds/trigger/ledtrig-gpio.c will provide a LED trigger,
  i.e. a LED will turn on/off in response to a GPIO line going high or low
  (and that LED may in turn use the leds-gpio as per above).

- gpio-keys: drivers/input/keyboard/gpio_keys.c is used when your GPIO line
  can generate interrupts in response to a key press. Also supports debounce.

- gpio-keys-polled: drivers/input/keyboard/gpio_keys_polled.c is used when your
  GPIO line cannot generate interrupts, so it needs to be periodically polled
  by a timer.

- gpio_mouse: drivers/input/mouse/gpio_mouse.c is used to provide a mouse with
  up to three buttons by simply using GPIOs and no mouse port. You can cut the
  mouse cable and connect the wires to GPIO lines or solder a mouse connector
  to the lines for a more permanent solution of this type.

- gpio-beeper: drivers/input/misc/gpio-beeper.c is used to provide a beep from
  an external speaker connected to a GPIO line. (If the beep is controlled by
  off/on, for an actual PWM waveform, see pwm-gpio below.)

- pwm-gpio: drivers/pwm/pwm-gpio.c is used to toggle a GPIO with a high
  resolution timer producing a PWM waveform on the GPIO line, as well as
  Linux high resolution timers can do.

- extcon-gpio: drivers/extcon/extcon-gpio.c is used when you need to read an
  external connector status, such as a headset line for an audio driver or an
  HDMI connector. It will provide a better userspace sysfs interface than GPIO.

- restart-gpio: drivers/power/reset/gpio-restart.c is used to restart/reboot
  the system by pulling a GPIO line and will register a restart handler so
  userspace can issue the right system call to restart the system.

- poweroff-gpio: drivers/power/reset/gpio-poweroff.c is used to power the
  system down by pulling a GPIO line and will register a pm_power_off()
  callback so that userspace can issue the right system call to power down the
  system.

- gpio-gate-clock: drivers/clk/clk-gpio.c is used to control a gated clock
  (off/on) that uses a GPIO, and integrated with the clock subsystem.

- i2c-gpio: drivers/i2c/busses/i2c-gpio.c is used to drive an I2C bus
  (two wires, SDA and SCL lines) by hammering (bitbang) two GPIO lines. It will
  appear as any other I2C bus to the system and makes it possible to connect
  drivers for the I2C devices on the bus like any other I2C bus driver.

- spi_gpio: drivers/spi/spi-gpio.c is used to drive an SPI bus (variable number
  of wires, at least SCK and optionally MISO, MOSI and chip select lines) using
  GPIO hammering (bitbang). It will appear as any other SPI bus on the system
  and makes it possible to connect drivers for SPI devices on the bus like
  any other SPI bus driver. For example any MMC/SD card can then be connected
  to this SPI by using the mmc_spi host from the MMC/SD card subsystem.

- w1-gpio: drivers/w1/masters/w1-gpio.c is used to drive a one-wire bus using
  a GPIO line, integrating with the W1 subsystem and handling devices on
  the bus like any other W1 device.

- gpio-fan: drivers/hwmon/gpio-fan.c is used to control a fan for cooling the
  system, connected to a GPIO line (and optionally a GPIO alarm line),
  presenting all the right in-kernel and sysfs interfaces to make your system
  not overheat.

- gpio-regulator: drivers/regulator/gpio-regulator.c is used to control a
  regulator providing a certain voltage by pulling a GPIO line, integrating
  with the regulator subsystem and giving you all the right interfaces.

- gpio-wdt: drivers/watchdog/gpio_wdt.c is used to provide a watchdog timer
  that will periodically "ping" a hardware connected to a GPIO line by toggling
  it from 1-to-0-to-1. If that hardware does not receive its "ping"
  periodically, it will reset the system.

- gpio-nand: drivers/mtd/nand/raw/gpio.c is used to connect a NAND flash chip
  to a set of simple GPIO lines: RDY, NCE, ALE, CLE, NWP. It interacts with the
  NAND flash MTD subsystem and provides chip access and partition parsing like
  any other NAND driving hardware.

- ps2-gpio: drivers/input/serio/ps2-gpio.c is used to drive a PS/2 (IBM) serio
  bus, data and clock line, by bit banging two GPIO lines. It will appear as
  any other serio bus to the system and makes it possible to connect drivers
  for e.g. keyboards and other PS/2 protocol based devices.

- cec-gpio: drivers/media/platform/cec-gpio/ is used to interact with a CEC
  Consumer Electronics Control bus using only GPIO. It is used to communicate
  with devices on the HDMI bus.

- gpio-charger: drivers/power/supply/gpio-charger.c is used if you need to do
  battery charging and all you have to go by to check the presence of the
  AC charger or more complex tasks such as indicating charging status using
  nothing but GPIO lines, this driver provides that and also a clearly defined
  way to pass the charging parameters from hardware descriptions such as the
  device tree.

- gpio-mux: drivers/mux/gpio.c is used for controlling a multiplexer using
  n GPIO lines such that you can mux in 2^n different devices by activating
  different GPIO lines. Often the GPIOs are on a SoC and the devices are
  some SoC-external entities, such as different components on a PCB that
  can be selectively enabled.

Apart from this there are special GPIO drivers in subsystems like MMC/SD to
read card detect and write protect GPIO lines, and in the TTY serial subsystem
to emulate MCTRL (modem control) signals CTS/RTS by using two GPIO lines. The
MTD NOR flash has add-ons for extra GPIO lines too, though the address bus is
usually connected directly to the flash.

Use those instead of talking directly to the GPIOs from userspace; they
integrate with kernel frameworks better than your userspace code could.
Needless to say, just using the appropriate kernel drivers will simplify and
speed up your embedded hacking in particular by providing ready-made components.
