minix/drivers/gpio
Thomas Cort 0a9eab0bb6 gpio: port to am335x
* port libgpio to am335x.
 * increase NR_IRQ to 16 to avoid too many IRQs requested error.
 * move gpio binary to /sbin (that's where mount looks for drivers).
 * fix bug that re-enabled banks that were disabled due to bad revision.
 * fix padconf masks for dm37xx in gpio driver (should be 16-bit).
 * fix a few typos in README.txt and comments.

Change-Id: I32374415a97135174c5224f76374a870909fa90c
2013-09-03 08:14:18 -04:00
..
gpio.c gpio: port to am335x 2013-09-03 08:14:18 -04:00
Makefile gpio: port to am335x 2013-09-03 08:14:18 -04:00
README.txt gpio: port to am335x 2013-09-03 08:14:18 -04:00

General Purpose Input and Output

To make MINIX more usable on embedded hardware, we need some way to access the
GPIO features of the system on a chip. Generally System on Chips (SoC) designs
provide some way to configure pads to perform basic Input/Output operations on
selected ports. These ports are also usually grouped into banks. The end
result is that you have a functional general input output block where you need
to configure some the following functions.

Functional Requirements

We envision that the short term usage of the GPIO library will be both input
and output handling. Input handling as we want to be able to listen to button
presses and generate key events, and output handling because we want to be able
to control LEDs.

GPIO required functionality
-Configure pins as input or output.
-Configure the impedance of the pins.
-Get or set the values of the pins (possibly in a single call).
-Configure interrupt levels for input pins.
-Configure debouncing of pins.

Additional kernel requirements:
-Manage the GPIO resources (who may access what)
-Access the GPIO pins from within driver (for the keyboard)
-Access the GPIO pins from within userland (for toggling LEDs)


Usage: 
You have to manually mount the gpio fs using the following command

# mkdir -p /gpio
# mount -t gpio none /gpio