[oe-commits] org.oe.dev merge of '3d37ffd4df7a43763fa8642112a238989e1e85ae'
mickeyl commit
oe at amethyst.openembedded.net
Mon Sep 1 17:51:28 UTC 2008
merge of '3d37ffd4df7a43763fa8642112a238989e1e85ae'
and '5eed113f8f560df1854b52e85453d3987ec071eb'
Author: mickeyl at openembedded.org
Branch: org.openembedded.dev
Revision: a8e634a82c26efbf7bb1487795969c3299da6253
ViewMTN: http://monotone.openembedded.org/revision/info/a8e634a82c26efbf7bb1487795969c3299da6253
Files:
1
site/mips-linux
site/mipsel-linux
files/device_table_add-mmc.txt
files/device_table-collie.txt
packages/images/initramfs-kexec-image.bb
packages/kexecboot/initramfs-kexecboot-image.bb
packages/initrdscripts/initramfs-kexec_1.0.bb
packages/kexecboot/initramfs_kexecboot_1.0.bb
packages/linux/linux-kexecboot-2.6.26
packages/kexecboot/linux-kexecboot-2.6.26
packages/linux/linux-kexecboot.inc
packages/kexecboot/linux-kexecboot.inc
packages/linux/linux-kexecboot_2.6.26.bb
packages/kexecboot/linux-kexecboot_2.6.26.bb
packages/kexecboot
packages/kexecboot/kexecboot_0.3.bb
packages/kexecboot/linux-kexecboot-2.6.26/binutils-buildid-arm.patch
packages/kexecboot/linux-kexecboot-2.6.26/collie.patch
packages/kexecboot/linux-kexecboot-2.6.26/collie_keymap.patch
packages/kexecboot/linux-kexecboot-2.6.26/connectplus-prevent-oops-HACK.patch
packages/kexecboot/linux-kexecboot-2.6.26/connectplus-remove-ide-HACK.patch
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-akita
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-bootcdx86
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-c7x0
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-collie
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-htcuniversal
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-hx2000
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-poodle
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-qemuarm
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-qemux86
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-spitz
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-zylonite
packages/kexecboot/linux-kexecboot-2.6.26/hostap-monitor-mode.patch
packages/kexecboot/linux-kexecboot-2.6.26/hrw-hostapcard.patch
packages/kexecboot/linux-kexecboot-2.6.26/htcuni-acx.patch
packages/kexecboot/linux-kexecboot-2.6.26/htcuni.patch
packages/kexecboot/linux-kexecboot-2.6.26/pxa-serial-hack.patch
packages/kexecboot/linux-kexecboot-2.6.26/pxa_fb_overlay.patch
packages/kexecboot/linux-kexecboot-2.6.26/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
packages/kexecboot/linux-kexecboot-2.6.26/sharpsl-rc-r1.patch
packages/kexecboot/linux-kexecboot-2.6.26/spitz_h_rewrite.patch
packages/kexecboot/linux-kexecboot-2.6.26/versatile-armv6.patch
packages/kexecboot/linux-kexecboot-2.6.26/zaurus-i2c-init.patch
packages/kexecboot/linux-kexecboot-2.6.26/zylonite-boot.patch
packages/kexecboot/linux-kexecboot-2.6.26/zylonite_keypad-r0.patch
packages/kexecboot/linux-kexecboot-2.6.26/zylonite_mtd-r0.patch
packages/kexecboot/linux-kexecboot-2.6.26/zylonite_touch-r0.patch
conf/distro/include/sane-srcrevs.inc
conf/machine/collie.conf
conf/machine/include/zaurus-2.6.inc
packages/freesmartphone/frameworkd_git.bb
packages/linux/linux-rp-2.6.26/defconfig-collie
packages/otpcalc/otpcalc_0.97.bb
packages/webkit/webkit-gtk/GNUmakefile.am
packages/webkit/webkit-gtk/configure.ac
Diffs:
#
# mt diff -r3d37ffd4df7a43763fa8642112a238989e1e85ae -ra8e634a82c26efbf7bb1487795969c3299da6253
#
#
#
# patch "site/mips-linux"
# from [6e62c6b2a9dbd94fcd404675ace77e8f072cca30]
# to [e42e1ecf3d371ff63b016d8802bb5c0ef6f1a688]
#
# patch "site/mipsel-linux"
# from [6e62c6b2a9dbd94fcd404675ace77e8f072cca30]
# to [10c30659ccc13c29d2d29be395d5c9409800880a]
#
============================================================
--- site/mips-linux 6e62c6b2a9dbd94fcd404675ace77e8f072cca30
+++ site/mips-linux e42e1ecf3d371ff63b016d8802bb5c0ef6f1a688
@@ -49,6 +49,13 @@ glib_cv_va_val_copy=${glib_cv_va_val_cop
glib_cv_va_copy=${glib_cv_va_copy=yes}
glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+# glib-2.0
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+ac_cv_func_posix_getgrgid_r=${ac_cv_func_posix_getgrgid_r=yes}
+
# libpcap
ac_cv_linux_vers=${ac_cv_linux_vers=2}
ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
@@ -107,16 +114,16 @@ sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10
# sudo
sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10}
-#intercom
+# intercom
ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
-#lmbench
+# lmbench
ac_cv_uint=${ac_cv_unit=yes}
# D-BUS
ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
-#mono
+# mono
cv_mono_sizeof_sunpath=108
mono_cv_uscore=${mono_cv_uscore=no}
============================================================
--- site/mipsel-linux 6e62c6b2a9dbd94fcd404675ace77e8f072cca30
+++ site/mipsel-linux 10c30659ccc13c29d2d29be395d5c9409800880a
@@ -49,6 +49,13 @@ glib_cv_va_val_copy=${glib_cv_va_val_cop
glib_cv_va_copy=${glib_cv_va_copy=yes}
glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+# glib-2.0
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+ac_cv_func_posix_getgrgid_r=${ac_cv_func_posix_getgrgid_r=yes}
+
# libpcap
ac_cv_linux_vers=${ac_cv_linux_vers=2}
ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
@@ -107,7 +114,7 @@ sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10
# sudo
sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10}
-#intercom
+# intercom
ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
#lmbench
@@ -116,7 +123,7 @@ ac_cv_func_posix_getpwnam_r=${ac_cv_func
# D-BUS
ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
-#mono
+# mono
cv_mono_sizeof_sunpath=108
mono_cv_uscore=${mono_cv_uscore=no}
#
# mt diff -r5eed113f8f560df1854b52e85453d3987ec071eb -ra8e634a82c26efbf7bb1487795969c3299da6253
#
#
#
# rename "files/device_table_add-mmc.txt"
# to "files/device_table-collie.txt"
#
# rename "packages/images/initramfs-kexec-image.bb"
# to "packages/kexecboot/initramfs-kexecboot-image.bb"
#
# rename "packages/initrdscripts/initramfs-kexec_1.0.bb"
# to "packages/kexecboot/initramfs_kexecboot_1.0.bb"
#
# rename "packages/linux/linux-kexecboot-2.6.26"
# to "packages/kexecboot/linux-kexecboot-2.6.26"
#
# rename "packages/linux/linux-kexecboot.inc"
# to "packages/kexecboot/linux-kexecboot.inc"
#
# rename "packages/linux/linux-kexecboot_2.6.26.bb"
# to "packages/kexecboot/linux-kexecboot_2.6.26.bb"
#
# add_dir "packages/kexecboot"
#
# add_file "packages/kexecboot/kexecboot_0.3.bb"
# content [0ca1d7664f36aed1936462e2c084e6fb1fcfcece]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/binutils-buildid-arm.patch"
# content [0a9c96315b18cb403f1014aec2038e9477c2db07]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/collie.patch"
# content [98c325a4a359d1c1486ffc16439210f5f5adb9b6]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/collie_keymap.patch"
# content [d57618e329b43a114c5a25b5b8bdb408600074ff]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/connectplus-prevent-oops-HACK.patch"
# content [e7f07c5193600ba480642fd62dcae173b6b62189]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/connectplus-remove-ide-HACK.patch"
# content [8ffef06194b29e2b22abed7edb6044a5ad4316d7]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-akita"
# content [064c36530b213dae882be1b6bb2cbab8615906f8]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-bootcdx86"
# content [83dbfc0474bb18348ca67718d27d2dcc262095a3]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-c7x0"
# content [9840eec605b360f4cdcf976973331ce274a89b6f]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-collie"
# content [89b2f472fb93e5c5cc06598c758a90308c3c0106]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-htcuniversal"
# content [afcff96c3bba46e09d06200f4431c95fdb419893]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-hx2000"
# content [8d4023e3a924b2d01a60011c6aa81cca7bc83d06]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-poodle"
# content [823d2a1579f2e5312396ba4c0d40a7405bcebd4f]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-qemuarm"
# content [19a7a240f8a4fd58732db1ccb11767dac8fc7221]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-qemux86"
# content [8f2d48208eb79e7a2e00941efcaee2cad2d34737]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-spitz"
# content [121ce2ca2da79de4072c338f63ad9e345f2674bb]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-zylonite"
# content [71cf26b625ad773ac5468869fe7052854759f70f]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/hostap-monitor-mode.patch"
# content [7b6d1b43c24eb7c1135e018aa8ef42f28f5ded00]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/hrw-hostapcard.patch"
# content [57f42102146c4908611f21d2fcf3342587c07066]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/htcuni-acx.patch"
# content [12ac6d8ef90c4bbd6b06a294889b80e6e53aa996]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/htcuni.patch"
# content [1fadf7843ab2feb14c2465130435b34dab802e70]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/pxa-serial-hack.patch"
# content [af916d2b2561b14a1e40383de584a3a60110b5e4]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/pxa_fb_overlay.patch"
# content [585b5ef26c37766ec384c810ab5bd055e44d1e8a]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch"
# content [dd09cc9eb4d3abd338470eb2a61db0e8faf293cb]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/sharpsl-rc-r1.patch"
# content [b6f473089db62d2651b38cd14da388d52cf3f6e1]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/spitz_h_rewrite.patch"
# content [e027c82b90e2c45a5585e588b58af778b473bd62]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/versatile-armv6.patch"
# content [9c7b6904ff1559c5c7163733f9b80bf737a5628b]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/zaurus-i2c-init.patch"
# content [e87d480dedb22e40b8be1f27bad9b1b4946c405a]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/zylonite-boot.patch"
# content [e47e2f442bc69d9679debc127d56ce0ad366ed6b]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/zylonite_keypad-r0.patch"
# content [7c4b5a7fe857418dd72379aaa883204d069abb8e]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/zylonite_mtd-r0.patch"
# content [2be88dd03ad102fe0a6168eb2fa2553841b40aef]
#
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/zylonite_touch-r0.patch"
# content [0e1b8affcaa0a0a6688dc9ebcb1945a70414ddb0]
#
# patch "conf/distro/include/sane-srcrevs.inc"
# from [728a45d37a508823fda1cfd83bb3650ef5d90e8a]
# to [e7f1c0d7193f9a530c664aba1c14dd7ffd668f2b]
#
# patch "conf/machine/collie.conf"
# from [334ab4b53eea3f3be4a7b39b8fac9412b650aef2]
# to [92ccb90cdd6b6e8105a05ee7943626bd0409d6ea]
#
# patch "conf/machine/include/zaurus-2.6.inc"
# from [8294b7a8b586a8481132e82ee1e468c413001cb9]
# to [d5af9251eed68a286197deb3a5761113b02bbd2f]
#
# patch "files/device_table-collie.txt"
# from [fcb6f461f63fe3444ef486405ff97906d7c7fb9a]
# to [e9f73e89845d2657398da6a812c4447e45a3cd5d]
#
# patch "packages/freesmartphone/frameworkd_git.bb"
# from [ce937c1ef7f7922020eaaabc3f9b59a6444b1544]
# to [500c5a7db116c70138d4188704cb83417b655625]
#
# patch "packages/kexecboot/initramfs-kexecboot-image.bb"
# from [5d39e3585a4b60bb1a3abbb4cb5182e5a43b2e7b]
# to [49a37389a0b8c994692be3e879add614ff95ceff]
#
# patch "packages/kexecboot/initramfs_kexecboot_1.0.bb"
# from [19eebe40da32b895da48037b3aadec5cdda88979]
# to [824b48b2024b712c5c2be285049697318d6dc372]
#
# patch "packages/kexecboot/linux-kexecboot.inc"
# from [b1e9350d2c88928146c9e589e65cb802829b65c1]
# to [01dd6603a2a2fb2e9c3c56c171153b59ac8ec096]
#
# patch "packages/linux/linux-rp-2.6.26/defconfig-collie"
# from [1e9b95a0d88a54777e7f56273ef6fdb091b59ba4]
# to [7e764ba8612e45c23027e7edc4467de2fbbe0d95]
#
# patch "packages/otpcalc/otpcalc_0.97.bb"
# from [53c0c060006d6a65c1ca1f03f90de81b52b1ffd9]
# to [bcfa78f34255fbf17658a52b3d47a596146ff8d1]
#
# patch "packages/webkit/webkit-gtk/GNUmakefile.am"
# from [cd85767a047ac2d58ffd39cb9068ef1ab226d847]
# to [19d62160616b80e6684d9f8e2adfcb61e13c2c54]
#
# patch "packages/webkit/webkit-gtk/configure.ac"
# from [a0b6b788b46f20b4bdcf3b5a8338e7f7353fde1e]
# to [8689b13d5c83b815d45d8e8981dd8429880906a0]
#
============================================================
--- packages/kexecboot/kexecboot_0.3.bb 0ca1d7664f36aed1936462e2c084e6fb1fcfcece
+++ packages/kexecboot/kexecboot_0.3.bb 0ca1d7664f36aed1936462e2c084e6fb1fcfcece
@@ -0,0 +1,19 @@
+LICENSE = "GPL"
+PR = "r0"
+DEPENDS = "klibc"
+inherit autotools
+
+# You can create your own *-img.h by doing
+# ./make-image-header.sh <file>.png HAND
+
+SRC_URI = "http://projects.linuxtogo.org/frs/download.php/221/kexecboot-${PV}.tar.gz"
+S = "${WORKDIR}/kexecboot-${PV}"
+
+
+export CC=${TARGET_PREFIX}klcc
+
+# standart oe cflags don't work with klcc
+export CFLAGS=""
+export CPPFLAGS=""
+export LDFLAGS=""
+
============================================================
--- packages/kexecboot/linux-kexecboot-2.6.26/binutils-buildid-arm.patch 0a9c96315b18cb403f1014aec2038e9477c2db07
+++ packages/kexecboot/linux-kexecboot-2.6.26/binutils-buildid-arm.patch 0a9c96315b18cb403f1014aec2038e9477c2db07
@@ -0,0 +1,16 @@
+---
+ arch/arm/kernel/vmlinux.lds.S | 1 +
+ 1 file changed, 1 insertion(+)
+
+Index: linux-2.6.22/arch/arm/kernel/vmlinux.lds.S
+===================================================================
+--- linux-2.6.22.orig/arch/arm/kernel/vmlinux.lds.S 2007-09-11 18:32:29.000000000 +0200
++++ linux-2.6.22/arch/arm/kernel/vmlinux.lds.S 2007-09-11 18:33:42.000000000 +0200
+@@ -94,6 +94,7 @@
+ TEXT_TEXT
+ SCHED_TEXT
+ LOCK_TEXT
++ *(.note.*)
+ #ifdef CONFIG_MMU
+ *(.fixup)
+ #endif
============================================================
--- packages/kexecboot/linux-kexecboot-2.6.26/collie.patch 98c325a4a359d1c1486ffc16439210f5f5adb9b6
+++ packages/kexecboot/linux-kexecboot-2.6.26/collie.patch 98c325a4a359d1c1486ffc16439210f5f5adb9b6
@@ -0,0 +1,1900 @@
+diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
+index c7ad324..daa2e0a 100644
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -998,7 +998,7 @@ config CPU_FREQ_SA1100
+
+ config CPU_FREQ_SA1110
+ bool
+- depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3)
++ depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3 || SA1100_COLLIE)
+ default y
+
+ config CPU_FREQ_INTEGRATOR
+diff --git a/arch/arm/mach-sa1100/dma.c b/arch/arm/mach-sa1100/dma.c
+index e508028..36f726c 100644
+--- a/arch/arm/mach-sa1100/dma.c
++++ b/arch/arm/mach-sa1100/dma.c
+@@ -39,7 +39,7 @@ typedef struct {
+
+ static sa1100_dma_t dma_chan[SA1100_DMA_CHANNELS];
+
+-static spinlock_t dma_list_lock;
++static DEFINE_SPINLOCK(dma_list_lock);
+
+
+ static irqreturn_t dma_irq_handler(int irq, void *dev_id)
+diff --git a/drivers/input/keyboard/locomokbd.c b/drivers/input/keyboard/locomokbd.c
+index 9caed30..79e19bf 100644
+--- a/drivers/input/keyboard/locomokbd.c
++++ b/drivers/input/keyboard/locomokbd.c
+@@ -265,6 +265,7 @@ static int __devinit locomokbd_probe(struct locomo_dev *dev)
+ for (i = 0; i < LOCOMOKBD_NUMKEYS; i++)
+ set_bit(locomokbd->keycode[i], input_dev->keybit);
+ clear_bit(0, input_dev->keybit);
++ locomo_writel(0, locomokbd->base + LOCOMO_KSC);
+
+ /* attempt to get the interrupt */
+ err = request_irq(dev->irq[0], locomokbd_interrupt, 0, "locomokbd", locomokbd);
+diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
+index 9f93c29..33fc5d6 100644
+--- a/drivers/mfd/Kconfig
++++ b/drivers/mfd/Kconfig
+@@ -72,4 +72,10 @@ config MCP_UCB1200_TS
+ tristate "Touchscreen interface support"
+ depends on MCP_UCB1200 && INPUT
+
++config MCP_COLLIE_TS
++ tristate "Touchscreen collie support"
++ depends on MCP_UCB1200 && INPUT && !MCP_UCB1200_TS
++ ---help---
++ Driver for touchscreen on collie - sharp sl-5500.
++
+ endmenu
+diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
+index 33daa2f..0885ccd 100644
+--- a/drivers/mfd/Makefile
++++ b/drivers/mfd/Makefile
+@@ -16,7 +16,7 @@ obj-$(CONFIG_MCP) += mcp-core.o
+ obj-$(CONFIG_MCP_SA11X0) += mcp-sa11x0.o
+ obj-$(CONFIG_MCP_UCB1200) += ucb1x00-core.o
+ obj-$(CONFIG_MCP_UCB1200_TS) += ucb1x00-ts.o
+-
++obj-$(CONFIG_MCP_COLLIE_TS) += collie-ts.o
+ ifeq ($(CONFIG_SA1100_ASSABET),y)
+ obj-$(CONFIG_MCP_UCB1200) += ucb1x00-assabet.o
+ endif
+diff --git a/drivers/mfd/collie-ts.c b/drivers/mfd/collie-ts.c
+new file mode 100644
+index 0000000..ddde5fc
+--- /dev/null
++++ b/drivers/mfd/collie-ts.c
+@@ -0,0 +1,449 @@
++/*
++ * Touchscreen driver for UCB1x00-based touchscreens
++ *
++ * Copyright (C) 2001 Russell King, All Rights Reserved.
++ * Copyright (C) 2005 Pavel Machek
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ * 21-Jan-2002 <jco at ict.es> :
++ *
++ * Added support for synchronous A/D mode. This mode is useful to
++ * avoid noise induced in the touchpanel by the LCD, provided that
++ * the UCB1x00 has a valid LCD sync signal routed to its ADCSYNC pin.
++ * It is important to note that the signal connected to the ADCSYNC
++ * pin should provide pulses even when the LCD is blanked, otherwise
++ * a pen touch needed to unblank the LCD will never be read.
++ */
++#include <linux/module.h>
++#include <linux/moduleparam.h>
++#include <linux/init.h>
++#include <linux/smp.h>
++#include <linux/smp_lock.h>
++#include <linux/sched.h>
++#include <linux/completion.h>
++#include <linux/delay.h>
++#include <linux/string.h>
++#include <linux/input.h>
++#include <linux/device.h>
++#include <linux/freezer.h>
++#include <linux/slab.h>
++#include <linux/kthread.h>
++
++#include <asm/dma.h>
++#include <asm/semaphore.h>
++#include <asm/arch/collie.h>
++#include <asm/mach-types.h>
++
++#include "ucb1x00.h"
++
++struct ucb1x00_ts {
++ struct input_dev *idev;
++ struct ucb1x00 *ucb;
++
++ wait_queue_head_t irq_wait;
++ struct task_struct *rtask;
++ u16 x_res;
++ u16 y_res;
++
++ unsigned int adcsync:1;
++};
++
++static int adcsync;
++
++/**********************************
++
++ ................
++ . . = 340
++ . .
++ . ^.
++ . ^.
++ . ^.
++ . ^.
++ . .
++ . X. = 10
++ . <<<<<<<< Y .
++ ................
++ . Sharp =200
++ . .
++ . - O - .
++ . .
++ ................
++
++**********************************/
++
++
++static inline void ucb1x00_ts_evt_add(struct ucb1x00_ts *ts, u16 pressure, u16 x, u16 y)
++{
++ struct input_dev *idev = ts->idev;
++
++ input_report_abs(idev, ABS_X, x);
++ input_report_abs(idev, ABS_Y, y);
++ input_report_abs(idev, ABS_PRESSURE, pressure);
++ input_report_key(idev, BTN_TOUCH, 1);
++ input_sync(idev);
++}
++
++static inline void ucb1x00_ts_event_release(struct ucb1x00_ts *ts)
++{
++ struct input_dev *idev = ts->idev;
++
++ input_report_abs(idev, ABS_PRESSURE, 0);
++ input_report_key(idev, BTN_TOUCH, 0);
++ input_sync(idev);
++}
++
++/*
++ * Switch to interrupt mode. This set touchscreen to interrupt
++ * mode, so that chip is able to send interrupt.
++ */
++static inline void ucb1x00_ts_mode_int(struct ucb1x00_ts *ts)
++{
++ ucb1x00_reg_write(ts->ucb, UCB_TS_CR,
++ UCB_TS_CR_TSMX_POW | UCB_TS_CR_TSPX_POW |
++ UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_GND |
++ UCB_TS_CR_MODE_INT);
++}
++
++/*
++ * Switch to pressure mode, and read pressure. We don't need to wait
++ * here, since both plates are being driven.
++ *
++ * set_read_pressure() in sharp code
++ */
++static inline void ucb1x00_ts_read_pressure(struct ucb1x00_ts *ts)
++{
++ ucb1x00_io_write(ts->ucb, COLLIE_TC35143_GPIO_TBL_CHK, 0);
++ ucb1x00_reg_write(ts->ucb, UCB_TS_CR,
++ UCB_TS_CR_TSPX_POW | UCB_TS_CR_TSMX_POW |
++ UCB_TS_CR_MODE_POS | UCB_TS_CR_BIAS_ENA);
++
++ ucb1x00_reg_write(ts->ucb, UCB_ADC_CR, ts->ucb->adc_cr |
++ UCB_ADC_INP_AD2 |
++ UCB_ADC_SYNC_ENA);
++ udelay(100);
++ ucb1x00_reg_write(ts->ucb, UCB_ADC_CR, ts->ucb->adc_cr |
++ UCB_ADC_INP_AD2 |
++ UCB_ADC_SYNC_ENA | UCB_ADC_START);
++}
++
++/*
++ * Switch to X position mode and measure Y plate. We switch the plate
++ * configuration in pressure mode, then switch to position mode. This
++ * gives a faster response time. Even so, we need to wait about 55us
++ * for things to stabilise.
++ */
++static inline void ucb1x00_ts_read_xpos(struct ucb1x00_ts *ts)
++{
++ ucb1x00_io_write(ts->ucb, 0, COLLIE_TC35143_GPIO_TBL_CHK);
++ ucb1x00_reg_write(ts->ucb, UCB_TS_CR,
++ UCB_TS_CR_TSMX_GND | UCB_TS_CR_TSPX_POW |
++ UCB_TS_CR_MODE_POS | UCB_TS_CR_BIAS_ENA);
++
++
++ ucb1x00_reg_write(ts->ucb, UCB_ADC_CR, ts->ucb->adc_cr |
++ UCB_ADC_INP_TSPY | UCB_ADC_SYNC_ENA);
++ udelay(100);
++ ucb1x00_reg_write(ts->ucb, UCB_ADC_CR, ts->ucb->adc_cr |
++ UCB_ADC_INP_TSPY | UCB_ADC_SYNC_ENA |
++ UCB_ADC_START);
++}
++
++/*
++ * Switch to Y position mode and measure X plate. We switch the plate
++ * configuration in pressure mode, then switch to position mode. This
++ * gives a faster response time. Even so, we need to wait about 55us
++ * for things to stabilise.
++ */
++static inline void ucb1x00_ts_read_ypos(struct ucb1x00_ts *ts)
++{
++ ucb1x00_io_write(ts->ucb, 0, COLLIE_TC35143_GPIO_TBL_CHK);
++
++ ucb1x00_reg_write(ts->ucb, UCB_TS_CR,
++ UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_POW |
++ UCB_TS_CR_MODE_POS | UCB_TS_CR_BIAS_ENA);
++
++
++ ucb1x00_reg_write(ts->ucb, UCB_ADC_CR, ts->ucb->adc_cr |
++ UCB_ADC_INP_TSPX | UCB_ADC_SYNC_ENA);
++ udelay(100);
++ ucb1x00_reg_write(ts->ucb, UCB_ADC_CR, ts->ucb->adc_cr |
++ UCB_ADC_INP_TSPX | UCB_ADC_SYNC_ENA |
++ UCB_ADC_START);
++}
++%s
>>> DIFF TRUNCATED @ 16K
More information about the Openembedded-commits
mailing list