Author: cmjones
Date: 2012-05-31 12:36:32 +0100 (Thu, 31 May 2012)
New Revision: 1884
Modified:
balloon/branches/menuconfig2/package/kernel/patches/2.6.39.4/keyboard-tt.patch
balloon/branches/menuconfig2/package/kernel/patches/2.6.39.4/spi_tt.patch
Log:
Changed SPI timing to try and make keyboard operation reliable
Modified: balloon/branches/menuconfig2/package/kernel/patches/2.6.39.4/keyboard-tt.patch
===================================================================
--- balloon/branches/menuconfig2/package/kernel/patches/2.6.39.4/keyboard-tt.patch 2012-05-26 15:37:48 UTC (rev 1883)
+++ balloon/branches/menuconfig2/package/kernel/patches/2.6.39.4/keyboard-tt.patch 2012-05-31 11:36:32 UTC (rev 1884)
@@ -1,7 +1,7 @@
Index: linux-2.6.39.4/drivers/input/keyboard/Kconfig
===================================================================
---- linux-2.6.39.4.orig/drivers/input/keyboard/Kconfig 2012-05-25 16:30:55.000000000 +0100
-+++ linux-2.6.39.4/drivers/input/keyboard/Kconfig 2012-05-25 16:31:01.000000000 +0100
+--- linux-2.6.39.4.orig/drivers/input/keyboard/Kconfig 2011-08-03 20:43:28.000000000 +0100
++++ linux-2.6.39.4/drivers/input/keyboard/Kconfig 2012-05-31 10:06:51.000000000 +0100
@@ -530,4 +530,13 @@
To compile this driver as a module, choose M here: the
module will be called w90p910_keypad.
@@ -18,8 +18,8 @@
endif
Index: linux-2.6.39.4/drivers/input/keyboard/Makefile
===================================================================
---- linux-2.6.39.4.orig/drivers/input/keyboard/Makefile 2012-05-25 16:30:55.000000000 +0100
-+++ linux-2.6.39.4/drivers/input/keyboard/Makefile 2012-05-25 16:31:01.000000000 +0100
+--- linux-2.6.39.4.orig/drivers/input/keyboard/Makefile 2011-08-03 20:43:28.000000000 +0100
++++ linux-2.6.39.4/drivers/input/keyboard/Makefile 2012-05-31 10:06:51.000000000 +0100
@@ -48,3 +48,4 @@
obj-$(CONFIG_KEYBOARD_TWL4030) += twl4030_keypad.o
obj-$(CONFIG_KEYBOARD_XTKBD) += xtkbd.o
@@ -28,7 +28,7 @@
Index: linux-2.6.39.4/drivers/input/keyboard/tt-keyboard.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.39.4/drivers/input/keyboard/tt-keyboard.c 2012-05-26 11:34:02.000000000 +0100
++++ linux-2.6.39.4/drivers/input/keyboard/tt-keyboard.c 2012-05-31 12:30:23.000000000 +0100
@@ -0,0 +1,442 @@
+/*
+ * Balloon3 Bubble TT Keyboard Controller Driver
@@ -187,12 +187,12 @@
+
+static void maskKey(struct spi_device *dev, int row, int col) {
+ spiWriteRegData(dev, 0x11, ((row & 0xf) << 4) | (col & 0xf));
-+ msleep(5);
++// msleep(5);
+}
+
+static void unmaskKey(struct spi_device *dev, int row, int col) {
+ spiWriteRegData(dev, 0x12, ((row & 0xf) << 4) | (col & 0xf));
-+ msleep(5);
++// msleep(5);
+}
+
+static void ttkeypad_reset(void)
Modified: balloon/branches/menuconfig2/package/kernel/patches/2.6.39.4/spi_tt.patch
===================================================================
--- balloon/branches/menuconfig2/package/kernel/patches/2.6.39.4/spi_tt.patch 2012-05-26 15:37:48 UTC (rev 1883)
+++ balloon/branches/menuconfig2/package/kernel/patches/2.6.39.4/spi_tt.patch 2012-05-31 11:36:32 UTC (rev 1884)
@@ -1,7 +1,7 @@
Index: linux-2.6.39.4/drivers/spi/Kconfig
===================================================================
---- linux-2.6.39.4.orig/drivers/spi/Kconfig 2011-08-03 20:43:28.000000000 +0100
-+++ linux-2.6.39.4/drivers/spi/Kconfig 2012-05-02 09:35:11.000000000 +0100
+--- linux-2.6.39.4.orig/drivers/spi/Kconfig 2012-05-31 12:30:37.000000000 +0100
++++ linux-2.6.39.4/drivers/spi/Kconfig 2012-05-31 12:31:04.000000000 +0100
@@ -386,6 +386,21 @@
SPI driver for the Topcliff PCH (Platform Controller Hub) SPI bus
used in some x86 embedded processors.
@@ -26,8 +26,8 @@
depends on GENERIC_GPIO && CPU_TX49XX
Index: linux-2.6.39.4/drivers/spi/Makefile
===================================================================
---- linux-2.6.39.4.orig/drivers/spi/Makefile 2011-08-03 20:43:28.000000000 +0100
-+++ linux-2.6.39.4/drivers/spi/Makefile 2012-05-02 09:35:11.000000000 +0100
+--- linux-2.6.39.4.orig/drivers/spi/Makefile 2012-05-31 12:30:37.000000000 +0100
++++ linux-2.6.39.4/drivers/spi/Makefile 2012-05-31 12:31:04.000000000 +0100
@@ -54,6 +54,7 @@
obj-$(CONFIG_SPI_SH_MSIOF) += spi_sh_msiof.o
obj-$(CONFIG_SPI_STMP3XXX) += spi_stmp.o
@@ -39,8 +39,8 @@
Index: linux-2.6.39.4/drivers/spi/spi_tt.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.39.4/drivers/spi/spi_tt.c 2012-05-02 09:35:11.000000000 +0100
-@@ -0,0 +1,291 @@
++++ linux-2.6.39.4/drivers/spi/spi_tt.c 2012-05-31 12:35:07.000000000 +0100
+@@ -0,0 +1,293 @@
+/*
+ * Copyright 20011 Toby Churchill Ltd
+ * Based on spi_imx.c
@@ -129,6 +129,8 @@
+ break;
+ case SPI_TT_DEVICE_KEYBOARD:
+ samosa_write8((dev_is_activehigh ^ active) ? SAMOSA_ADDR_CONTROL_REG_2_SET : SAMOSA_ADDR_CONTROL_REG_2_CLR, (1 << CS_KBD_BIT));
++ // delay to allow slow keyboard microcontroller to wake up
++ udelay(50);
+ break;
+ case SPI_TT_DEVICE_USER_DISPLAY:
+ samosa_write8((dev_is_activehigh ^ active) ? SAMOSA_ADDR_CONTROL_REG_3_SET : SAMOSA_ADDR_CONTROL_REG_3_CLR, (1 << CS_USER_DISPLAY_BIT));
@@ -198,7 +200,7 @@
+#endif
+ }
+ spi_tt_wait_ready(spi); // likely unnecessary
-+ udelay(30); // wait between bytes
++ udelay(50); // wait between bytes
+ if (rx) {
+ if ( spi->chip_select == SPI_TT_DEVICE_RTC) {
+ u8 rx_data = samosa_read8(SAMOSA_ADDR_RTC_SPI_DATA);
@@ -335,7 +337,7 @@
Index: linux-2.6.39.4/include/linux/spi/spi_tt.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.39.4/include/linux/spi/spi_tt.h 2012-05-04 09:27:13.000000000 +0100
++++ linux-2.6.39.4/include/linux/spi/spi_tt.h 2012-05-31 12:31:04.000000000 +0100
@@ -0,0 +1,69 @@
+#ifndef SPI_TT_H
+#define SPI_TT_H
@@ -408,8 +410,8 @@
+#endif
Index: linux-2.6.39.4/arch/arm/mach-pxa/balloon3.c
===================================================================
---- linux-2.6.39.4.orig/arch/arm/mach-pxa/balloon3.c 2012-05-02 09:35:10.000000000 +0100
-+++ linux-2.6.39.4/arch/arm/mach-pxa/balloon3.c 2012-05-04 09:25:50.000000000 +0100
+--- linux-2.6.39.4.orig/arch/arm/mach-pxa/balloon3.c 2012-05-31 12:30:37.000000000 +0100
++++ linux-2.6.39.4/arch/arm/mach-pxa/balloon3.c 2012-05-31 12:31:04.000000000 +0100
@@ -54,6 +54,12 @@
#include <mach/irda.h>
#include <mach/ohci.h>