minix/drivers/gpio
Thomas Cort ba92d5219d clkconf: move clkconf from libgpio to it's own lib
Clock configuration will be needed by other/future subsystems such as i2c.
Extract the functionality from libgpio and put it into it's own library.

Change-Id: I6f6de0b3fb4d305ddfeac74123b78c983d1318dd
2013-06-18 09:09:23 +02:00
..
gpio.c GPIO:further development 2013-02-06 16:07:43 +01:00
Makefile clkconf: move clkconf from libgpio to it's own lib 2013-06-18 09:09:23 +02:00
README.txt gpio:Initial GPIO driver.(ARM) 2013-01-28 15:51:20 +01:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 chips. Generally System on Chips (SoC) designs
provide some way configure pads to perform basic Input/Output configuration on
selected ports. These ports are also usually grouped into a bank. 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 booth input
and output handling. Input handling as we want to be able to listen to button
presses and genrate 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 toggeling leds)


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

# mount -t gpio none /gpio