summaryrefslogtreecommitdiff
path: root/packages/linux/linux-ezx-2.6.21
diff options
context:
space:
mode:
Diffstat (limited to 'packages/linux/linux-ezx-2.6.21')
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/a1200/defconfig17
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/a780/defconfig15
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/e680/defconfig3
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/Makefile.OpenEZX50
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/a1200-eoc.patch12
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/a1200-flip.patch47
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/a1200-kbd.patch99
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch7
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/e6-eoc.patch12
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/e6-ts.patch7
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/ezx-core.patch54
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/ezx-eoc.patch35
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/ezx-pm.patch52
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/index.html14
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/lcd_18BPP_support.diff270
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/pxa27x-udc-fix-a1200.patch9
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/series28
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/rokre2/defconfig3
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/rokre6/defconfig17
19 files changed, 604 insertions, 147 deletions
diff --git a/packages/linux/linux-ezx-2.6.21/a1200/defconfig b/packages/linux/linux-ezx-2.6.21/a1200/defconfig
index ea7475ced2..929eae4d5c 100755
--- a/packages/linux/linux-ezx-2.6.21/a1200/defconfig
+++ b/packages/linux/linux-ezx-2.6.21/a1200/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21.4
-# Sun Sep 9 16:54:53 2007
+# Sat Sep 15 18:27:06 2007
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -592,7 +592,9 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
CONFIG_MTD_EZX=y
CONFIG_MTD_EZX_A780=y
# CONFIG_MTD_EZX_A780_ALTERNATE is not set
+# CONFIG_MTD_EZX_A120 is not set
# CONFIG_MTD_EZX_E2 is not set
+# CONFIG_MTD_EZX_E6 is not set
# CONFIG_MTD_PLATRAM is not set
#
@@ -793,7 +795,8 @@ CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
# CONFIG_TOUCHSCREEN_UCB1400 is not set
CONFIG_TOUCHSCREEN_PCAP=y
-# CONFIG_INPUT_MISC is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=y
#
# Hardware I/O ports
@@ -851,8 +854,8 @@ CONFIG_TS0710_MUX_USB=y
#
# I2C support
#
-CONFIG_I2C=m
-CONFIG_I2C_CHARDEV=m
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
#
# I2C Algorithms
@@ -864,8 +867,8 @@ CONFIG_I2C_CHARDEV=m
#
# I2C Hardware Bus support
#
-CONFIG_I2C_PXA=m
-# CONFIG_I2C_PXA_SLAVE is not set
+CONFIG_I2C_PXA=y
+CONFIG_I2C_PXA_SLAVE=y
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_STUB is not set
@@ -1000,7 +1003,7 @@ CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_LCD_CLASS_DEVICE=m
-CONFIG_BACKLIGHT_EZX=y
+CONFIG_BACKLIGHT_EZX=N
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
# CONFIG_FB_DDC is not set
diff --git a/packages/linux/linux-ezx-2.6.21/a780/defconfig b/packages/linux/linux-ezx-2.6.21/a780/defconfig
index 9ea8e88266..f79aaa7e7d 100755
--- a/packages/linux/linux-ezx-2.6.21/a780/defconfig
+++ b/packages/linux/linux-ezx-2.6.21/a780/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21.4
-# Sun Sep 9 10:37:45 2007
+# Fri Sep 21 18:10:00 2007
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -152,6 +152,7 @@ CONFIG_PXA_EZX_A780=y
# CONFIG_PXA_EZX_E6 is not set
CONFIG_EZX_BP=y
CONFIG_EZX_PCAP=y
+# CONFIG_EZX_EOC is not set
CONFIG_EZX_EMU=y
CONFIG_EZX_EMU_USB=y
# CONFIG_EZX_EMU_UART is not set
@@ -589,9 +590,11 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
# CONFIG_MTD_ARM_INTEGRATOR is not set
# CONFIG_MTD_SHARP_SL is not set
CONFIG_MTD_EZX=y
-CONFIG_MTD_EZX_A780=y
-# CONFIG_MTD_EZX_A780_ALTERNATE is not set
+# CONFIG_MTD_EZX_A780 is not set
+CONFIG_MTD_EZX_A780_ALTERNATE=y
+# CONFIG_MTD_EZX_A1200 is not set
# CONFIG_MTD_EZX_E2 is not set
+# CONFIG_MTD_EZX_E6 is not set
# CONFIG_MTD_PLATRAM is not set
#
@@ -792,7 +795,8 @@ CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
# CONFIG_TOUCHSCREEN_UCB1400 is not set
CONFIG_TOUCHSCREEN_PCAP=y
-# CONFIG_INPUT_MISC is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=y
#
# Hardware I/O ports
@@ -1018,6 +1022,9 @@ CONFIG_FB_CFB_IMAGEBLIT=y
#
# CONFIG_FB_S1D13XXX is not set
CONFIG_FB_PXA=y
+CONFIG_FB_PXA_LCD_QVGA=y
+# CONFIG_FB_PXA_LCD_VGA is not set
+CONFIG_FB_PXA_OVERLAY=y
CONFIG_FB_PXA_PARAMETERS=y
# CONFIG_FB_MBX is not set
# CONFIG_FB_VIRTUAL is not set
diff --git a/packages/linux/linux-ezx-2.6.21/e680/defconfig b/packages/linux/linux-ezx-2.6.21/e680/defconfig
index 770df7f34c..94947cceb3 100755
--- a/packages/linux/linux-ezx-2.6.21/e680/defconfig
+++ b/packages/linux/linux-ezx-2.6.21/e680/defconfig
@@ -792,7 +792,8 @@ CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
# CONFIG_TOUCHSCREEN_UCB1400 is not set
CONFIG_TOUCHSCREEN_PCAP=y
-# CONFIG_INPUT_MISC is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=y
#
# Hardware I/O ports
diff --git a/packages/linux/linux-ezx-2.6.21/patches/Makefile.OpenEZX b/packages/linux/linux-ezx-2.6.21/patches/Makefile.OpenEZX
index 7e7e0f2898..c6d90c61b9 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/Makefile.OpenEZX
+++ b/packages/linux/linux-ezx-2.6.21/patches/Makefile.OpenEZX
@@ -8,12 +8,18 @@
# in your environment.
#
-PHONES = a780 e680 a1200 e2 e6
+PHONES = a780 e680 a1200 e6 e2
CROSS_COMPILE ?= /home/wyrm/ezx/dev/cross/bin/arm-angstrom-linux-gnueabi-
QUILT_PATCHES ?= patches
+LV ?= ezxdev # replace LOCALVERSION string
+J ?= 2 # simultaneous jobs
+SIG ?= 0 # BOOL sign md5sums file
+
DATE = $(shell date +%Y%m%d)
+DEPLOY_SERVER ?= people.openezx.org
+DEPLOY_DIR ?= public_html/images/$(DATE)/
all: $(foreach p, $(PHONES), zImage-$(p) modules-$(p).tar.gz)
@@ -21,8 +27,27 @@ zImages: $(foreach p, $(PHONES), zImage-$(p))
modules: $(foreach p, $(PHONES), modules-$(p).tar.gz)
+config: $(foreach p, $(PHONES), config-$(p))
+
+config-%: $(QUILT_PATCHES)/defconfig-%
+ cp $< .config
+ make ARCH=arm oldconfig
+ cp .config $<
+
+deploy: release
+ ssh $(DEPLOY_SERVER) \
+ mkdir -p $(DEPLOY_DIR)
+ scp ezxrelease-$(DATE).tar $(DEPLOY_SERVER):$(DEPLOY_DIR)
+ ssh $(DEPLOY_SERVER) \
+ cd $(DEPLOY_DIR)\; \
+ tar -xf ezxrelease-$(DATE).tar\; \
+ rm -f ezxrelease-$(DATE).tar
+
release: $(foreach p, $(PHONES), tag-$(p))
- cat md5sums.tmp | gpg --clearsign > md5sums
+ cp md5sums.tmp md5sums
+ test "$(SIG)" = "1" && \
+ cat md5sums.tmp | gpg --clearsign > md5sums \
+ ; echo
tar -rf ezxrelease.tar md5sums
rm -f md5sums.tmp md5sums
mv ezxrelease.tar ezxrelease-$(DATE).tar
@@ -30,22 +55,23 @@ release: $(foreach p, $(PHONES), tag-$(p))
tag-%: zImage-% modules-%.tar.gz
p=$(patsubst tag-%,%,$@) && \
tag=$(shell cat include/config/kernel.release)-$(DATE) && \
- cp zImage-$$p zImage-$$tag-$$p && \
- cp modules-$$p.tar.gz modules-$$tag-$$p.tar.gz && \
+ mv zImage-$$p zImage-$$tag-$$p && \
+ mv modules-$$p.tar.gz modules-$$tag-$$p.tar.gz && \
tar -rf ezxrelease.tar zImage-$$tag-$$p modules-$$tag-$$p.tar.gz && \
md5sum zImage-$$tag-$$p modules-$$tag-$$p.tar.gz >> md5sums.tmp && \
rm -f zImage-$$tag-$$p modules-$$tag-$$p.tar.gz
zImage-%: $(QUILT_PATCHES)/defconfig-%
- cp $< ./.config
- make ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) zImage
+ cat $< | sed 's/LOCALVERSION=".*"$$/LOCALVERSION="-$(LV)"/' > .config
+ make -j$(J) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) zImage
mv arch/arm/boot/zImage $@
modules-%.tar.gz: $(QUILT_PATCHES)/defconfig-%
- cp $< ./.config
+ cat $< | sed 's/LOCALVERSION=".*"$$/LOCALVERSION="-$(LV)"/' > .config
-find . -name "*.ko" -print0 | xargs -r0 rm
- mkdir /tmp/$@
- make ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) \
- INSTALL_MOD_PATH=/tmp/$@ modules modules_install
- tar -C /tmp/$@ -czf $@ .
- rm -rf /tmp/$@
+ mkdir -p Makefile.OpenEZX-tmp/$@
+ make -j$(J) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) modules
+ make -j1 ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) \
+ INSTALL_MOD_PATH=Makefile.OpenEZX-tmp/$@ modules_install
+ tar -C Makefile.OpenEZX-tmp/$@ -czf $@ .
+ rm -rf Makefile.OpenEZX-tmp/
diff --git a/packages/linux/linux-ezx-2.6.21/patches/a1200-eoc.patch b/packages/linux/linux-ezx-2.6.21/patches/a1200-eoc.patch
index 577aa66303..e6146058a0 100644
--- a/packages/linux/linux-ezx-2.6.21/patches/a1200-eoc.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/a1200-eoc.patch
@@ -1,7 +1,7 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-07 22:15:52.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-09 13:29:56.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-21 21:38:52.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-21 21:48:23.000000000 -0300
@@ -25,6 +25,7 @@
#include <asm/arch/mmc.h>
@@ -10,8 +10,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
extern void ezx_lcd_power(int, struct fb_var_screeninfo *);
extern void ezx_backlight_power(int);
-@@ -227,11 +228,69 @@
- .resource = pcap_ts_resources,
+@@ -203,8 +204,65 @@
+ },
};
+
@@ -72,11 +72,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
+
static struct platform_device *devices[] __initdata = {
&a1200_pcap_device,
- &pcap_ts_device,
+ &a1200_eoc_device,
};
-+
static void __init a1200_init(void)
- {
- set_pxa_fb_info(&a1200_fb_info);
diff --git a/packages/linux/linux-ezx-2.6.21/patches/a1200-flip.patch b/packages/linux/linux-ezx-2.6.21/patches/a1200-flip.patch
new file mode 100644
index 0000000000..15d87f7751
--- /dev/null
+++ b/packages/linux/linux-ezx-2.6.21/patches/a1200-flip.patch
@@ -0,0 +1,47 @@
+Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
+===================================================================
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-23 13:28:02.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-23 13:31:40.000000000 -0300
+@@ -16,6 +16,7 @@
+ #include <linux/mmc/host.h>
+ #include <linux/irq.h>
+ #include <linux/input.h>
++#include <linux/gpio_keys.h>
+
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+@@ -343,11 +344,34 @@
+ .num_resources = ARRAY_SIZE(pcap_ts_resources),
+ .resource = pcap_ts_resources,
+ };
++/* Flip */
++#undef GPIO_FLIP_PIN
++#define GPIO_FLIP_PIN 15 /* FIXME */
++static struct gpio_keys_button a1200flip_buttons[] = {
++ [0] = {
++ .keycode = KEY_SLEEP,
++ .gpio = GPIO_FLIP_PIN,
++ .desc = "A1200 flip",
++ },
++};
++
++static struct gpio_keys_platform_data a1200flip_platform_data = {
++ .buttons = a1200flip_buttons,
++ .nbuttons = 1,
++};
++static struct platform_device a1200flip_device = {
++ .name = "gpio-keys",
++ .id = -1,
++ .dev = {
++ .platform_data = &a1200flip_platform_data,
++ },
++};
+
+ static struct platform_device *devices[] __initdata = {
+ &a1200_pcap_device,
+ &a1200_eoc_device,
+ &pcap_ts_device,
++ &a1200flip_device,
+ };
+
+ static void __init a1200_init(void)
diff --git a/packages/linux/linux-ezx-2.6.21/patches/a1200-kbd.patch b/packages/linux/linux-ezx-2.6.21/patches/a1200-kbd.patch
new file mode 100644
index 0000000000..be1a6f11f7
--- /dev/null
+++ b/packages/linux/linux-ezx-2.6.21/patches/a1200-kbd.patch
@@ -0,0 +1,99 @@
+Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
+===================================================================
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-23 11:48:10.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-23 13:24:58.000000000 -0300
+@@ -15,6 +15,7 @@
+ #include <linux/fb.h>
+ #include <linux/mmc/host.h>
+ #include <linux/irq.h>
++#include <linux/input.h>
+
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+@@ -23,12 +24,14 @@
+ #include <asm/arch/ezx.h>
+ #include <asm/arch/ezx-pcap.h>
+ #include <asm/arch/mmc.h>
++#include <asm/arch/kbd.h>
+
+ #include "generic.h"
+ #include "ezx-eoc.h"
+
+ extern void ezx_lcd_power(int, struct fb_var_screeninfo *);
+ extern void ezx_backlight_power(int);
++extern void __init pxa_set_kbd_info(struct pxakbd_platform_data *);
+
+ #ifdef CONFIG_EZX_PCAP
+ extern int ezx_pcap_mmcsd_power(int);
+@@ -284,6 +287,63 @@
+ .resource = pcap_ts_resources,
+ };
+
++/* Keypad */
++static unsigned char a1200_keycode[] = {
++ /* row 0 */
++ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,
++ /* row 1 */
++ KEY_RIGHT, KEY_DOWN, KEY_KPENTER, KEY_UP, KEY_LEFT,
++ /* row 2 */
++ KEY_PAGEDOWN, KEY_CAMERA, KEY_RECORD, KEY_HOME, KEY_PAGEUP,
++ /* row 3 */
++ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,
++ /* row 4 */
++ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,
++ /* row 5 */
++ KEY_RESERVED, KEY_RESERVED, KEY_MENU, KEY_RESERVED, KEY_RESERVED,
++};
++/*
++static unsigned char a1200_direct_keycode[] = {
++ KEY_CAMERA,
++};
++*/
++
++static int a1200_kbd_init(void)
++{
++ pxa_gpio_mode(100 | GPIO_ALT_FN_1_IN); /* KP_MKIN<0> */
++ pxa_gpio_mode(101 | GPIO_ALT_FN_1_IN); /* KP_MKIN<1> */
++ pxa_gpio_mode(102 | GPIO_ALT_FN_1_IN); /* KP_MKIN<2> */
++ pxa_gpio_mode(97 | GPIO_ALT_FN_3_IN); /* KP_MKIN<3> */
++ pxa_gpio_mode(98 | GPIO_ALT_FN_3_IN); /* KP_MKIN<4> */
++ pxa_gpio_mode(103 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<0> */
++ pxa_gpio_mode(104 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<1> */
++ pxa_gpio_mode(105 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<2> */
++ pxa_gpio_mode(106 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<3> */
++ pxa_gpio_mode(107 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<4> */
++ pxa_gpio_mode(108 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<5> */
++
++ PKWR = 0xEC000;
++ PGSR3 |= 0x1F80;
++ return 0;
++}
++
++static struct pxakbd_platform_data a1200_kbd_platform_data = {
++ .init = &a1200_kbd_init,
++ .scan_interval = HZ/40,
++ .matrix = {
++ .keycode = a1200_keycode,
++ .cols = 6,
++ .rows = 5,
++ },
++/*
++ .direct = {
++ .keycode = a1200_direct_keycode,
++ .num = 1,
++ },
++*/
++};
++
++
+ static struct platform_device *devices[] __initdata = {
+ &a1200_pcap_device,
+ &a1200_eoc_device,
+@@ -294,6 +354,7 @@
+ {
+ set_pxa_fb_info(&a1200_fb_info);
+ pxa_set_mci_info(&a1200_mci_platform_data);
++ pxa_set_kbd_info(&a1200_kbd_platform_data);
+
+ platform_add_devices(devices, ARRAY_SIZE(devices));
+ }
diff --git a/packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch b/packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch
index a8c8f2ee29..2327257507 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch
@@ -1,8 +1,8 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-07 11:54:52.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-07 11:55:10.000000000 -0300
-@@ -203,8 +203,33 @@
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-21 21:50:31.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-21 21:51:06.000000000 -0300
+@@ -260,9 +260,34 @@
},
};
@@ -32,6 +32,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
+
static struct platform_device *devices[] __initdata = {
&a1200_pcap_device,
+ &a1200_eoc_device,
+ &pcap_ts_device,
};
diff --git a/packages/linux/linux-ezx-2.6.21/patches/e6-eoc.patch b/packages/linux/linux-ezx-2.6.21/patches/e6-eoc.patch
index 79c60c8ca2..f6e152c735 100644
--- a/packages/linux/linux-ezx-2.6.21/patches/e6-eoc.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/e6-eoc.patch
@@ -1,7 +1,7 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e6.c 2007-09-07 22:15:52.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-09-09 13:29:56.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e6.c 2007-09-21 21:38:52.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-09-21 21:49:42.000000000 -0300
@@ -25,6 +25,7 @@
#include <asm/arch/mmc.h>
@@ -10,8 +10,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c
extern void ezx_lcd_power(int, struct fb_var_screeninfo *);
extern void ezx_backlight_power(int);
-@@ -227,11 +228,69 @@
- .resource = pcap_ts_resources,
+@@ -203,8 +204,65 @@
+ },
};
+
@@ -72,11 +72,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c
+
static struct platform_device *devices[] __initdata = {
&e6_pcap_device,
- &pcap_ts_device,
+ &e6_eoc_device,
};
-+
static void __init e6_init(void)
- {
- set_pxa_fb_info(&e6_fb_info);
diff --git a/packages/linux/linux-ezx-2.6.21/patches/e6-ts.patch b/packages/linux/linux-ezx-2.6.21/patches/e6-ts.patch
index 6472f77886..a39b782300 100644
--- a/packages/linux/linux-ezx-2.6.21/patches/e6-ts.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/e6-ts.patch
@@ -1,8 +1,8 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e6.c 2007-09-07 11:54:52.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-09-07 11:55:10.000000000 -0300
-@@ -203,8 +203,33 @@
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e6.c 2007-09-21 21:50:31.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-09-21 21:51:40.000000000 -0300
+@@ -260,9 +260,34 @@
},
};
@@ -32,6 +32,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c
+
static struct platform_device *devices[] __initdata = {
&e6_pcap_device,
+ &e6_eoc_device,
+ &pcap_ts_device,
};
diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-core.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-core.patch
index 653e814fb4..e85a40d1a9 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/ezx-core.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-core.patch
@@ -1,7 +1,7 @@
Index: linux-2.6.21/arch/arm/boot/compressed/head-xscale.S
===================================================================
---- linux-2.6.21.orig/arch/arm/boot/compressed/head-xscale.S 2007-06-28 16:51:44.000000000 -0300
-+++ linux-2.6.21/arch/arm/boot/compressed/head-xscale.S 2007-06-28 16:51:50.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/boot/compressed/head-xscale.S 2007-09-23 11:16:58.000000000 -0300
++++ linux-2.6.21/arch/arm/boot/compressed/head-xscale.S 2007-09-23 11:17:06.000000000 -0300
@@ -53,3 +53,6 @@
str r1, [r0, #0x18]
#endif
@@ -11,8 +11,8 @@ Index: linux-2.6.21/arch/arm/boot/compressed/head-xscale.S
+#endif
Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-06-28 16:51:44.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-06-28 20:54:54.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-09-23 11:16:58.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-09-23 11:18:47.000000000 -0300
@@ -37,6 +37,10 @@
bool "Keith und Koep Trizeps4 DIMM-Module"
select PXA27x
@@ -68,8 +68,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig
endif
Index: linux-2.6.21/arch/arm/mach-pxa/Makefile
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-06-28 16:51:44.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-06-28 20:54:54.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-09-23 11:16:58.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-09-23 11:18:47.000000000 -0300
@@ -18,6 +18,12 @@
obj-$(CONFIG_MACH_AKITA) += akita-ioexp.o
obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o
@@ -86,7 +86,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Makefile
Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-06-28 20:54:54.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-09-23 11:18:47.000000000 -0300
@@ -0,0 +1,118 @@
+/*
+ * ezx.c - Common code for EZX platform.
@@ -209,7 +209,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
Index: linux-2.6.21/include/asm-arm/arch-pxa/ezx.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/include/asm-arm/arch-pxa/ezx.h 2007-06-28 16:51:50.000000000 -0300
++++ linux-2.6.21/include/asm-arm/arch-pxa/ezx.h 2007-09-23 11:17:06.000000000 -0300
@@ -0,0 +1,225 @@
+/*
+ * linux/include/asm-arm/arch-pxa/ezx.h
@@ -438,8 +438,8 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/ezx.h
+
Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h
===================================================================
---- linux-2.6.21.orig/include/asm-arm/arch-pxa/pxa-regs.h 2007-06-28 16:51:44.000000000 -0300
-+++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-06-28 18:18:49.000000000 -0300
+--- linux-2.6.21.orig/include/asm-arm/arch-pxa/pxa-regs.h 2007-09-23 11:16:58.000000000 -0300
++++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-09-23 11:17:06.000000000 -0300
@@ -849,6 +849,8 @@
#define UP2OCR_HXOE (1 << 17) /* Host Port 2 Transceiver Output Enable */
#define UP2OCR_SEOS (1 << 24) /* Single-Ended Output Select */
@@ -555,8 +555,8 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h
#define PGSR2 __REG(0x40F00028) /* Power Manager GPIO Sleep State Register for GP[84-64] */
Index: linux-2.6.21/arch/arm/boot/compressed/head.S
===================================================================
---- linux-2.6.21.orig/arch/arm/boot/compressed/head.S 2007-06-28 16:51:44.000000000 -0300
-+++ linux-2.6.21/arch/arm/boot/compressed/head.S 2007-06-28 16:51:50.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/boot/compressed/head.S 2007-09-23 11:16:58.000000000 -0300
++++ linux-2.6.21/arch/arm/boot/compressed/head.S 2007-09-23 11:17:06.000000000 -0300
@@ -117,6 +117,9 @@
mov r0, r0
.endr
@@ -569,8 +569,8 @@ Index: linux-2.6.21/arch/arm/boot/compressed/head.S
.word start @ absolute load/run zImage address
Index: linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h
===================================================================
---- linux-2.6.21.orig/include/asm-arm/arch-pxa/uncompress.h 2007-06-28 16:51:44.000000000 -0300
-+++ linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h 2007-06-28 16:51:50.000000000 -0300
+--- linux-2.6.21.orig/include/asm-arm/arch-pxa/uncompress.h 2007-09-23 11:16:58.000000000 -0300
++++ linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h 2007-09-23 11:17:06.000000000 -0300
@@ -14,14 +14,14 @@
#define STUART ((volatile unsigned long *)0x40700000)
#define HWUART ((volatile unsigned long *)0x41600000)
@@ -591,8 +591,8 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h
/*
Index: linux-2.6.21/arch/arm/mm/init.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mm/init.c 2007-06-28 16:51:44.000000000 -0300
-+++ linux-2.6.21/arch/arm/mm/init.c 2007-06-28 16:51:50.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mm/init.c 2007-09-23 11:16:58.000000000 -0300
++++ linux-2.6.21/arch/arm/mm/init.c 2007-09-23 11:17:06.000000000 -0300
@@ -241,6 +241,10 @@
*/
reserve_bootmem_node(pgdat, boot_pfn << PAGE_SHIFT,
@@ -607,7 +607,7 @@ Index: linux-2.6.21/arch/arm/mm/init.c
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-06-28 20:53:01.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-09-23 11:17:06.000000000 -0300
@@ -0,0 +1,88 @@
+/*
+ * ezx-a780.c - Code specific to A780 GSM Phone.
@@ -700,7 +700,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c 2007-06-28 20:54:24.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c 2007-09-23 11:20:03.000000000 -0300
@@ -0,0 +1,70 @@
+/*
+ * ezx-e2.c - Code specific to E2 GSM Phone.
@@ -748,7 +748,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c
+ .num_modes = 1,
+ .lccr0 = 0x022008B8,
+ .lccr3 = 0xC130FF13,
-+ .pxafb_backlight_power = ezx_backlight_power,
++ .pxafb_backlight_power = &ezx_backlight_power,
+ .pxafb_lcd_power = &ezx_lcd_power,
+};
+
@@ -766,7 +766,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c
+ /* Maintainer: OpenEZX Team (www.openezx.org) */
+ .phys_io = 0x40000000,
+ .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
-+ .boot_params = 0xa0000100,
++ .boot_params = 0xa0000200,
+ .map_io = pxa_map_io,
+ .init_irq = pxa_init_irq,
+ .timer = &pxa_timer,
@@ -775,7 +775,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-06-28 20:53:29.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-09-23 11:17:06.000000000 -0300
@@ -0,0 +1,87 @@
+/*
+ * ezx-e680.c - Code specific to E680 GSM Phone.
@@ -867,7 +867,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-06-28 20:53:48.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-23 11:19:29.000000000 -0300
@@ -0,0 +1,70 @@
+/*
+ * ezx-a1200.c - Code specific to A1200 GSM Phone.
@@ -915,7 +915,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
+ .num_modes = 1,
+ .lccr0 = 0x022008B8,
+ .lccr3 = 0xC130FF13,
-+ .pxafb_backlight_power = ezx_backlight_power,
++ .pxafb_backlight_power = &ezx_backlight_power,
+ .pxafb_lcd_power = &ezx_lcd_power,
+};
+
@@ -933,7 +933,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
+ /* Maintainer: OpenEZX Team (www.openezx.org) */
+ .phys_io = 0x40000000,
+ .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
-+ .boot_params = 0xa0000100,
++ .boot_params = 0xa0000200,
+ .map_io = pxa_map_io,
+ .init_irq = pxa_init_irq,
+ .timer = &pxa_timer,
@@ -942,7 +942,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-06-28 20:54:07.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-09-23 11:19:52.000000000 -0300
@@ -0,0 +1,70 @@
+/*
+ * ezx-e6.c - Code specific to E6 GSM Phone.
@@ -990,7 +990,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c
+ .num_modes = 1,
+ .lccr0 = 0x022008B8,
+ .lccr3 = 0xC130FF13,
-+ .pxafb_backlight_power = ezx_backlight_power,
++ .pxafb_backlight_power = &ezx_backlight_power,
+ .pxafb_lcd_power = &ezx_lcd_power,
+};
+
@@ -1008,7 +1008,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c
+ /* Maintainer: OpenEZX Team (www.openezx.org) */
+ .phys_io = 0x40000000,
+ .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
-+ .boot_params = 0xa0000100,
++ .boot_params = 0xa0000200,
+ .map_io = pxa_map_io,
+ .init_irq = pxa_init_irq,
+ .timer = &pxa_timer,
diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-eoc.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-eoc.patch
index 77c79fd107..293251423c 100644
--- a/packages/linux/linux-ezx-2.6.21/patches/ezx-eoc.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-eoc.patch
@@ -1,8 +1,8 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c 2007-09-11 20:14:33.000000000 -0300
-@@ -0,0 +1,267 @@
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c 2007-09-23 09:31:23.000000000 -0300
+@@ -0,0 +1,272 @@
+/*
+ * EZX EOC Driver for Motorola EZX phones
+ *
@@ -32,6 +32,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c
+
+#define EOC_REG_ADDR_SIZE 1
+#define EOC_REG_DATA_SIZE 3
++#define I2C_DRIVERID_EOC 2100
+
+struct ezx_eoc_platform_data *pdata;
+static int eoc_func = EOC_FUNC_USB_NET;
@@ -57,7 +58,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c
+ .driver = {
+ .name = (char *)eoc_i2c_driver_name,
+ },
-+ .id = I2C_DRIVERID_EEPROM,
++ .id = I2C_DRIVERID_EOC,
+ .attach_adapter = ezx_eoc_attach_adapter,
+ .detach_client = ezx_eoc_detach_client,
+};
@@ -154,10 +155,14 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c
+ }
+}
+
-+
++int x = 0;
+static int ezx_eoc_attach_adapter(struct i2c_adapter *adapter)
+{
-+ return i2c_probe(adapter, &addr_data, ezx_eoc_detect);
++ if (!x) {
++ x++;
++ return i2c_probe(adapter, &addr_data, ezx_eoc_detect);
++ }
++ return -1;
+}
+
+/* This function is called by i2c_probe */
@@ -210,11 +215,11 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c
+ ret = i2c_add_driver(&eoc_i2c_driver);
+ if (ret != 0)
+ return -EINVAL;
-+
-+ /*
++
++ /*
+ * I think we should save platform_data and call init and eoc_switch
+ * from ezx_eoc_detect, after client is setup.
-+ * And there is no need for all the "check if initialised" checks if
++ * And there is no need for all the "check if initialised" checks if
+ * you assure that you only call read/write after the client is set.
+ * Probably, this was causing the crash on i2c-core too.
+ * --WM
@@ -267,13 +272,13 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c
+MODULE_LICENSE("GPL");
+
+/* doesnt module_init work?? -WM */
-+/*late_initcall(ezx_eoc_init);*/
-+module_init(ezx_eoc_init);
++late_initcall(ezx_eoc_init);
++//module_init(ezx_eoc_init);
+module_exit(ezx_eoc_exit);
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.h 2007-09-09 21:46:27.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.h 2007-09-22 14:12:05.000000000 -0300
@@ -0,0 +1,33 @@
+/*
+ * linux/arch/arm/mach-pxa/ezx-eoc.h
@@ -310,8 +315,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.h
+#endif /* __EZX_EOC_H__ */
Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-09-09 21:46:27.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-09-09 21:46:27.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-09-22 14:12:05.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-09-22 14:12:05.000000000 -0300
@@ -108,6 +108,12 @@
config EZX_PCAP
bool "PCAP Support"
@@ -327,8 +332,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig
depends on EZX_PCAP
Index: linux-2.6.21/arch/arm/mach-pxa/Makefile
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-09-09 21:46:27.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-09-09 21:46:27.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-09-22 14:12:05.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-09-22 14:12:05.000000000 -0300
@@ -27,6 +27,7 @@
obj-$(CONFIG_EZX_BP) += ezx-bp.o
obj-$(CONFIG_EZX_PCAP) += ezx-pcap.o
diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-pm.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-pm.patch
index ff3413f062..05748e681c 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/ezx-pm.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-pm.patch
@@ -1,7 +1,7 @@
Index: linux-2.6.21/arch/arm/mach-pxa/pxa27x.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/pxa27x.c 2007-06-28 19:44:28.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/pxa27x.c 2007-06-28 19:44:58.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/pxa27x.c 2007-09-21 23:57:40.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/pxa27x.c 2007-09-21 23:57:49.000000000 -0300
@@ -22,6 +22,10 @@
#include <asm/arch/pxa-regs.h>
#include <asm/arch/ohci.h>
@@ -29,8 +29,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/pxa27x.c
}
Index: linux-2.6.21/arch/arm/mach-pxa/pm.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/pm.c 2007-06-28 19:44:28.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/pm.c 2007-06-28 19:44:58.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/pm.c 2007-09-21 23:57:40.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/pm.c 2007-09-21 23:57:49.000000000 -0300
@@ -24,6 +24,10 @@
#include <asm/arch/lubbock.h>
#include <asm/mach/time.h>
@@ -58,8 +58,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/pm.c
RESTORE(GPDR0); RESTORE(GPDR1); RESTORE(GPDR2);
Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-06-28 19:44:52.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-06-28 19:44:58.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-09-21 23:57:48.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-09-22 00:07:34.000000000 -0300
@@ -19,6 +19,7 @@
#include <asm/arch/pxa-regs.h>
#include <asm/arch/ohci.h>
@@ -68,49 +68,33 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
#include "generic.h"
-@@ -122,8 +123,69 @@
+@@ -122,8 +123,53 @@
&ezxbp_device,
};
+/* PM */
+extern int bp_handshake_passed(void);
+
-+#define POWER_OFF_TIMEOUT (2*60*HZ)
-+
+static void ezx_reboot_poweroff(char mode)
+{
-+#ifdef CONFIG_EZX_BP
-+ unsigned long start = jiffies;
-+
-+ printk("Waiting for BP to turn off. This can take some time...\n");
+ *(unsigned long *)(phys_to_virt(BPSIG_ADDR)) = NO_FLAG;
+ cpu_proc_fin();
+
-+ do {
-+ /*
-+ * Turn off gracefully. Wait BP turn off first, and then
-+ * properly turn off.
-+ */
-+ if (pxa_gpio_get_value(GPIO_BB_WDI) == 0) {
-+ *(unsigned long *)(phys_to_virt(BPSIG_ADDR)) = WDI_FLAG;
++#ifdef CONFIG_EZX_BP
++ if (pxa_gpio_get_value(GPIO_BB_WDI) == 0) {
++ *(unsigned long *)(phys_to_virt(BPSIG_ADDR)) = WDI_FLAG;
+
-+ /* reset BP */
-+ pxa_gpio_set_value(GPIO_BB_RESET, 0);
-+ mdelay(1);
-+ pxa_gpio_set_value(GPIO_BB_RESET, 1);
++ /* reset BP */
++ pxa_gpio_set_value(GPIO_BB_RESET, 0);
++ mdelay(1);
++ pxa_gpio_set_value(GPIO_BB_RESET, 1);
+
-+ if (mode == 'z')
-+ arch_reset('h');
-+ break;
-+ }
-+ /* Just turn it off! */
-+ if (!bp_handshake_passed() || !pxa_gpio_get_value(GPIO_BB_WDI2)
-+ || (jiffies - start) >= POWER_OFF_TIMEOUT) {
-+ break;
++ if (mode == 'z') {
++ arch_reset('h');
++ while(1);
+ }
-+ } while(1);
++ }
+#endif
-+
+ if (mode == 'z')
+ /* Panic! Ask PCAP to turn both processors off */
+ pxa_gpio_set_value(GPIO_WDI_AP, 0);
diff --git a/packages/linux/linux-ezx-2.6.21/patches/index.html b/packages/linux/linux-ezx-2.6.21/patches/index.html
index 4d57380e0c..bbbb40d590 100644
--- a/packages/linux/linux-ezx-2.6.21/patches/index.html
+++ b/packages/linux/linux-ezx-2.6.21/patches/index.html
@@ -1,9 +1,10 @@
-<html><head><title>Revision 2047: /trunk/src/kernel-2.6/patches</title></head>
+<html><head><title>Revision 2059: /trunk/src/kernel-2.6/patches</title></head>
<body>
- <h2>Revision 2047: /trunk/src/kernel-2.6/patches</h2>
+ <h2>Revision 2059: /trunk/src/kernel-2.6/patches</h2>
<ul>
<li><a href="../">..</a></li>
<li><a href="Makefile.OpenEZX">Makefile.OpenEZX</a></li>
+ <li><a href="a1200-eoc.patch">a1200-eoc.patch</a></li>
<li><a href="a1200-mci.patch">a1200-mci.patch</a></li>
<li><a href="a1200-pcap.patch">a1200-pcap.patch</a></li>
<li><a href="a1200-ts.patch">a1200-ts.patch</a></li>
@@ -15,6 +16,7 @@
<li><a href="a780-pcap.patch">a780-pcap.patch</a></li>
<li><a href="a780-ts.patch">a780-ts.patch</a></li>
<li><a href="a780-vibrator.patch">a780-vibrator.patch</a></li>
+ <li><a href="asoc-fix-loopback.patch">asoc-fix-loopback.patch</a></li>
<li><a href="asoc-pxa-ssp.patch">asoc-pxa-ssp.patch</a></li>
<li><a href="defconfig-a1200">defconfig-a1200</a></li>
<li><a href="defconfig-a780">defconfig-a780</a></li>
@@ -22,6 +24,10 @@
<li><a href="defconfig-e6">defconfig-e6</a></li>
<li><a href="defconfig-e680">defconfig-e680</a></li>
<li><a href="dmesg-a780.log">dmesg-a780.log</a></li>
+ <li><a href="e6-eoc.patch">e6-eoc.patch</a></li>
+ <li><a href="e6-mci.patch">e6-mci.patch</a></li>
+ <li><a href="e6-pcap.patch">e6-pcap.patch</a></li>
+ <li><a href="e6-ts.patch">e6-ts.patch</a></li>
<li><a href="e680-emu.patch">e680-emu.patch</a></li>
<li><a href="e680-kbd.patch">e680-kbd.patch</a></li>
<li><a href="e680-leds.patch">e680-leds.patch</a></li>
@@ -35,10 +41,13 @@
<li><a href="ezx-core.patch">ezx-core.patch</a></li>
<li><a href="ezx-emu.patch">ezx-emu.patch</a></li>
<li><a href="ezx-enable-stuart.patch">ezx-enable-stuart.patch</a></li>
+ <li><a href="ezx-eoc.patch">ezx-eoc.patch</a></li>
<li><a href="ezx-mtd-map.patch">ezx-mtd-map.patch</a></li>
<li><a href="ezx-pcap.patch">ezx-pcap.patch</a></li>
<li><a href="ezx-pm.patch">ezx-pm.patch</a></li>
<li><a href="ezx-serial-bug-workaround.patch">ezx-serial-bug-workaround.patch</a></li>
+ <li><a href="i2c-core-fix-a1200.patch">i2c-core-fix-a1200.patch</a></li>
+ <li><a href="mtdfix.patch">mtdfix.patch</a></li>
<li><a href="mux-fix-init-errorpath.patch">mux-fix-init-errorpath.patch</a></li>
<li><a href="mux-fix-makefile.patch">mux-fix-makefile.patch</a></li>
<li><a href="mux-fix-tty-driver.patch">mux-fix-tty-driver.patch</a></li>
@@ -53,6 +62,7 @@
<li><a href="patch-2.6.21.4">patch-2.6.21.4</a></li>
<li><a href="pcap-ts.patch">pcap-ts.patch</a></li>
<li><a href="pxa-kbd.patch">pxa-kbd.patch</a></li>
+ <li><a href="pxa27x-udc-fix-a1200.patch">pxa27x-udc-fix-a1200.patch</a></li>
<li><a href="pxa27x-udc-support.2.patch">pxa27x-udc-support.2.patch</a></li>
<li><a href="series">series</a></li>
</ul>
diff --git a/packages/linux/linux-ezx-2.6.21/patches/lcd_18BPP_support.diff b/packages/linux/linux-ezx-2.6.21/patches/lcd_18BPP_support.diff
new file mode 100644
index 0000000000..a0d89bfee5
--- /dev/null
+++ b/packages/linux/linux-ezx-2.6.21/patches/lcd_18BPP_support.diff
@@ -0,0 +1,270 @@
+Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
+===================================================================
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-08-18 18:35:12.000000000 +0800
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-08-18 18:36:38.000000000 +0800
+@@ -122,7 +122,7 @@
+ .pixclock = 192308,
+ .xres = 240,
+ .yres = 320,
+- .bpp = 8,
++ .bpp = 18,
+ .hsync_len = 10,
+ .left_margin = 20,
+ .right_margin = 10,
+@@ -135,8 +135,8 @@
+ static struct pxafb_mach_info a1200_fb_info = {
+ .modes = &mode_a1200,
+ .num_modes = 1,
+- .lccr0 = 0x022008B8,
+- .lccr3 = 0xC130FF13,
++ .lccr0 = 0x002008b8,
++ .lccr3 = 0xC630FF13,
+ .pxafb_backlight_power = ezx_backlight_power,
+ .pxafb_lcd_power = &ezx_lcd_power,
+ };
+Index: linux-2.6.21/drivers/video/cfbfillrect.c
+===================================================================
+--- linux-2.6.21.orig/drivers/video/cfbfillrect.c 2007-08-18 18:38:36.000000000 +0800
++++ linux-2.6.21/drivers/video/cfbfillrect.c 2007-08-18 18:39:03.000000000 +0800
+@@ -87,7 +87,10 @@
+ return 0x00001001ul*pixel;
+ case 16:
+ return 0x00010001ul*pixel;
++ case 18:
++ case 19:
+ case 24:
++ case 25:
+ return 0x00000001ul*pixel;
+ case 32:
+ return 0x00000001ul*pixel;
+Index: linux-2.6.21/drivers/video/pxafb.c
+===================================================================
+--- linux-2.6.21.orig/drivers/video/pxafb.c 2007-08-18 17:58:11.000000000 +0800
++++ linux-2.6.21/drivers/video/pxafb.c 2007-08-18 18:46:50.000000000 +0800
+@@ -9,6 +9,8 @@
+ * which in turn is
+ * Based on acornfb.c Copyright (C) Russell King.
+ *
++ * Added 18,19,24,25 BPP support by Alex Zhang <celeber2@gmail.com>
++ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file COPYING in the main directory of this archive for
+ * more details.
+@@ -190,6 +192,10 @@
+ case 4: ret = LCCR3_4BPP; break;
+ case 8: ret = LCCR3_8BPP; break;
+ case 16: ret = LCCR3_16BPP; break;
++ case 18: ret = LCCR3_18BPP; break;
++ case 19: ret = LCCR3_19BPP; break;
++ case 24: ret = LCCR3_24BPP; break;
++ case 25: ret = LCCR3_25BPP; break;
+ }
+ return ret;
+ }
+@@ -274,6 +280,8 @@
+ if (var->yres < MIN_YRES)
+ var->yres = MIN_YRES;
+
++ if (var->bits_per_pixel == 32) var->bits_per_pixel = 18; // ALEX cheats Xserver
++
+ if (inf->fixed_modes) {
+ struct pxafb_mode_info *mode;
+
+@@ -306,6 +314,26 @@
+ var->green.offset = 5; var->green.length = 6;
+ var->blue.offset = 0; var->blue.length = 5;
+ var->transp.offset = var->transp.length = 0;
++ } else if (var->bits_per_pixel == 18) {
++ var->red.offset = 12; var->red.length = 6;
++ var->green.offset = 6; var->green.length = 6;
++ var->blue.offset = 0; var->blue.length = 6;
++ var->transp.offset = var->transp.length = 0;
++ } else if (var->bits_per_pixel == 19) {
++ var->red.offset = 12; var->red.length = 6;
++ var->green.offset = 6; var->green.length = 6;
++ var->blue.offset = 0; var->blue.length = 6;
++ var->transp.offset= 18; var->transp.length = 1;
++ } else if (var->bits_per_pixel == 24) {
++ var->red.offset = 16; var->red.length = 8;
++ var->green.offset = 8; var->green.length = 8;
++ var->blue.offset = 0; var->blue.length = 8;
++ var->transp.offset = var->transp.length = 0;
++ } else if (var->bits_per_pixel == 25) {
++ var->red.offset = 16; var->red.length = 8;
++ var->green.offset = 8; var->green.length = 8;
++ var->blue.offset = 0; var->blue.length = 8;
++ var->transp.offset= 24; var->transp.length = 1;
+ } else {
+ var->red.offset = var->green.offset = var->blue.offset = var->transp.offset = 0;
+ var->red.length = 8;
+@@ -341,7 +369,12 @@
+
+ pr_debug("pxafb: set_par\n");
+
+- if (var->bits_per_pixel == 16)
++ if (var->bits_per_pixel == 16
++ || var->bits_per_pixel == 18
++ || var->bits_per_pixel == 19
++ || var->bits_per_pixel == 24
++ || var->bits_per_pixel == 25
++ )
+ fbi->fb.fix.visual = FB_VISUAL_TRUECOLOR;
+ else if (!fbi->cmap_static)
+ fbi->fb.fix.visual = FB_VISUAL_PSEUDOCOLOR;
+@@ -354,12 +387,25 @@
+ fbi->fb.fix.visual = FB_VISUAL_STATIC_PSEUDOCOLOR;
+ }
+
+- fbi->fb.fix.line_length = var->xres_virtual *
+- var->bits_per_pixel / 8;
+- if (var->bits_per_pixel == 16)
+- fbi->palette_size = 0;
+- else
+- fbi->palette_size = var->bits_per_pixel == 1 ? 4 : 1 << var->bits_per_pixel;
++ switch (var->bits_per_pixel) {
++ case 16:
++ fbi->fb.fix.line_length = var->xres_virtual * 2;
++ fbi->palette_size = 0;
++ break;
++ case 18:
++ case 19:
++ fbi->fb.fix.line_length = var->xres_virtual * 3;
++ fbi->palette_size = 0;
++ break;
++ case 24:
++ case 25:
++ fbi->fb.fix.line_length = var->xres_virtual * 4;
++ fbi->palette_size = 0;
++ break;
++ default:
++ fbi->fb.fix.line_length = var->xres_virtual * var->bits_per_pixel / 8;
++ fbi->palette_size = var->bits_per_pixel == 1 ? 4 : 1 << var->bits_per_pixel;
++ }
+
+ palette_mem_size = fbi->palette_size * sizeof(u16);
+
+@@ -373,8 +419,13 @@
+ */
+ pxafb_set_truecolor(fbi->fb.fix.visual == FB_VISUAL_TRUECOLOR);
+
+- if (fbi->fb.var.bits_per_pixel == 16)
+- fb_dealloc_cmap(&fbi->fb.cmap);
++ if (fbi->fb.var.bits_per_pixel == 16
++ || fbi->fb.var.bits_per_pixel == 18
++ || fbi->fb.var.bits_per_pixel == 19
++ || fbi->fb.var.bits_per_pixel == 24
++ || fbi->fb.var.bits_per_pixel == 25
++ )
++ fb_dealloc_cmap(&fbi->fb.cmap);
+ else
+ fb_alloc_cmap(&fbi->fb.cmap, 1<<fbi->fb.var.bits_per_pixel, 0);
+
+@@ -582,6 +633,9 @@
+ case 4:
+ case 8:
+ case 16:
++ case 18:
++ case 24:
++ case 25:
+ break;
+ default:
+ printk(KERN_ERR "%s: invalid bit depth %d\n",
+@@ -678,7 +732,12 @@
+ fbi->dmadesc_palette_cpu->fidr = 0;
+ fbi->dmadesc_palette_cpu->ldcmd = (fbi->palette_size * 2) | LDCMD_PAL;
+
+- if (var->bits_per_pixel == 16) {
++ if (var->bits_per_pixel == 16
++ || var->bits_per_pixel == 18
++ || var->bits_per_pixel == 19
++ || var->bits_per_pixel == 24
++ || var->bits_per_pixel == 25
++ ) {
+ /* palette shouldn't be loaded in true-color mode */
+ fbi->dmadesc_fbhigh_cpu->fdadr = fbi->dmadesc_fbhigh_dma;
+ fbi->fdadr0 = fbi->dmadesc_fbhigh_dma; /* no pal just fbhigh */
+@@ -786,6 +845,11 @@
+
+ for (gpio = 58; ldd_bits; gpio++, ldd_bits--)
+ pxa_gpio_mode(gpio | GPIO_ALT_FN_2_OUT);
++ if (fbi->fb.var.bits_per_pixel == 18) {
++ pxa_gpio_mode(GPIO86_LDD_16_MD);
++ pxa_gpio_mode(GPIO87_LDD_17_MD);
++ }
++
+ pxa_gpio_mode(GPIO74_LCD_FCLK_MD);
+ pxa_gpio_mode(GPIO75_LCD_LCLK_MD);
+ pxa_gpio_mode(GPIO76_LCD_PCLK_MD);
+@@ -1154,9 +1218,17 @@
+ fbi->task_state = (u_char)-1;
+
+ for (i = 0; i < inf->num_modes; i++) {
+- smemlen = mode[i].xres * mode[i].yres * mode[i].bpp / 8;
++ if (mode[i].bpp <= 16) /* 8, 16 bpp */
++ smemlen = mode[i].xres * mode[i].yres * mode[i].bpp / 8;
++ else if (mode[i].bpp > 19) /* 24, 25 bpp */
++ smemlen = mode[i].xres * mode[i].yres * 4;
++ else /* 18, 19 bpp */
++ /* packed format */
++ smemlen = mode[i].xres * mode[i].yres * 3;
++
+ if (smemlen > fbi->fb.fix.smem_len)
+ fbi->fb.fix.smem_len = smemlen;
++ dev_dbg("ALEX::bpp=%d, smemlen=%d, fbi->fb.fix.smem_len=%d\n", mode[i].bpp, smemlen, fbi->fb.fix.smem_len);
+ }
+
+ init_waitqueue_head(&fbi->ctrlr_wait);
+@@ -1225,6 +1297,10 @@
+ case 4:
+ case 8:
+ case 16:
++ case 18:
++ case 19:
++ case 24:
++ case 25:
+ inf->modes[0].bpp = bpp;
+ dev_info(dev, "overriding bit depth: %d\n", bpp);
+ break;
+@@ -1423,6 +1499,9 @@
+ */
+ set_ctrlr_state(fbi, C_ENABLE);
+
++ LCCR4 |= (1 << 31);
++ LCCR4 |= (5 << 17);
++
+ return 0;
+
+ failed:
+Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h
+===================================================================
+--- linux-2.6.21.orig/include/asm-arm/arch-pxa/pxa-regs.h 2007-08-18 18:26:01.000000000 +0800
++++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-08-18 18:32:29.000000000 +0800
+@@ -1485,6 +1485,8 @@
+ #define GPIO84_NSSP_TX (84 | GPIO_ALT_FN_1_OUT)
+ #define GPIO84_NSSP_RX (84 | GPIO_ALT_FN_2_IN)
+ #define GPIO85_nPCE_1_MD (85 | GPIO_ALT_FN_1_OUT)
++#define GPIO86_LDD_16_MD (86 | GPIO_ALT_FN_2_OUT)
++#define GPIO87_LDD_17_MD (87 | GPIO_ALT_FN_2_OUT)
+ #define GPIO88_SRXD2_MD (88 | GPIO_ALT_FN_2_IN)
+ #define GPIO89_SRXD3_MD (89 | GPIO_ALT_FN_1_IN)
+ #define GPIO90_USB_P3_5 (90 | GPIO_ALT_FN_2_IN)
+@@ -1869,6 +1871,7 @@
+ #define LCCR1 __REG(0x44000004) /* LCD Controller Control Register 1 */
+ #define LCCR2 __REG(0x44000008) /* LCD Controller Control Register 2 */
+ #define LCCR3 __REG(0x4400000C) /* LCD Controller Control Register 3 */
++#define LCCR4 __REG(0x44000010) /* LCD Controller Control Register 4 */
+ #define DFBR0 __REG(0x44000020) /* DMA Channel 0 Frame Branch Register */
+ #define DFBR1 __REG(0x44000024) /* DMA Channel 1 Frame Branch Register */
+ #define LCSR __REG(0x44000038) /* LCD Controller Status Register */
+@@ -1881,6 +1884,11 @@
+ #define LCCR3_4BPP (2 << 24)
+ #define LCCR3_8BPP (3 << 24)
+ #define LCCR3_16BPP (4 << 24)
++#define LCCR3_18BPP_UNPACKED (5 << 24)
++#define LCCR3_18BPP (6 << 24)
++#define LCCR3_19BPP (8 << 24)
++#define LCCR3_24BPP (9 << 24)
++#define LCCR3_25BPP (10<< 24)
+
+ #define FDADR0 __REG(0x44000200) /* DMA Channel 0 Frame Descriptor Address Register */
+ #define FSADR0 __REG(0x44000204) /* DMA Channel 0 Frame Source Address Register */
diff --git a/packages/linux/linux-ezx-2.6.21/patches/pxa27x-udc-fix-a1200.patch b/packages/linux/linux-ezx-2.6.21/patches/pxa27x-udc-fix-a1200.patch
index 9ee87ff903..1dd6edd7c3 100644
--- a/packages/linux/linux-ezx-2.6.21/patches/pxa27x-udc-fix-a1200.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/pxa27x-udc-fix-a1200.patch
@@ -1,7 +1,8 @@
+This hack hardcodes pxa27x-udc to ether_gadget. This is just a temp workaround.
Index: linux-2.6.21/drivers/usb/gadget/ether.c
===================================================================
---- linux-2.6.21.orig/drivers/usb/gadget/ether.c 2007-08-20 22:05:12.000000000 +0800
-+++ linux-2.6.21/drivers/usb/gadget/ether.c 2007-08-20 22:06:25.000000000 +0800
+--- linux-2.6.21.orig/drivers/usb/gadget/ether.c 2007-09-23 09:32:51.000000000 -0300
++++ linux-2.6.21/drivers/usb/gadget/ether.c 2007-09-23 09:32:52.000000000 -0300
@@ -2697,10 +2697,16 @@
MODULE_LICENSE ("GPL");
@@ -22,8 +23,8 @@ Index: linux-2.6.21/drivers/usb/gadget/ether.c
static void __exit cleanup (void)
Index: linux-2.6.21/drivers/usb/gadget/pxa27x_udc.c
===================================================================
---- linux-2.6.21.orig/drivers/usb/gadget/pxa27x_udc.c 2007-08-20 22:07:31.000000000 +0800
-+++ linux-2.6.21/drivers/usb/gadget/pxa27x_udc.c 2007-08-20 22:07:47.000000000 +0800
+--- linux-2.6.21.orig/drivers/usb/gadget/pxa27x_udc.c 2007-09-23 09:32:51.000000000 -0300
++++ linux-2.6.21/drivers/usb/gadget/pxa27x_udc.c 2007-09-23 09:32:52.000000000 -0300
@@ -2227,6 +2227,8 @@
udc_init_ep(udc);
udc_reinit(udc);
diff --git a/packages/linux/linux-ezx-2.6.21/patches/series b/packages/linux/linux-ezx-2.6.21/patches/series
index ecdc30b5fe..aa95fcbc78 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/series
+++ b/packages/linux/linux-ezx-2.6.21/patches/series
@@ -1,4 +1,5 @@
patch-2.6.21.4
+mtdfix.patch
ezx-core.patch
# ezx-core TODO: should be ezx-common
@@ -25,10 +26,12 @@ ezx-pcap.patch
a780-pcap.patch
e680-pcap.patch
a1200-pcap.patch
+e6-pcap.patch
a780-mci.patch
e680-mci.patch
a1200-mci.patch
+e6-mci.patch
pxa27x-udc-support.2.patch
@@ -36,23 +39,18 @@ ezx-emu.patch
# ezx-emu TODO:
# userspace interface for controling emu
# read adc to find which accessory is plugged
-
a780-emu.patch
e680-emu.patch
+ezx-eoc.patch
+a1200-eoc.patch
+e6-eoc.patch
+
ezx-mtd-map.patch
-# ezx-mtd-map TODO:
-# at least the original partition should go on the ezx-phone.c file
ezx-serial-bug-workaround.patch
-# ezx-serial-bug TODO:
-# does anyone have a phone with this bug?
pxa-kbd.patch
-# pxa-kbd TODO:
-# test multi-key presses
-# ask Harald about driver status/sending mainline
-
a780-kbd.patch
e680-kbd.patch
@@ -60,6 +58,7 @@ pcap-ts.patch
a780-ts.patch
e680-ts.patch
a1200-ts.patch
+e6-ts.patch
ezx-backlight.patch
@@ -83,6 +82,11 @@ mux-fix-tty-driver.patch
mux-linux-2.6.21-fix.patch
#mux-ifdef-ezx-features.patch
#mux_debug.patch
+
+asoc-pxa-ssp.patch
+asoc-fix-loopback.patch
+ezx-asoc.patch
+
# mux_cli TODO:
# merge patches
# try to understand the code and cleanup (painful)
@@ -92,6 +96,8 @@ mux-linux-2.6.21-fix.patch
# can NOT run as module (yet)
# pxa-ohci, ts0710_mux, ts0710_mux_usb, ezx-bp
+# the folowing break too much stuff on other phones.
+# i2c-core-fix-a1200.patch (see ezx-eoc.c)
+# pxa27x-udc-fix-a1200.patch (see ezx-a1200.c)
+
# incomplete
-asoc-pxa-ssp.patch
-ezx-asoc.patch
diff --git a/packages/linux/linux-ezx-2.6.21/rokre2/defconfig b/packages/linux/linux-ezx-2.6.21/rokre2/defconfig
index d4a6e25c00..8d0f391c08 100755
--- a/packages/linux/linux-ezx-2.6.21/rokre2/defconfig
+++ b/packages/linux/linux-ezx-2.6.21/rokre2/defconfig
@@ -792,7 +792,8 @@ CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
# CONFIG_TOUCHSCREEN_UCB1400 is not set
CONFIG_TOUCHSCREEN_PCAP=y
-# CONFIG_INPUT_MISC is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=y
#
# Hardware I/O ports
diff --git a/packages/linux/linux-ezx-2.6.21/rokre6/defconfig b/packages/linux/linux-ezx-2.6.21/rokre6/defconfig
index 95a5a25297..7bafcf81f1 100755
--- a/packages/linux/linux-ezx-2.6.21/rokre6/defconfig
+++ b/packages/linux/linux-ezx-2.6.21/rokre6/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21.4
-# Sun Sep 9 16:52:39 2007
+# Sat Sep 15 19:35:32 2007
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -592,7 +592,9 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
CONFIG_MTD_EZX=y
CONFIG_MTD_EZX_A780=y
# CONFIG_MTD_EZX_A780_ALTERNATE is not set
+# CONFIG_MTD_EZX_A1200 is not set
# CONFIG_MTD_EZX_E2 is not set
+# CONFIG_MTD_EZX_E6 is not set
# CONFIG_MTD_PLATRAM is not set
#
@@ -793,7 +795,8 @@ CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
# CONFIG_TOUCHSCREEN_UCB1400 is not set
CONFIG_TOUCHSCREEN_PCAP=y
-# CONFIG_INPUT_MISC is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=y
#
# Hardware I/O ports
@@ -851,8 +854,8 @@ CONFIG_TS0710_MUX_USB=y
#
# I2C support
#
-CONFIG_I2C=m
-CONFIG_I2C_CHARDEV=m
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
#
# I2C Algorithms
@@ -864,8 +867,8 @@ CONFIG_I2C_CHARDEV=m
#
# I2C Hardware Bus support
#
-CONFIG_I2C_PXA=m
-# CONFIG_I2C_PXA_SLAVE is not set
+CONFIG_I2C_PXA=y
+CONFIG_I2C_PXA_SLAVE=y
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_STUB is not set
@@ -1000,7 +1003,7 @@ CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_LCD_CLASS_DEVICE=m
-CONFIG_BACKLIGHT_EZX=y
+CONFIG_BACKLIGHT_EZX=N
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
# CONFIG_FB_DDC is not set