diff options
44 files changed, 27731 insertions, 461 deletions
diff --git a/conf/checksums.ini b/conf/checksums.ini index 93e3738bca..948a4bfbd7 100644 --- a/conf/checksums.ini +++ b/conf/checksums.ini @@ -178,6 +178,10 @@ sha256=fe044ec9817a31f2b76f701b2cfd980809676943a901ba3d49200162807fa1f9 md5=82c698151f934eb28c65d1838cee7d9e sha256=d392567cb39b4ea606c0e0acafd8ed72320311b995336ece5fcefcf9b150e9d7 +[http://hal.freedesktop.org/releases/DeviceKit-003.tar.gz] +md5=8b311547f4a2c8c6b6598e3318d66cd7 +sha256=d2d21f995d1a152ca2d8beea6d37f31e48cca034b82ceb7322f39422e849e9cf + [http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Digest-SHA1-2.11.tar.gz] md5=2449bfe21d6589c96eebf94dae24df6b sha256=3cebe0a6894daee3bfa5d9619fc90e7619cb6a77ac1b04d027341cd6033ae989 @@ -7130,6 +7134,10 @@ sha256=719f2bbd79d55cdd6f5e31b49cec49df71ddb32a4439dba678de0e09330096da md5=18be4e7a1ac713bda93d00fee20bbef8 sha256=c119ce82f0e42d3412420c42c1ead75e0b9de67131a5c9dd3cdab509f65ddfdd +[http://avr32linux.org/twiki/pub/Main/GDBPatches/gdb-6.7.1.atmel.1.0.3.tar.bz2] +md5=8a5cf43042a84ec0da0aca301bd1dae4 +sha256=2c8bbd8cc3323899e698fad071cc0e4e8880c178deaa849073ca4a2c9bc176f2 + [ftp://ftp.gnu.org/gnu/gdb/gdb-6.7.1.tar.gz] md5=7a74dcafdd39d18678e5b5cc2c50bb0c sha256=66e6ff871a7ed71ea433b8341ffebbe48590119e43a42953d392f5ce517c95e4 @@ -7878,6 +7886,10 @@ sha256=9605f7aee1b8d58cac10dd514c2bdfa340089d85b149db828816d18ac3ebaff8 md5=4a7c977086af47fe43ea08b29ab93503 sha256=939c8a8f819b8c39e4e355a764b2a47c6959d57029c5134a51a282d7cccd60c5 +[http://ftp.gnome.org/pub/GNOME/sources/gnome-bluetooth/2.27/gnome-bluetooth-2.27.4.tar.bz2] +md5=e34180aa90d5d718b819572b21b76d08 +sha256=250fede462d5ec0576c0ab9c7f965fb56dc5de6e1180405da8cf0e867a2eca3a + [http://ftp.gnome.org/pub/GNOME/sources/gnome-common/2.18/gnome-common-2.18.0.tar.bz2] md5=567172e685fc0783b1d6ab9843a85d6a sha256=ba28c1017e7e4212db16ada3f44cb446b6637c9c4fe16c0e2c2a51c94c46bc5b @@ -9998,6 +10010,10 @@ sha256=bbe44edc3d519028761a22b282b912ab8f43db2003c6791c295c4a52f5db48bf md5=31d1f505afe3ba1b351e18612aa57a70 sha256=bbe44edc3d519028761a22b282b912ab8f43db2003c6791c295c4a52f5db48bf +[http://downloads.sourceforge.net/haserl/haserl-0.9.25.tar.gz] +md5=906c634a2af4ac3a4b656ef4e244c4cd +sha256=d33ba27082c8bc4427ccebd8a56cf9aef190391f0361398197efb03210910f0e + [http://www.server-side.de/download/havp-0.82.tar.gz] md5=9e6a16b7d074782d1c62f1f7316e56ab sha256=e2db8d3383cd8eca6a18ebee85875de895f3ac7414eab091a87f052d79a87b09 @@ -22806,6 +22822,10 @@ sha256=5cd64b5ac52720a7f60015e01696422277ecc459e89dce8b16d457f30a9409ab md5=cb11d3d74eee4d31124523d90d8c31fa sha256=0c0afa2816482e087987f71958b656ff0c122032f5e3897a8d17daca5bc14115 +[ftp://ftp.denx.de/pub/u-boot/u-boot-2009.03.tar.bz2] +md5=285e2184d2efef50e0fe43b71d2a7b11 +sha256=a2889bee9c45575b284564dbc27cf3dc6cb9833d4ff643976a1b3dba2d763f86 + [http://linux.omap.com/pub/bootloader/2430sdp/source/u-boot-SEP1106.tar.gz] md5=49c07dec9e1be69fd01d46f47ec03731 sha256=a090786113b02647413ebc15888af269f2e6d50f73cbb94b0619cc1702911dae @@ -22910,6 +22930,10 @@ sha256=cc9f58ff58fbd3f5868e1f1e368e3c93e1f441afd0ac1dcbd5d01a9ce5b5b0d7 md5=a3fcdcd21b2f33d598f45a68fff892bd sha256=ee3922bd46dbdc406be5d498be5bc062a0b39f05f1c0a1b22c3657eb0e805975 +[http://kernel.org/pub/linux/utils/kernel/hotplug/udev-141.tar.gz] +md5=86382b7bbc64459e714c65a2a4e10916 +sha256=001be4a8963c48e7debc82c6078562d087a2979da63e558a5e3613c03725c377 + [http://udhcp.busybox.net/source/udhcp-0.9.8.tar.gz] md5=2d7e548820d2ded5e183933cb701defb sha256=da0ca1e821e3fa7cfbe73ddb1480b921002ee992f5e5fbc611422c103b907443 diff --git a/conf/distro/include/sane-srcrevs.inc b/conf/distro/include/sane-srcrevs.inc index 333abf423c..2734271267 100644 --- a/conf/distro/include/sane-srcrevs.inc +++ b/conf/distro/include/sane-srcrevs.inc @@ -257,7 +257,7 @@ SRCREV_pn-zhone ?= "f38cc52fbf11f7fe945797a6b8ade29ed479d924" # Enlightenment Foundation Libraries # Caution: This is not alphabetically, but (roughly) dependency-sorted. # Please leave it like that. -EFL_SRCREV ?= "39916" +EFL_SRCREV ?= "40087" SRCREV_pn-edb-native ?= "${EFL_SRCREV}" SRCREV_pn-edb ?= "${EFL_SRCREV}" SRCREV_pn-eina-native ?= "${EFL_SRCREV}" diff --git a/conf/machine/hipox.conf b/conf/machine/hipox.conf index 728ad2bb0d..f3a31cf63b 100644 --- a/conf/machine/hipox.conf +++ b/conf/machine/hipox.conf @@ -12,7 +12,7 @@ PREFERRED_PROVIDER_virtual/kernel = "linux" KERNEL_IMAGETYPE = "uImage" -PREFERRED_VERSION_u-boot = "1.1.2" +PREFERRED_VERSION_u-boot = "2009.03" UBOOT_LOADADDRESS = "0x48008000" UBOOT_ENTRYPOINT = "0x48008000" UBOOT_ARCH = "arm" diff --git a/conf/machine/micro2440.conf b/conf/machine/micro2440.conf new file mode 100644 index 0000000000..17aa0d310a --- /dev/null +++ b/conf/machine/micro2440.conf @@ -0,0 +1,19 @@ +#@TYPE: Machine +#@Name: FriendlyARM micro2440 +#@DESCRIPTION: Machine configuration for FriendlyARM micro2440 Samsung 2440 based board + +TARGET_ARCH = "arm" + +PREFERRED_PROVIDER_virtual/kernel = "linux" + +# used by sysvinit_2 +SERIAL_CONSOLE = "115200 ttySAC0" + +IMAGE_FSTYPES = "jffs2 tar.gz" + +MACHINE_FEATURES = "kernel26 touchscreen screen usbhost usbgadget sound alsa ethernet" + +require conf/machine/include/tune-arm920t.inc + +KERNEL_IMAGETYPE = "uImage" +EXTRA_IMAGECMD_jffs2 = "--pad --little-endian -e16KiB -s 0x200 -n" diff --git a/recipes/efl1/evas-native_svn.bb b/recipes/efl1/evas-native_svn.bb index 56723ca9ab..4a17942c78 100644 --- a/recipes/efl1/evas-native_svn.bb +++ b/recipes/efl1/evas-native_svn.bb @@ -1,6 +1,6 @@ require evas.inc inherit native -DEPENDS = "freetype-native libpng-native jpeg-native eet-native eina-native" +DEPENDS = "freetype-native libpng-native jpeg-native eet-native eina-native libfribidi-native" PR = "r1" EXTRA_OECONF = "\ diff --git a/recipes/efl1/evas.inc b/recipes/efl1/evas.inc index 0fb01f31a7..d2a773805d 100644 --- a/recipes/efl1/evas.inc +++ b/recipes/efl1/evas.inc @@ -1,7 +1,7 @@ DESCRIPTION = "Evas is the Enlightenment canvas API" LICENSE = "MIT BSD" # can also depend on valgrind, libsdl-x11, directfb -DEPENDS = "eina eet freetype jpeg libpng virtual/libx11 libxext libxrender fontconfig" +DEPENDS = "eina eet freetype jpeg libpng virtual/libx11 libxext libxrender fontconfig libfribidi" PV = "0.9.9.050+svnr${SRCREV}" PR = "r1" diff --git a/recipes/gnome/gnome-bluetooth_2.27.4.bb b/recipes/gnome/gnome-bluetooth_2.27.4.bb new file mode 100644 index 0000000000..70377a6a3c --- /dev/null +++ b/recipes/gnome/gnome-bluetooth_2.27.4.bb @@ -0,0 +1,15 @@ +LICENSE = "GPL" +SECTION = "x11/gnome" + +inherit autotools gnome pkgconfig + +DEPENDS = "obexd obex-data-server gconf-dbus gtk+ dbus-glib libunique libnotify hal bluez4 gnome-keyring" +RRECOMMENDS_${PN} += "obexd obex-data-server" +RCONFLICTS_${PN} = "bluez-gnome" + +do_configure_prepend() { + sed -i -e s:docs::g ${S}/Makefile.am + echo "EXTRA_DIST = version.xml" > gnome-doc-utils.make + echo "EXTRA_DIST = version.xml" > gtk-doc.make +} + diff --git a/recipes/haserl/haserl_0.9.25.bb b/recipes/haserl/haserl_0.9.25.bb new file mode 100644 index 0000000000..d1a06007c0 --- /dev/null +++ b/recipes/haserl/haserl_0.9.25.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2007-2008, Stelios Koroneos - Digital OPSiS, All Rights Reserved +# Released under the MIT license (see packages/COPYING) +DESCRIPTION = "A cgi wrapper for embedding shell scripts into html documents" +SECTION = "console/network" +LICENSE = "GPL" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}-${PV}.tar.gz" + +inherit autotools gettext diff --git a/recipes/images/initramfs-image.bb b/recipes/images/initramfs-image.bb index d3d1d751cf..e5189849ba 100644 --- a/recipes/images/initramfs-image.bb +++ b/recipes/images/initramfs-image.bb @@ -2,7 +2,7 @@ # command line, from teh choices of block device, loop back images (including # recursive) and NFS. -IMAGE_INSTALL = "initramfs-module-block initramfs-module-loop initramfs-module-nfs" +IMAGE_INSTALL = "busybox-static initramfs-module-block initramfs-module-loop initramfs-module-nfs" IMAGE_LINGUAS = "" # Remove any kernel-image that the kernel-module-* packages may have pulled in. diff --git a/recipes/libfribidi/libfribidi-native_0.10.4.bb b/recipes/libfribidi/libfribidi-native_0.10.4.bb new file mode 100644 index 0000000000..62d706dfc5 --- /dev/null +++ b/recipes/libfribidi/libfribidi-native_0.10.4.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "Fribidi library for bidirectional text" +SECTION = "libs" +PRIORITY = "optional" + +inherit autotools pkgconfig native + +PR = "r0" + +S = "${WORKDIR}/fribidi-${PV}" + +SRC_URI = "${SOURCEFORGE_MIRROR}/fribidi/fribidi-${PV}.tar.bz2 \ + file://libtool-update.patch;patch=1" + +#PACKAGES += " ${PN}-bin" +FILES_${PN} = "${libdir}/lib*.so.*" +#FILES_${PN}-bin = "${libdir}/uu*" + +do_configure_prepend () { +# this version of libtool is old - we have to nobble this file to get it to litoolize + rm ltconfig + rm aclocal.m4 + rm acinclude.m4 +} + +do_stage () { + oe_libinstall -a -so -C .libs libfribidi ${STAGING_LIBDIR} + autotools_stage_includes +} + diff --git a/recipes/linux/linux-2.6.24/hipox/hipox.patch b/recipes/linux/linux-2.6.24/hipox/hipox.patch index 686876fb1e..e2d857570a 100644 --- a/recipes/linux/linux-2.6.24/hipox/hipox.patch +++ b/recipes/linux/linux-2.6.24/hipox/hipox.patch @@ -23398,7 +23398,7 @@ diff -Nurd linux-2.6.24/arch/arm/mach-hipox/hipox.c linux-2.6.24-oxe810/arch/arm +#endif // CONFIG_HIPOX_SATA_POWER_2 +} + -+MACHINE_START(OXNAS, "Oxsemi NAS") ++MACHINE_START(HIPOX, "OXE810 based HydraIP") + /* Maintainer: Oxford Semiconductor Ltd */ +#ifdef CONFIG_ARCH_HIPOX_UART1 + .phys_io = UART_1_BASE_PA, diff --git a/recipes/linux/linux-2.6.29/ep93xx/add-edb9301.patch b/recipes/linux/linux-2.6.29/ep93xx/add-edb9301.patch new file mode 100644 index 0000000000..48e7c18f42 --- /dev/null +++ b/recipes/linux/linux-2.6.29/ep93xx/add-edb9301.patch @@ -0,0 +1,112 @@ +Add Cirrus Logic EDB9301 Dev Board to arch/arm/mach-ep93xx + +Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> + +--- + +diff --git a/arch/arm/mach-ep93xx/Kconfig b/arch/arm/mach-ep93xx/Kconfig +index 56bddce..9ca8974 100644 +--- a/arch/arm/mach-ep93xx/Kconfig ++++ b/arch/arm/mach-ep93xx/Kconfig +@@ -15,6 +15,12 @@ config MACH_ADSSPHERE + Say 'Y' here if you want your kernel to support the ADS + Sphere board. + ++config MACH_EDB9301 ++ bool "Support Cirrus Logic EDB9301" ++ help ++ Say 'Y' here if you want your kernel to support the Cirrus ++ Logic EDB9301 Evaluation Board. ++ + config MACH_EDB9302 + bool "Support Cirrus Logic EDB9302" + help +diff --git a/arch/arm/mach-ep93xx/Makefile +b/arch/arm/mach-ep93xx/Makefile +index 944e42d..7e7536f 100644 +--- a/arch/arm/mach-ep93xx/Makefile ++++ b/arch/arm/mach-ep93xx/Makefile +@@ -7,6 +7,7 @@ obj-n := + obj- := + + obj-$(CONFIG_MACH_ADSSPHERE) += adssphere.o ++obj-$(CONFIG_MACH_EDB9301) += edb9301.o + obj-$(CONFIG_MACH_EDB9302) += edb9302.o + obj-$(CONFIG_MACH_EDB9302A) += edb9302a.o + obj-$(CONFIG_MACH_EDB9307) += edb9307.o +diff --git a/arch/arm/mach-ep93xx/edb9301.c +b/arch/arm/mach-ep93xx/edb9301.c +new file mode 100644 +index 0000000..4108c7c +--- /dev/null ++++ b/arch/arm/mach-ep93xx/edb9301.c +@@ -0,0 +1,68 @@ ++/* ++ * arch/arm/mach-ep93xx/edb9301.c ++ * Cirrus Logic EDB9301 support. ++ * ++ * Copyright (C) 2009 H Hartley Sweeten <hsweeten@visionengravers.com> ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or (at ++ * your option) any later version. ++ */ ++ ++#include <linux/kernel.h> ++#include <linux/init.h> ++#include <linux/mm.h> ++#include <linux/sched.h> ++#include <linux/interrupt.h> ++#include <linux/ioport.h> ++#include <linux/mtd/physmap.h> ++#include <linux/platform_device.h> ++#include <linux/io.h> ++#include <linux/i2c.h> ++#include <mach/hardware.h> ++#include <asm/mach-types.h> ++#include <asm/mach/arch.h> ++ ++static struct physmap_flash_data edb9301_flash_data = { ++ .width = 2, ++}; ++ ++static struct resource edb9301_flash_resource = { ++ .start = EP93XX_CS6_PHYS_BASE, ++ .end = EP93XX_CS6_PHYS_BASE + SZ_16M - 1, ++ .flags = IORESOURCE_MEM, ++}; ++ ++static struct platform_device edb9301_flash = { ++ .name = "physmap-flash", ++ .id = 0, ++ .dev = { ++ .platform_data = &edb9301_flash_data, ++ }, ++ .num_resources = 1, ++ .resource = &edb9301_flash_resource, ++}; ++ ++static struct ep93xx_eth_data edb9301_eth_data = { ++ .phy_id = 1, ++}; ++ ++static void __init edb9301_init_machine(void) ++{ ++ ep93xx_init_devices(); ++ platform_device_register(&edb9301_flash); ++ ++ ep93xx_register_eth(&edb9301_eth_data, 1); ++} ++ ++MACHINE_START(EDB9301, "Cirrus Logic EDB9301 Evaluation Board") ++ /* Maintainer: H Hartley Sweeten <hsweeten@visionengravers.com> */ ++ .phys_io = EP93XX_APB_PHYS_BASE, ++ .io_pg_offst = ((EP93XX_APB_VIRT_BASE) >> 18) & 0xfffc, ++ .boot_params = EP93XX_SDCE3_PHYS_BASE_SYNC + 0x100, ++ .map_io = ep93xx_map_io, ++ .init_irq = ep93xx_init_irq, ++ .timer = &ep93xx_timer, ++ .init_machine = edb9301_init_machine, ++MACHINE_END + diff --git a/recipes/linux/linux-2.6.29/ep93xx/edb9301-fix-machine-id.patch b/recipes/linux/linux-2.6.29/ep93xx/edb9301-fix-machine-id.patch new file mode 100644 index 0000000000..65bfc9bc5e --- /dev/null +++ b/recipes/linux/linux-2.6.29/ep93xx/edb9301-fix-machine-id.patch @@ -0,0 +1,19 @@ +--- + arch/arm/tools/mach-types | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- linux-2.6.29.orig/arch/arm/tools/mach-types ++++ linux-2.6.29/arch/arm/tools/mach-types +@@ -473,11 +473,11 @@ hawk MACH_HAWK HAWK 456 + ccat91sbc001 MACH_CCAT91SBC001 CCAT91SBC001 457 + expresso MACH_EXPRESSO EXPRESSO 458 + h4000 MACH_H4000 H4000 459 + dino MACH_DINO DINO 460 + ml675k MACH_ML675K ML675K 461 +-edb9301 MACH_EDB9301 EDB9301 462 ++edb9301 MACH_EDB9301 EDB9301 454 + edb9315 MACH_EDB9315 EDB9315 463 + reciva_tt MACH_RECIVA_TT RECIVA_TT 464 + cstcb01 MACH_CSTCB01 CSTCB01 465 + cstcb1 MACH_CSTCB1 CSTCB1 466 + shadwell MACH_SHADWELL SHADWELL 467 diff --git a/recipes/linux/linux-2.6.29/micro2440/0001-S3C-Backported-the-s3c2410-touchscreen-from-openmok.patch b/recipes/linux/linux-2.6.29/micro2440/0001-S3C-Backported-the-s3c2410-touchscreen-from-openmok.patch new file mode 100644 index 0000000000..4e3b3001f8 --- /dev/null +++ b/recipes/linux/linux-2.6.29/micro2440/0001-S3C-Backported-the-s3c2410-touchscreen-from-openmok.patch @@ -0,0 +1,792 @@ +From d13aef4d7aff3b01ea349a07b899debe094bf33e Mon Sep 17 00:00:00 2001 +From: Michel Pollet <buserror@gmail.com> +Date: Fri, 13 Mar 2009 18:43:43 +0000 +Subject: [PATCH] S3C: Backported the s3c2410 touchscreen from openmoko + +This peripheral is pretty essential for the s3c and is missing +from mainstream linux. This is a straight port of the moko +kernel. +--- + arch/arm/mach-s3c2410/include/mach/ts.h | 35 ++ + arch/arm/plat-s3c/include/plat/devs.h | 3 +- + arch/arm/plat-s3c24xx/devs.c | 19 + + arch/arm/plat-s3c24xx/s3c244x.c | 3 + + drivers/input/touchscreen/Kconfig | 18 + + drivers/input/touchscreen/Makefile | 1 + + drivers/input/touchscreen/s3c2410_ts.c | 609 +++++++++++++++++++++++++++++++ + 7 files changed, 687 insertions(+), 1 deletions(-) + create mode 100644 arch/arm/mach-s3c2410/include/mach/ts.h + create mode 100644 drivers/input/touchscreen/s3c2410_ts.c + +diff --git a/arch/arm/mach-s3c2410/include/mach/ts.h b/arch/arm/mach-s3c2410/include/mach/ts.h +new file mode 100644 +index 0000000..1b451ea +--- /dev/null ++++ b/arch/arm/mach-s3c2410/include/mach/ts.h +@@ -0,0 +1,35 @@ ++/* arch/arm/mach-s3c2410/include/mach/ts.h ++ * ++ * Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org> ++ * ++ * ++ * 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. ++ * ++ * ++ * Changelog: ++ * 24-Mar-2005 RTP Created file ++ * 03-Aug-2005 RTP Renamed to ts.h ++ */ ++ ++#ifndef __ASM_ARM_TS_H ++#define __ASM_ARM_TS_H ++ ++#include <../drivers/input/touchscreen/ts_filter.h> ++ ++struct s3c2410_ts_mach_info { ++ int delay; ++ int presc; ++ /* array of pointers to filter APIs we want to use, in order ++ * ends on first NULL, all NULL is OK ++ */ ++ struct ts_filter_api *filter_sequence[MAX_TS_FILTER_CHAIN]; ++ /* array of configuration ints, one for each filter above */ ++ void *filter_config[MAX_TS_FILTER_CHAIN]; ++}; ++ ++void set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info); ++ ++#endif /* __ASM_ARM_TS_H */ ++ +diff --git a/arch/arm/plat-s3c/include/plat/devs.h b/arch/arm/plat-s3c/include/plat/devs.h +index 6b1b523..cf160ab 100644 +--- a/arch/arm/plat-s3c/include/plat/devs.h ++++ b/arch/arm/plat-s3c/include/plat/devs.h +@@ -45,10 +45,11 @@ extern struct platform_device s3c_device_nand; + + extern struct platform_device s3c_device_usbgadget; + ++extern struct platform_device s3c_device_ts; ++ + /* s3c2440 specific devices */ + + #ifdef CONFIG_CPU_S3C2440 + + extern struct platform_device s3c_device_camif; +- + #endif +diff --git a/arch/arm/plat-s3c24xx/devs.c b/arch/arm/plat-s3c24xx/devs.c +index 16ac01d..a3f8102 100644 +--- a/arch/arm/plat-s3c24xx/devs.c ++++ b/arch/arm/plat-s3c24xx/devs.c +@@ -26,6 +26,8 @@ + #include <asm/mach/irq.h> + #include <mach/fb.h> + #include <mach/hardware.h> ++#include <mach/ts.h> ++#include <asm/io.h> + #include <asm/irq.h> + + #include <plat/regs-serial.h> +@@ -229,6 +231,23 @@ struct platform_device s3c_device_nand = { + + EXPORT_SYMBOL(s3c_device_nand); + ++/* Touchscreen */ ++struct platform_device s3c_device_ts = { ++ .name = "s3c2410-ts", ++ .id = -1, ++}; ++ ++EXPORT_SYMBOL(s3c_device_ts); ++ ++static struct s3c2410_ts_mach_info s3c2410ts_info; ++ ++void set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info) ++{ ++ memcpy(&s3c2410ts_info,hard_s3c2410ts_info,sizeof(struct s3c2410_ts_mach_info)); ++ s3c_device_ts.dev.platform_data = &s3c2410ts_info; ++} ++EXPORT_SYMBOL(set_s3c2410ts_info); ++ + /* USB Device (Gadget)*/ + + static struct resource s3c_usbgadget_resource[] = { +diff --git a/arch/arm/plat-s3c24xx/s3c244x.c b/arch/arm/plat-s3c24xx/s3c244x.c +index c1de6bb..df78a15 100644 +--- a/arch/arm/plat-s3c24xx/s3c244x.c ++++ b/arch/arm/plat-s3c24xx/s3c244x.c +@@ -59,6 +59,8 @@ void __init s3c244x_init_uarts(struct s3c2410_uartcfg *cfg, int no) + s3c24xx_init_uartdevs("s3c2440-uart", s3c2410_uart_resources, cfg, no); + } + ++extern struct platform_device s3c_device_ts; ++ + void __init s3c244x_map_io(void) + { + /* register our io-tables */ +@@ -70,6 +72,7 @@ void __init s3c244x_map_io(void) + s3c_device_sdi.name = "s3c2440-sdi"; + s3c_device_i2c0.name = "s3c2440-i2c"; + s3c_device_nand.name = "s3c2440-nand"; ++ s3c_device_ts.name = "s3c2440-ts"; + s3c_device_usbgadget.name = "s3c2440-usbgadget"; + } + +diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig +index bb6486a..9076492 100644 +--- a/drivers/input/touchscreen/Kconfig ++++ b/drivers/input/touchscreen/Kconfig +@@ -79,6 +79,24 @@ config TOUCHSCREEN_FUJITSU + To compile this driver as a module, choose M here: the + module will be called fujitsu-ts. + ++config TOUCHSCREEN_S3C2410 ++ tristate "Samsung S3C2410 touchscreen input driver" ++ depends on ARCH_S3C2410 && INPUT && INPUT_TOUCHSCREEN ++ select SERIO ++ help ++ Say Y here if you have the s3c2410 touchscreen. ++ ++ If unsure, say N. ++ ++ To compile this driver as a module, choose M here: the ++ module will be called s3c2410_ts. ++ ++config TOUCHSCREEN_S3C2410_DEBUG ++ boolean "Samsung S3C2410 touchscreen debug messages" ++ depends on TOUCHSCREEN_S3C2410 ++ help ++ Select this if you want debug messages ++ + config TOUCHSCREEN_GUNZE + tristate "Gunze AHL-51S touchscreen" + select SERIO +diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile +index d3375af..fbcde99 100644 +--- a/drivers/input/touchscreen/Makefile ++++ b/drivers/input/touchscreen/Makefile +@@ -34,3 +34,4 @@ wm97xx-ts-$(CONFIG_TOUCHSCREEN_WM9705) += wm9705.o + wm97xx-ts-$(CONFIG_TOUCHSCREEN_WM9712) += wm9712.o + wm97xx-ts-$(CONFIG_TOUCHSCREEN_WM9713) += wm9713.o + obj-$(CONFIG_TOUCHSCREEN_WM97XX_MAINSTONE) += mainstone-wm97xx.o ++obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o +diff --git a/drivers/input/touchscreen/s3c2410_ts.c b/drivers/input/touchscreen/s3c2410_ts.c +new file mode 100644 +index 0000000..ea0777c +--- /dev/null ++++ b/drivers/input/touchscreen/s3c2410_ts.c +@@ -0,0 +1,609 @@ ++/* ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * Copyright (c) 2004 Arnaud Patard <arnaud.patard@rtp-net.org> ++ * iPAQ H1940 touchscreen support ++ * ++ * ChangeLog ++ * ++ * 2004-09-05: Herbert Pƶtzl <herbert@13thfloor.at> ++ * - added clock (de-)allocation code ++ * ++ * 2005-03-06: Arnaud Patard <arnaud.patard@rtp-net.org> ++ * - h1940_ -> s3c2410 (this driver is now also used on the n30 ++ * machines :P) ++ * - Debug messages are now enabled with the config option ++ * TOUCHSCREEN_S3C2410_DEBUG ++ * - Changed the way the value are read ++ * - Input subsystem should now work ++ * - Use ioremap and readl/writel ++ * ++ * 2005-03-23: Arnaud Patard <arnaud.patard@rtp-net.org> ++ * - Make use of some undocumented features of the touchscreen ++ * controller ++ * ++ * 2007-05-23: Harald Welte <laforge@openmoko.org> ++ * - Add proper support for S32440 ++ * ++ * 2008-06-23: Andy Green <andy@openmoko.com> ++ * - removed averaging system ++ * - added generic Touchscreen filter stuff ++ * ++ * 2008-11-27: Nelson Castillo <arhuaco@freaks-unidos.net> ++ * - improve interrupt handling ++ */ ++ ++#include <linux/errno.h> ++#include <linux/kernel.h> ++#include <linux/module.h> ++#include <linux/slab.h> ++#include <linux/input.h> ++#include <linux/init.h> ++#include <linux/serio.h> ++#include <linux/timer.h> ++#include <linux/kfifo.h> ++#include <linux/delay.h> ++#include <linux/platform_device.h> ++#include <linux/clk.h> ++#include <asm/io.h> ++#include <asm/irq.h> ++ ++#include <mach/regs-gpio.h> ++#include <mach/ts.h> ++ ++#include <plat/regs-adc.h> ++ ++#include "ts_filter.h" ++ ++/* For ts.dev.id.version */ ++#define S3C2410TSVERSION 0x0101 ++ ++#define TSC_SLEEP (S3C2410_ADCTSC_PULL_UP_DISABLE | S3C2410_ADCTSC_XY_PST(0)) ++ ++#define WAIT4INT(x) (((x)<<8) | \ ++ S3C2410_ADCTSC_YM_SEN | \ ++ S3C2410_ADCTSC_YP_SEN | \ ++ S3C2410_ADCTSC_XP_SEN | \ ++ S3C2410_ADCTSC_XY_PST(3)) ++ ++#define AUTOPST (S3C2410_ADCTSC_YM_SEN | \ ++ S3C2410_ADCTSC_YP_SEN | \ ++ S3C2410_ADCTSC_XP_SEN | \ ++ S3C2410_ADCTSC_AUTO_PST | \ |
