1
linux/arch/arm/mach-davinci
Ben Gardiner 75929f5e2b da850-evm: add UI Expander pushbuttons
This patch adds EV_KEYs for each of the 8 pushbuttons on the UI board via a
gpio-key device.

The expander is a tca6416; it controls the SEL_{A,B,C} lines which enable and
disable the peripherals found on the UI board in addition to the 8 pushbuttons
mentioned above. The reason the existing tca6416-keypad driver is not employed
is because there was no aparent way to keep the gpio lines used as
SEL_{A,B,C} registered while simultaneously registering the pushbuttons as a
tca6416-keypad instance.

Some experimentation with the polling interval was performed; we were searching
for the largest polling interval that did not affect the feel of the
responsiveness of the buttons. It is very subjective but 200ms seems to be a
good value that accepts firm pushes but rejects very light ones. The key values
assigned to the buttons were arbitrarily chosen to be F1-F8.

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Reviewed-by: Chris Cordahi <christophercordahi@nanometrics.ca>
CC: Govindarajan, Sriramakrishnan <srk@ti.com>
Reviewed-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
CC: Kevin Hilman <khilman@deeprootsystems.com>
CC: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2010-12-22 11:45:18 -08:00
..
include/mach Merge branch 'davinci-next' into davinci-for-linus 2010-10-21 11:21:55 -07:00
aemif.c davinci: aemif: signedness bug in davinci_aemif_setup_timing() 2010-12-10 07:33:51 -08:00
board-da830-evm.c Merge branch 'davinci-next' into davinci-for-linus 2010-10-21 11:21:55 -07:00
board-da850-evm.c da850-evm: add UI Expander pushbuttons 2010-12-22 11:45:18 -08:00
board-dm355-evm.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-dm355-leopard.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-dm365-evm.c Merge branch 'davinci-next' into davinci-for-linus 2010-10-21 11:21:55 -07:00
board-dm644x-evm.c Merge branch 'davinci-next' into davinci-for-linus 2010-10-21 11:21:55 -07:00
board-dm646x-evm.c Merge branch 'davinci-next' into davinci-for-linus 2010-10-21 11:21:55 -07:00
board-mityomapl138.c davinci: fix remaining board support after io_pgoffst removal 2010-10-21 17:03:36 -07:00
board-neuros-osd2.c Merge branch 'davinci-next' into davinci-for-linus 2010-10-21 11:21:55 -07:00
board-omapl138-hawk.c davinci: fix remaining board support after io_pgoffst removal 2010-10-21 17:03:36 -07:00
board-sffsdr.c Merge branch 'davinci-next' into davinci-for-linus 2010-10-21 11:21:55 -07:00
board-tnetv107x-evm.c Merge branch 'davinci-next' into davinci-for-linus 2010-10-21 11:21:55 -07:00
cdce949.c davinci: misc cleanups from sparse 2010-05-06 15:02:01 -07:00
clock.c davinci: use divide ratio limits from pll_data 2010-12-10 07:33:49 -08:00
clock.h davinci: clock: add support for setting sysclk rate 2010-09-24 07:40:24 -07:00
common.c Davinci: aintc/cpintc - use ioremap() 2010-05-13 10:05:28 -07:00
cp_intc.c Davinci: aintc/cpintc - use ioremap() 2010-05-13 10:05:28 -07:00
cpufreq.c davinci: cpufreq: add support for keeping an additional clock constant 2010-09-24 07:40:25 -07:00
cpuidle.c davinci: cpuidle: move mapping of DDR2 controller registers out of driver 2010-02-04 13:29:38 -08:00
da830.c davinci: da8xx: sparse cleanup: remove duplicate entries in irq priorities 2010-08-05 09:58:23 -07:00
da850.c DA850: Split MMCSD clock into two to support both MMCSD peripherals 2010-09-24 07:40:26 -07:00
devices-da8xx.c davinci: cleanup mdio arch code and switch to phy_id 2010-09-24 07:40:30 -07:00
devices-tnetv107x.c davinci: minor tnetv107x clock tree fixes 2010-12-10 07:33:50 -08:00
devices.c Merge branch 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci 2010-10-25 10:59:31 -07:00
dm355.c ASoC: davinci: fixes for multi-component 2010-11-17 18:36:40 +00:00
dm365.c ASoC: davinci: fixes for multi-component 2010-11-17 18:36:40 +00:00
dm644x.c ASoC: davinci: fixes for multi-component 2010-11-17 18:36:40 +00:00
dm646x.c Merge branch 'davinci-next' into davinci-for-linus 2010-10-21 11:21:55 -07:00
dma.c arm: mach-davinci: check irq2ctlr() result 2010-09-24 07:40:25 -07:00
gpio-tnetv107x.c Davinci: tnetv107x initial gpio support 2010-06-21 12:48:31 -07:00
gpio.c Davinci: gpio - use ioremap() 2010-05-13 10:05:22 -07:00
io.c Davinci: iotable based ioremap() interception 2010-05-13 10:05:31 -07:00
irq.c Davinci: aintc/cpintc - use ioremap() 2010-05-13 10:05:28 -07:00
Kconfig davinci: kconfig: select at24 eeprom for selected boards 2010-12-10 07:33:54 -08:00
Makefile davinci: Initial support for Omapl138-Hawkboard 2010-09-24 07:40:32 -07:00
Makefile.boot
mux.c Davinci: pinmux - use ioremap() 2010-05-13 10:05:29 -07:00
mux.h Davinci: eliminate pinmux offset verbosity 2010-05-06 15:02:09 -07:00
pm.c davinci: add power management support 2010-02-04 13:29:55 -08:00
psc.c davinci: psc: simplify if-statement 2010-12-10 07:33:50 -08:00
serial.c Davinci: serial - conditional reset via pwremu 2010-05-06 15:02:10 -07:00
sleep.S davinci: add power management support 2010-02-04 13:29:55 -08:00
sram.c DaVinci: remove unneeded #include's 2009-11-25 10:21:31 -08:00
time.c davinci: Implement sched_clock() 2010-12-10 07:33:49 -08:00
tnetv107x.c davinci: minor tnetv107x clock tree fixes 2010-12-10 07:33:50 -08:00
usb.c DA8xx: MUSB platform device registration 2009-11-25 10:21:33 -08:00