(resending with LAKML added to CC: after Tony's suggestion) ---------- Original message ---------- Subject: [RFC][PATCH 0/5] omap1: Amstrad Delta: add support for external keyboard Date: Thursday 10 December 2009 Od: Janusz Krzysztofik <jkrzyszt@xxxxxxxxxxxx> Do: linux-omap@xxxxxxxxxxxxxxx This series of patches adds support for an external keyboard (called mailboard) connected to the Amstrad Delta (E3) videophone. The series is based on a patch by Matt Callow, created against linux-omap-2.6.19[1], initially submitted to the e3-hacking mailing list in April 2006[2]. Since the keyboard serial clock line is connected to a GPIO line, it generates interrupts every single bit received. In order to handle this correctly, the code makes use of a FIQ hardware feature. Since all MPU GPIO generated interrupts would be converted to FIQ, the handler must include support for all supported MPU GPIO connected devices: the keyboard, a modem and a hook switch. My modifications to the original patch include: - split into several patches, - refresh against a recent linux version, - a lot of cleanups, mainly to get rid of checkpatch reported issues, - add support for also handling interrupts generated by a GPIO line that the recently added hook switch hangs off. Created and tested against linux-omap for-next, commit 82f1d8f22f2c65e70206e40a6f17688bf64a892c dated 2009-12-02. Janusz Krzysztofik(5) omap1: Amstrad Delta: add FIQ handler for serial keyboard port interrupt processing omap1: Amstrad Delta: add a handler for processing interrupts generated by the FIQ routine omap1: Amstrad Delta: use FIQ for processing MPU GPIO interrupts input: serio: add support for Amstrad Delta serial keyboard port omap1: Amstrad Delta: modify defconfig for external keyboard support arch/arm/configs/ams_delta_defconfig | 2 arch/arm/mach-omap1/Kconfig | 8 arch/arm/mach-omap1/Makefile | 3 arch/arm/mach-omap1/ams-delta-fiq-handler.S | 342 +++++++++++++++++++++++ arch/arm/mach-omap1/ams-delta-fiq.c | 175 +++++++++++ arch/arm/mach-omap1/board-ams-delta.c | 6 arch/arm/mach-omap1/include/mach/ams-delta-fiq.h | 56 +++ arch/arm/plat-omap/include/plat/irqs.h | 4 drivers/input/serio/Kconfig | 9 drivers/input/serio/Makefile | 1 drivers/input/serio/ams_delta_keyboard.c | 240 ++++++++++++++++ 11 files changed, 845 insertions(+), 1 deletion(-) [1] http://the.earth.li/pub/e3/2.6.19/ams-delta-keyboard.patch [2] http://www.earth.li/pipermail/e3-hacking/2006-April/000453.html --- There is one minor issue that I have not dealt with yet: when built with CONFIG_OMAP_RESET_CLOCKS=y, the keyboard driver stops working. I have no idea how I could find which clock I should enable to get it working regardless of boot loader used. Any suggestions? Thanks, Janusz ------------------------------------------------------- -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html