Here's some information about the GPIO device driver implementation for beagle board.
The GPIO configuration is done at 2 places.
Where the configuration for LEDS, Few Keys on beagle board (for e.g power key) and HW monitoring unit. The 3 platform devices are registered over here.
2) The base address and interrupt number information is programmed in
arch/arm/plat-omap/include/plat/irqs.h
/* Max. 128 level 2 IRQs (OMAP1610), 192 GPIOs (OMAP730/850) and
* 16 MPUIO lines */
#define OMAP_MAX_GPIO_LINES 192
#define IH_GPIO_BASE (128 + IH2_BASE)
#define IH_MPUIO_BASE (OMAP_MAX_GPIO_LINES + IH_GPIO_BASE)
#define OMAP_IRQ_END (IH_MPUIO_BASE + 16)
3) The corresponding device drivers for GPIO keys is at
drivers/input/keyboard/gpio_keys.c
The GPIO keys should be used for wake up key event or any other input events.
4) The corresponding device driver for GPIO LEDS is at
drivers/leds/leds-gpio.c
and drivers/gpio/gpio-omap.c
5) The corresponding device driver for HW monitoring is at
"drivers/hwmon/twl4030-madc-hwmon.c"
For your hands try to customized GPIO keys drivers.
Test GPIO keys drivers can be verified by pressing the keys such as power key or any key specific for wake up the board of sleep state.
I am been travelling and will not be able to take webex session till wednesday. We can have webex session on thursday morning 9am.
I can reply to your mails. Please mail me your queries on working with GPIO pins.
Thanks,
Vandana