diff options
| author | Koen Kooi <koen@openembedded.org> | 2007-09-25 18:30:12 +0000 |
|---|---|---|
| committer | Koen Kooi <koen@openembedded.org> | 2007-09-25 18:30:12 +0000 |
| commit | 805aaee5708afe12a543d86a53b500badcd18e0b (patch) | |
| tree | d7917924a895c1a158b12b61d8434b3c2af5e01e /packages | |
| parent | 182220f3d207e5102190f1a08fc9b53fb82603b8 (diff) | |
linux-ezx: catch up with svn and unbreak booting by enabling ext2
Diffstat (limited to 'packages')
16 files changed, 187 insertions, 350 deletions
diff --git a/packages/linux/linux-ezx-2.6.21/a1200/defconfig b/packages/linux/linux-ezx-2.6.21/a1200/defconfig index 929eae4d5c..074d70244b 100755 --- a/packages/linux/linux-ezx-2.6.21/a1200/defconfig +++ b/packages/linux/linux-ezx-2.6.21/a1200/defconfig @@ -45,7 +45,7 @@ CONFIG_SYSVIPC_SYSCTL=y # CONFIG_TASKSTATS is not set # CONFIG_UTS_NS is not set # CONFIG_AUDIT is not set -# CONFIG_IKCONFIG is not set +CONFIG_IKCONFIG=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_RELAY is not set # CONFIG_BLK_DEV_INITRD is not set @@ -1313,12 +1313,12 @@ CONFIG_RTC_DRV_SA1100=m # # File systems # -CONFIG_EXT2_FS=m +CONFIG_EXT2_FS=y CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT2_FS_SECURITY=y # CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=y +CONFIG_EXT3_FS=m CONFIG_EXT3_FS_XATTR=y CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT3_FS_SECURITY=y diff --git a/packages/linux/linux-ezx-2.6.21/a780/defconfig b/packages/linux/linux-ezx-2.6.21/a780/defconfig index f79aaa7e7d..30f9f72174 100755 --- a/packages/linux/linux-ezx-2.6.21/a780/defconfig +++ b/packages/linux/linux-ezx-2.6.21/a780/defconfig @@ -45,7 +45,7 @@ CONFIG_SYSVIPC_SYSCTL=y # CONFIG_TASKSTATS is not set # CONFIG_UTS_NS is not set # CONFIG_AUDIT is not set -# CONFIG_IKCONFIG is not set +CONFIG_IKCONFIG=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_RELAY is not set # CONFIG_BLK_DEV_INITRD is not set @@ -1317,12 +1317,12 @@ CONFIG_RTC_DRV_SA1100=m # # File systems # -CONFIG_EXT2_FS=m +CONFIG_EXT2_FS=y CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT2_FS_SECURITY=y # CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=y +CONFIG_EXT3_FS=m CONFIG_EXT3_FS_XATTR=y CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT3_FS_SECURITY=y diff --git a/packages/linux/linux-ezx-2.6.21/e680/defconfig b/packages/linux/linux-ezx-2.6.21/e680/defconfig index 94947cceb3..9a30ce673f 100755 --- a/packages/linux/linux-ezx-2.6.21/e680/defconfig +++ b/packages/linux/linux-ezx-2.6.21/e680/defconfig @@ -45,7 +45,7 @@ CONFIG_SYSVIPC_SYSCTL=y # CONFIG_TASKSTATS is not set # CONFIG_UTS_NS is not set # CONFIG_AUDIT is not set -# CONFIG_IKCONFIG is not set +CONFIG_IKCONFIG=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_RELAY is not set # CONFIG_BLK_DEV_INITRD is not set @@ -1311,12 +1311,12 @@ CONFIG_RTC_DRV_SA1100=m # # File systems # -CONFIG_EXT2_FS=m +CONFIG_EXT2_FS=y CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT2_FS_SECURITY=y # CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=y +CONFIG_EXT3_FS=n CONFIG_EXT3_FS_XATTR=y CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT3_FS_SECURITY=y 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 e6146058a0..77aec1c629 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,73 +1,15 @@ 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-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> - - #include "generic.h" -+#include "ezx-eoc.h" - - extern void ezx_lcd_power(int, struct fb_var_screeninfo *); - extern void ezx_backlight_power(int); -@@ -203,8 +204,65 @@ +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-24 20:14:54.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-24 20:15:18.000000000 -0300 +@@ -203,8 +203,15 @@ }, }; + -+/* EOC */ -+static const unsigned int tab_init_eoc_reg[][2] = -+{ -+ {POWER_IC_REG_EOC_INT_MASK, 0x00000FEF}, -+ {POWER_IC_REG_EOC_POWER_CONTROL_0, 0x00000C00}, -+ {POWER_IC_REG_EOC_POWER_CONTROL_1, 0x0000000C}, -+ {POWER_IC_REG_EOC_CONN_CONTROL, 0x00021044}, -+}; -+ -+static void dump_eoc_registers(void) -+{ -+ int i, val = 0; -+ -+ printk("========DUMP EOC=========\n"); -+ for (i = 0; i < POWER_IC_REG_EOC_NUM; i++) { -+ eoc_reg_read(i, &val); -+ printk("eoc_registers[%d] = 0x%08X\n", i, val); -+ } -+ printk("========END DUMP=========\n"); -+} -+ -+/* -+ * FIXME: The same about the PCAP driver applies here. -+ * This is the initial state only. -+ * Which bits does the change to USB/UART/AUDIO mode? -+ * I think that this is causing the crash on pxa27x-udc -+ * you are setting the 'port connected' bit, and thats why -+ * you are getting interrupts early. -+ * --WM -+ */ -+ -+static int __init a1200_eoc_init(void) -+{ -+ int i; -+ -+ for (i = 0; i < sizeof(tab_init_eoc_reg)/sizeof(unsigned int)/2; i++) -+ { -+ eoc_reg_write(tab_init_eoc_reg[i][0], tab_init_eoc_reg[i][1]); -+ } -+ dump_eoc_registers(); -+ return 0; -+} -+ -+static struct ezx_eoc_platform_data a1200_eoc_platform_data = { -+ .init = a1200_eoc_init, -+}; -+ +struct platform_device a1200_eoc_device = { + .name = "ezx-eoc", + .id = -1, -+ .dev = { -+ .platform_data = &a1200_eoc_platform_data, -+ }, +}; + static struct platform_device *devices[] __initdata = { 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 index 15d87f7751..fc51773205 100644 --- a/packages/linux/linux-ezx-2.6.21/patches/a1200-flip.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/a1200-flip.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-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 +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-25 02:00:53.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-25 02:01:06.000000000 -0300 @@ -16,6 +16,7 @@ #include <linux/mmc/host.h> #include <linux/irq.h> @@ -10,7 +10,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c #include <asm/mach-types.h> #include <asm/mach/arch.h> -@@ -343,11 +344,34 @@ +@@ -292,11 +293,34 @@ .num_resources = ARRAY_SIZE(pcap_ts_resources), .resource = pcap_ts_resources, }; 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 index be1a6f11f7..5771f6d359 100644 --- a/packages/linux/linux-ezx-2.6.21/patches/a1200-kbd.patch +++ b/packages/linux/linux-ezx-2.6.21/patches/a1200-kbd.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-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 +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-25 00:03:01.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-25 02:00:40.000000000 -0300 @@ -15,6 +15,7 @@ #include <linux/fb.h> #include <linux/mmc/host.h> @@ -10,14 +10,13 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c #include <asm/mach-types.h> #include <asm/mach/arch.h> -@@ -23,12 +24,14 @@ +@@ -23,11 +24,13 @@ #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); @@ -25,8 +24,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c #ifdef CONFIG_EZX_PCAP extern int ezx_pcap_mmcsd_power(int); -@@ -284,6 +287,63 @@ - .resource = pcap_ts_resources, +@@ -209,6 +212,63 @@ + .id = -1, }; +/* Keypad */ @@ -89,7 +88,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, -@@ -294,6 +354,7 @@ +@@ -218,6 +278,7 @@ { set_pxa_fb_info(&a1200_fb_info); pxa_set_mci_info(&a1200_mci_platform_data); 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 2327257507..bf328cd931 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,11 +1,11 @@ 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-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 @@ - }, +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-25 02:00:40.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-25 02:00:53.000000000 -0300 +@@ -269,9 +269,34 @@ }; + +/* PCAP_TS */ +struct resource pcap_ts_resources[] = { + [0] = { 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 f6e152c735..3824079c15 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,73 +1,15 @@ 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-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> - - #include "generic.h" -+#include "ezx-eoc.h" - - extern void ezx_lcd_power(int, struct fb_var_screeninfo *); - extern void ezx_backlight_power(int); -@@ -203,8 +204,65 @@ +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e6.c 2007-09-24 20:14:54.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-09-24 20:15:18.000000000 -0300 +@@ -203,8 +203,15 @@ }, }; + -+/* EOC */ -+static const unsigned int tab_init_eoc_reg[][2] = -+{ -+ {POWER_IC_REG_EOC_INT_MASK, 0x00000FEF}, -+ {POWER_IC_REG_EOC_POWER_CONTROL_0, 0x00000C00}, -+ {POWER_IC_REG_EOC_POWER_CONTROL_1, 0x0000000C}, -+ {POWER_IC_REG_EOC_CONN_CONTROL, 0x00021044}, -+}; -+ -+static void dump_eoc_registers(void) -+{ -+ int i, val = 0; -+ -+ printk("========DUMP EOC=========\n"); -+ for (i = 0; i < POWER_IC_REG_EOC_NUM; i++) { -+ eoc_reg_read(i, &val); -+ printk("eoc_registers[%d] = 0x%08X\n", i, val); -+ } -+ printk("========END DUMP=========\n"); -+} -+ -+/* -+ * FIXME: The same about the PCAP driver applies here. -+ * This is the initial state only. -+ * Which bits does the change to USB/UART/AUDIO mode? -+ * I think that this is causing the crash on pxa27x-udc -+ * you are setting the 'port connected' bit, and thats why -+ * you are getting interrupts early. -+ * --WM -+ */ -+ -+static int __init e6_eoc_init(void) -+{ -+ int i; -+ -+ for (i = 0; i < sizeof(tab_init_eoc_reg)/sizeof(unsigned int)/2; i++) -+ { -+ eoc_reg_write(tab_init_eoc_reg[i][0], tab_init_eoc_reg[i][1]); -+ } -+ dump_eoc_registers(); -+ return 0; -+} -+ -+static struct ezx_eoc_platform_data e6_eoc_platform_data = { -+ .init = e6_eoc_init, -+}; -+ +struct platform_device e6_eoc_device = { + .name = "ezx-eoc", + .id = -1, -+ .dev = { -+ .platform_data = &e6_eoc_platform_data, -+ }, +}; + static struct platform_device *devices[] __initdata = { 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 a39b782300..ad4a52eeec 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,9 +1,9 @@ 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-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 @@ - }, +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e6.c 2007-09-25 00:03:01.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-09-25 02:00:58.000000000 -0300 +@@ -209,9 +209,34 @@ + .id = -1, }; +/* PCAP_TS */ 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 e85a40d1a9..711a8a467b 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-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 +--- linux-2.6.21.orig/arch/arm/boot/compressed/head-xscale.S 2007-09-23 13:27:06.000000000 -0300 ++++ linux-2.6.21/arch/arm/boot/compressed/head-xscale.S 2007-09-23 13:27:19.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-09-23 11:16:58.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-09-23 11:18:47.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-09-23 13:27:06.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-09-23 13:27:19.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-09-23 11:16:58.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-09-23 11:18:47.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-09-23 13:27:06.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-09-23 13:27:19.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-09-23 11:18:47.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-09-23 13:27:19.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-09-23 11:17:06.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/ezx.h 2007-09-23 13:27:19.000000000 -0300 @@ -0,0 +1,225 @@ +/* + * linux/include/asm-arm/arch-pxa/ezx.h @@ -438,9 +438,9 @@ 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-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 @@ +--- linux-2.6.21.orig/include/asm-arm/arch-pxa/pxa-regs.h 2007-09-23 13:27:13.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-09-23 13:27:19.000000000 -0300 +@@ -856,6 +856,8 @@ #define UP2OCR_HXOE (1 << 17) /* Host Port 2 Transceiver Output Enable */ #define UP2OCR_SEOS (1 << 24) /* Single-Ended Output Select */ @@ -449,7 +449,7 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h #define UDCCSN(x) __REG2(0x40600100, (x) << 2) #define UDCCSR0 __REG(0x40600100) /* UDC Control/Status register - Endpoint 0 */ #define UDCCSR0_SA (1 << 7) /* Setup Active */ -@@ -1252,6 +1254,7 @@ +@@ -1259,6 +1261,7 @@ #define GPIO33_nCS_5 33 /* chip select 5 */ #define GPIO34_FFRXD 34 /* FFUART receive */ #define GPIO34_MMCCS0 34 /* MMC Chip Select 0 */ @@ -457,7 +457,7 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h #define GPIO35_FFCTS 35 /* FFUART Clear to send */ #define GPIO36_FFDCD 36 /* FFUART Data carrier detect */ #define GPIO37_FFDSR 37 /* FFUART data set ready */ -@@ -1365,6 +1368,7 @@ +@@ -1372,6 +1375,7 @@ #define GPIO18_RDY_MD (18 | GPIO_ALT_FN_1_IN) #define GPIO19_DREQ1_MD (19 | GPIO_ALT_FN_1_IN) #define GPIO20_DREQ0_MD (20 | GPIO_ALT_FN_1_IN) @@ -465,7 +465,7 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h #define GPIO23_SCLK_MD (23 | GPIO_ALT_FN_2_OUT) #define GPIO24_SFRM_MD (24 | GPIO_ALT_FN_2_OUT) #define GPIO25_STXD_MD (25 | GPIO_ALT_FN_2_OUT) -@@ -1375,23 +1379,33 @@ +@@ -1382,23 +1386,33 @@ #define GPIO28_BITCLK_OUT_I2S_MD (28 | GPIO_ALT_FN_1_OUT) #define GPIO29_SDATA_IN_AC97_MD (29 | GPIO_ALT_FN_1_IN) #define GPIO29_SDATA_IN_I2S_MD (29 | GPIO_ALT_FN_2_IN) @@ -499,7 +499,7 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h #define GPIO41_FFRTS_MD (41 | GPIO_ALT_FN_2_OUT) #define GPIO42_BTRXD_MD (42 | GPIO_ALT_FN_1_IN) #define GPIO42_HWRXD_MD (42 | GPIO_ALT_FN_3_IN) -@@ -1416,13 +1430,17 @@ +@@ -1423,13 +1437,17 @@ #define GPIO51_HWRTS_MD (51 | GPIO_ALT_FN_1_OUT) #define GPIO51_nPIOW_MD (51 | GPIO_ALT_FN_2_OUT) #define GPIO52_nPCE_1_MD (52 | GPIO_ALT_FN_2_OUT) @@ -517,7 +517,7 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h #define GPIO57_nIOIS16_MD (57 | GPIO_ALT_FN_1_IN) #define GPIO58_LDD_0_MD (58 | GPIO_ALT_FN_2_OUT) #define GPIO59_LDD_1_MD (59 | GPIO_ALT_FN_2_OUT) -@@ -1458,13 +1476,19 @@ +@@ -1465,13 +1483,19 @@ #define GPIO80_nCS_4_MD (80 | GPIO_ALT_FN_2_OUT) #define GPIO81_NSSP_CLK_OUT (81 | GPIO_ALT_FN_1_OUT) #define GPIO81_NSSP_CLK_IN (81 | GPIO_ALT_FN_1_IN) @@ -537,7 +537,7 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h #define GPIO92_MMCDAT0_MD (92 | GPIO_ALT_FN_1_OUT) #define GPIO102_nPCE_1_MD (102 | GPIO_ALT_FN_1_OUT) #define GPIO104_pSKTSEL_MD (104 | GPIO_ALT_FN_1_OUT) -@@ -1476,6 +1500,7 @@ +@@ -1483,6 +1507,7 @@ #define GPIO112_MMCCMD_MD (112 | GPIO_ALT_FN_1_OUT) #define GPIO113_I2S_SYSCLK_MD (113 | GPIO_ALT_FN_1_OUT) #define GPIO113_AC97_RESET_N_MD (113 | GPIO_ALT_FN_2_OUT) @@ -545,7 +545,7 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h #define GPIO117_I2CSCL_MD (117 | GPIO_ALT_FN_1_IN) #define GPIO118_I2CSDA_MD (118 | GPIO_ALT_FN_1_IN) -@@ -1491,6 +1516,7 @@ +@@ -1498,6 +1523,7 @@ #define PFER __REG(0x40F00014) /* Power Manager GPIO Falling-Edge Detect Enable Register */ #define PEDR __REG(0x40F00018) /* Power Manager GPIO Edge Detect Status Register */ #define PCFR __REG(0x40F0001C) /* Power Manager General Configuration Register */ @@ -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-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 +--- linux-2.6.21.orig/arch/arm/boot/compressed/head.S 2007-09-23 13:27:06.000000000 -0300 ++++ linux-2.6.21/arch/arm/boot/compressed/head.S 2007-09-23 13:27:19.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-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 +--- linux-2.6.21.orig/include/asm-arm/arch-pxa/uncompress.h 2007-09-23 13:27:06.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h 2007-09-23 13:27:19.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-09-23 11:16:58.000000000 -0300 -+++ linux-2.6.21/arch/arm/mm/init.c 2007-09-23 11:17:06.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mm/init.c 2007-09-23 13:27:07.000000000 -0300 ++++ linux-2.6.21/arch/arm/mm/init.c 2007-09-23 13:27:19.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-09-23 11:17:06.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-09-23 13:27:19.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-09-23 11:20:03.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c 2007-09-23 13:27:19.000000000 -0300 @@ -0,0 +1,70 @@ +/* + * ezx-e2.c - Code specific to E2 GSM Phone. @@ -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-09-23 11:17:06.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-09-23 13:27:19.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-09-23 11:19:29.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-23 13:27:19.000000000 -0300 @@ -0,0 +1,70 @@ +/* + * ezx-a1200.c - Code specific to A1200 GSM Phone. @@ -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-09-23 11:19:52.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-09-23 13:27:19.000000000 -0300 @@ -0,0 +1,70 @@ +/* + * ezx-e6.c - Code specific to E6 GSM Phone. 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 293251423c..bf93ebc854 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-23 09:31:23.000000000 -0300 -@@ -0,0 +1,272 @@ ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c 2007-09-24 23:40:45.000000000 -0300 +@@ -0,0 +1,260 @@ +/* + * EZX EOC Driver for Motorola EZX phones + * @@ -21,8 +21,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c +#include <asm/arch/hardware.h> +#include <asm/arch/pxa-regs.h> +#include <asm/arch/ezx.h> -+ -+#include "ezx-eoc.h" ++#include <asm/arch/udc.h> + +#if 1 +#define EOC_DBG printk @@ -30,26 +29,23 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c +#define EOC_DBG(x, args...) +#endif + ++#define REG_INT_STATUS 32 ++#define REG_INT_MASK 33 ++#define REG_INT_SENSE 34 ++#define REG_POWER_CONTROL_0 35 ++#define REG_POWER_CONTROL_1 36 ++#define REG_CONN_CONTROL 37 ++ +#define EOC_REG_ADDR_SIZE 1 +#define EOC_REG_DATA_SIZE 3 -+#define I2C_DRIVERID_EOC 2100 ++#define EOC_FUNC_NOTHING 0 ++#define EOC_FUNC_USB_NET 1 + -+struct ezx_eoc_platform_data *pdata; -+static int eoc_func = EOC_FUNC_USB_NET; +static const char eoc_i2c_driver_name[] = "ezx-eoc"; -+ -+/* Addresses to scan */ -+static unsigned short normal_i2c[] = { -+ 0x17, /* Address for version 2.0 and above */ -+ // 0x7C, /* Address for versions prior too 2.0 */ -+ I2C_CLIENT_END -+}; -+ -+/* I2C Magic */ -+I2C_CLIENT_INSMOD; ++static int eoc_func = EOC_FUNC_USB_NET; ++static struct pxa2xx_udc_mach_info ezx_udc_info; + +static int ezx_eoc_attach_adapter(struct i2c_adapter *adapter); -+static int ezx_eoc_detect(struct i2c_adapter *adapter, int address, int kind); +static int ezx_eoc_detach_client(struct i2c_client *client); + +static struct i2c_client *eoc_i2c_client = NULL; @@ -58,82 +54,68 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c + .driver = { + .name = (char *)eoc_i2c_driver_name, + }, -+ .id = I2C_DRIVERID_EOC, + .attach_adapter = ezx_eoc_attach_adapter, + .detach_client = ezx_eoc_detach_client, +}; + +int eoc_reg_read(int reg, unsigned int *reg_value) +{ -+ unsigned char reg_num = reg; -+ unsigned char value[EOC_REG_DATA_SIZE]; -+ int retval; -+ -+ struct i2c_msg msgs[2] = -+ { -+ { 0, 0, EOC_REG_ADDR_SIZE, ®_num }, -+ { 0, I2C_M_RD, EOC_REG_DATA_SIZE, value } -+ }; -+ -+ /* check if we have initialized */ /*not necessary --WM -+ if (eoc_i2c_client == NULL) -+ { -+ EOC_DBG("eoc_reg_read: not initialized\n"); -+ return -EINVAL; -+ } -+*/ -+ msgs[0].addr = msgs[1].addr = eoc_i2c_client->addr; -+ -+ /* transfer message to client */ -+ retval = i2c_transfer(eoc_i2c_client->adapter, msgs, 2); -+ if (retval >= 0) -+ { -+ *reg_value = (value[2] << 0); -+ *reg_value |= (value[1] << 8); -+ *reg_value |= (value[0] << 16); -+ } -+ return retval; ++ unsigned char reg_num = reg; ++ unsigned char value[EOC_REG_DATA_SIZE]; ++ int retval; ++ ++ struct i2c_msg msgs[2] = ++ { ++ { eoc_i2c_client->addr, 0, EOC_REG_ADDR_SIZE, ®_num }, ++ { eoc_i2c_client->addr, I2C_M_RD, EOC_REG_DATA_SIZE, value } ++ }; ++ ++ /* transfer message to client */ ++ retval = i2c_transfer(eoc_i2c_client->adapter, msgs, 2); ++ if (retval < 0) ++ return retval; ++ ++ *reg_value = (value[2] << 0); ++ *reg_value |= (value[1] << 8); ++ *reg_value |= (value[0] << 16); ++ return 0; +} -+EXPORT_SYMBOL_GPL(eoc_reg_read); + +int eoc_reg_write(int reg, unsigned int reg_value) +{ -+ unsigned char value[EOC_REG_ADDR_SIZE + EOC_REG_DATA_SIZE]; -+ int retval; -+ -+ /* check if we have initialized */ /*not necessary --WM -+ if (eoc_i2c_client == NULL) -+ { -+ EOC_DBG("eoc_reg_write: not initialized\n"); -+ return -EINVAL; -+ } -+*/ -+ /* Copy the data into a buffer into the correct format */ -+ value[0] = reg; -+ value[1] = (reg_value >> 16) & 0xFF; -+ value[2] = (reg_value >> 8) & 0xFF; -+ value[3] = (reg_value >> 0) & 0xFF; -+ -+ /* Write the data to the EOC */ -+ retval = i2c_master_send (eoc_i2c_client, value, EOC_REG_ADDR_SIZE + EOC_REG_DATA_SIZE); -+ -+ return retval; ++ unsigned char value[EOC_REG_ADDR_SIZE + EOC_REG_DATA_SIZE]; ++ int retval; ++ ++ /* Copy the data into a buffer into the correct format */ ++ value[0] = reg; ++ value[1] = (reg_value >> 16) & 0xFF; ++ value[2] = (reg_value >> 8) & 0xFF; ++ value[3] = (reg_value >> 0) & 0xFF; ++ ++ /* Write the data to the EOC */ ++ retval = i2c_master_send (eoc_i2c_client, value, EOC_REG_ADDR_SIZE + EOC_REG_DATA_SIZE); ++ if (retval < 0) ++ return retval; ++ return 0; +} -+EXPORT_SYMBOL_GPL(eoc_reg_write); + +static void eoc_switch_to_usb(void) +{ ++ EOC_DBG("EOC: Switching to USB\n"); + pxa_gpio_mode(GPIO34_USB_P2_2_MD); + pxa_gpio_mode(GPIO35_USB_P2_1_MD); + pxa_gpio_mode(GPIO36_USB_P2_4_MD); + pxa_gpio_mode(GPIO39_USB_P2_6_MD); + pxa_gpio_mode(GPIO40_USB_P2_5_MD); + pxa_gpio_mode(GPIO53_USB_P2_3_MD); -+ EOC_DBG("ALEX;*********************************************emu_switch_to_usb;\n"); ++ UP2OCR = 0x02000000; ++ /* FIXME change eoc bits to USB */ ++ +} + +static void eoc_switch_to_nothing(void) +{ ++ EOC_DBG("EOC: Switching do disconnected\n"); + pxa_gpio_mode(GPIO34_TXENB | GPIO_OUT); + set_GPIO(GPIO34_TXENB); + pxa_gpio_mode(GPIO35_XRXD | GPIO_IN); @@ -141,6 +123,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c + pxa_gpio_mode(GPIO39_VPOUT | GPIO_IN); + pxa_gpio_mode(GPIO40_VPIN | GPIO_IN); + pxa_gpio_mode(GPIO53_VMIN | GPIO_IN); ++ /* FIXME disconnect mini usb port */ +} + +static void eoc_switch_to_default(void) @@ -155,77 +138,56 @@ 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) +{ -+ if (!x) { -+ x++; -+ return i2c_probe(adapter, &addr_data, ezx_eoc_detect); -+ } -+ return -1; -+} -+ -+/* This function is called by i2c_probe */ -+static int ezx_eoc_detect(struct i2c_adapter *adapter, int address, int kind) -+{ -+ struct i2c_client *new_client; + int err = 0; ++ EOC_DBG(">>>>attach adapter enter\n"); ++ ++ if (eoc_i2c_client != NULL) { ++ EOC_DBG(">>>>already loaded!!!\n"); ++ return 0; ++ } |
