summaryrefslogtreecommitdiff
path: root/packages/linux
diff options
context:
space:
mode:
authorMichael Lauer <mickey@vanille-media.de>2005-08-22 10:30:30 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-08-22 10:30:30 +0000
commita1392aaa1d146d105ebf7a6528b91d5746dc0b89 (patch)
tree544be87e85beb17b818921c5ee851ca7c0c87863 /packages/linux
parenta98fc361734009b592044b9b73dfdce3f20caebd (diff)
add support for the Sharp SL-C3100 (Borzoi)
Diffstat (limited to 'packages/linux')
-rw-r--r--packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-spitz10
-rw-r--r--packages/linux/linux-openzaurus_2.6.13-rc5-mm1.bb1
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/.mtn2git_empty0
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/1764-1.patch16
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/CPAR050218.patch422
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P01-C3000-clockup_050221.patch202
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P02++050226.patch221
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P02-C3000-voltage_050221.patch179
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P03-C3000-SIGSTOP_FIX_041207.patch195
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P04-C3000-UNICON_041206.patch40089
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P05-C3000-TSPRESSURE_041207.patch235
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P06-C3000-WRITETS_041206.patch107
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P07-C3000-KBDDEV_041206.patch115
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P08-rtc-mremap-mremap2nd-fix_041213.patch140
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P09-ext3-isofs-fix_041216.patch359
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P10-ntfs-fix_041216.patch25
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P11-bluetooth-mh18_041216.patch16593
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P12-fbcon-fix_041219.patch51
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P14-lowlatency_041221.patch1677
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P17-bvdd_050222.patch1506
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P18-detailed_battery_050309.patch102
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/add-oz-release-string.patch24
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/armdeffix.patch13
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/bluecard_cs.patch11
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/compile.patch14
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/corgi-default-brightness.patch19
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/corgi-fbcon-logo.patch281
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/defconfig-akita1311
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/defconfig-borzoi1310
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/defconfig-spitz1309
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/deviceinfo.patch26
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/disable-pcmcia-probe.patch17
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/idecs.patch78
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/initsh.patch14
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/logo.patch2598
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/saner-spitz-keymap.patch225
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/swap-performance.patch19
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/tosa_ts.patch207
-rw-r--r--packages/linux/openzaurus-pxa27x_2.4.20-rmk2-embedix20050228.bb2
-rw-r--r--packages/linux/openzaurus-pxa27x_2.4.20-rmk2-embedix20050602.bb99
40 files changed, 69819 insertions, 3 deletions
diff --git a/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-spitz b/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-spitz
index a388797b6e..641852472c 100644
--- a/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-spitz
+++ b/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-spitz
@@ -256,6 +256,7 @@ CONFIG_IRDA=m
# IrDA protocols
#
CONFIG_IRLAN=m
+CONFIG_IRNET=m
CONFIG_IRCOMM=m
# CONFIG_IRDA_ULTRA is not set
@@ -554,7 +555,7 @@ CONFIG_NET_PCMCIA=y
# CONFIG_PCMCIA_3C589 is not set
# CONFIG_PCMCIA_3C574 is not set
# CONFIG_PCMCIA_FMVJ18X is not set
-# CONFIG_PCMCIA_PCNET is not set
+CONFIG_PCMCIA_PCNET=m
# CONFIG_PCMCIA_NMCLAN is not set
# CONFIG_PCMCIA_SMC91C92 is not set
# CONFIG_PCMCIA_XIRC2PS is not set
@@ -631,8 +632,11 @@ CONFIG_HW_CONSOLE=y
#
# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
+#
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
#
# Non-8250 serial port support
diff --git a/packages/linux/linux-openzaurus_2.6.13-rc5-mm1.bb b/packages/linux/linux-openzaurus_2.6.13-rc5-mm1.bb
index e624b8a1d5..cb40aad03a 100644
--- a/packages/linux/linux-openzaurus_2.6.13-rc5-mm1.bb
+++ b/packages/linux/linux-openzaurus_2.6.13-rc5-mm1.bb
@@ -132,6 +132,7 @@ COMPATIBLE_HOST = "arm.*-linux"
CMDLINE_CON = "console=ttyS0,115200n8 console=tty1 noinitrd"
CMDLINE_ROOT = "root=/dev/mtdblock2 rootfstype=jffs2 "
CMDLINE_ROOT_poodle = "root=/dev/mtdblock1 rootfstype=jffs2 "
+CMDLINE_ROOT_spitz = "root=/dev/hda1 rootfstype=ext3 "
##############################################################
# Configure memory/ramdisk split for collie
diff --git a/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/.mtn2git_empty b/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/.mtn2git_empty
diff --git a/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/1764-1.patch b/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/1764-1.patch
new file mode 100644
index 0000000000..0b660f3521
--- /dev/null
+++ b/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/1764-1.patch
@@ -0,0 +1,16 @@
+__arch_strncpy_from_user needs to be exported if you build the framebuffer console driver as a module.
+
+Cheers,
+
+Ian.
+
+--- linux-2.6-bkpxa.orig/arch/arm/kernel/armksyms.c 2004-02-27 10:35:29.000000000 +0000
++++ linux-2.6-bkpxa/arch/arm/kernel/armksyms.c 2004-02-27 14:55:02.000000000 +0000
+@@ -187,6 +187,7 @@
+ EXPORT_SYMBOL(__arch_copy_to_user);
+ EXPORT_SYMBOL(__arch_clear_user);
+ EXPORT_SYMBOL(__arch_strnlen_user);
++EXPORT_SYMBOL(__arch_strncpy_from_user);
+
+ /* consistent area handling */
+ EXPORT_SYMBOL(consistent_alloc);
diff --git a/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/CPAR050218.patch b/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/CPAR050218.patch
new file mode 100644
index 0000000000..a0b866219b
--- /dev/null
+++ b/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/CPAR050218.patch
@@ -0,0 +1,422 @@
+--- 050125/include/asm-arm/proc-armv/ptrace.h Tue Jan 25 00:22:44 2005
++++ 050218/include/asm-arm/proc-armv/ptrace.h Thu Feb 17 16:13:54 2005
+@@ -40,6 +40,10 @@
+
+ struct pt_regs {
+ long uregs[18];
++#if defined(CONFIG_CPU_PXA27X)
++ long cpar;
++ long mmx[ 16*2 + 6 + 1 ];
++#endif
+ };
+
+ #define ARM_cpsr uregs[16]
+--- 050125/include/asm-arm/sigcontext.h Tue Jan 25 00:22:42 2005
++++ 050218/include/asm-arm/sigcontext.h Thu Feb 17 18:16:28 2005
+@@ -28,6 +28,10 @@
+ unsigned long arm_pc;
+ unsigned long arm_cpsr;
+ unsigned long fault_address;
++#if defined(CONFIG_CPU_PXA27X)
++ unsigned long arm_cpar;
++ unsigned long arm_mmx[ 16*2 + 6 + 1 ];
++#endif
+ };
+
+
+--- 050125/include/asm-arm/elf.h Tue Jan 25 00:54:49 2005
++++ 050218/include/asm-arm/elf.h Thu Feb 17 16:19:02 2005
+@@ -1,6 +1,8 @@
+ #ifndef __ASMARM_ELF_H
+ #define __ASMARM_ELF_H
+
++#include <linux/config.h>
++
+ /*
+ * ELF register definitions..
+ */
+@@ -14,6 +16,7 @@
+
+ #define EM_ARM 40
+ #define EF_ARM_APCS26 0x08
++#define EF_ARM_SOFT_FLOAT 0x200
+
+ #define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t))
+ typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+--- 050125/arch/arm/kernel/entry-armv.S Tue Jan 25 00:21:45 2005
++++ 050218/arch/arm/kernel/entry-armv.S Fri Feb 18 07:29:34 2005
+@@ -271,7 +271,7 @@
+ tst \irqstat, #IRQ_MASK_DOORBELLHOST
+ movne \irqnr, #IRQ_DOORBELLHOST
+ bne 1001f
+-
++
+ tst \irqstat, #IRQ_MASK_I2OINPOST
+ movne \irqnr, #IRQ_I2OINPOST
+ bne 1001f
+@@ -494,12 +494,12 @@
+
+ #elif defined(CONFIG_ARCH_L7200)
+ #include <asm/hardware.h>
+-
++
+ .equ irq_base_addr, IO_BASE_2
+
+ .macro disable_fiq
+ .endm
+-
++
+ .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
+ mov \irqstat, #irq_base_addr @ Virt addr IRQ regs
+ add \irqstat, \irqstat, #0x00001000 @ Status reg
+@@ -589,7 +589,7 @@
+ .endm
+
+ .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
+-
++
+ /* Read all interrupts pending... */
+ ldr \irqnr, =IO_ADDRESS(PLAT_PERIPHERAL_BASE) + OMAHA_INTPND
+ ldr \irqstat, [\irqnr] /* INTPND */
+@@ -607,7 +607,7 @@
+ .endm
+
+ .macro irq_prio_table
+- .endm
++ .endm
+
+ #elif defined(CONFIG_ARCH_CLPS711X)
+
+@@ -654,23 +654,23 @@
+
+ .macro irq_prio_table
+ .endm
+-
++
+ #elif defined (CONFIG_ARCH_CAMELOT)
+ #include <asm/arch/platform.h>
+ #undef IRQ_MODE /* same name defined in asm/proc/ptrace.h */
+ #include <asm/arch/int_ctrl00.h>
+-
++
+ .macro disable_fiq
+ .endm
+
+ .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
+-
++
+ ldr \irqstat, =INT_ID(IO_ADDRESS(EXC_INT_CTRL00_BASE))
+- ldr \irqnr,[\irqstat]
++ ldr \irqnr,[\irqstat]
+ cmp \irqnr,#0
+ subne \irqnr,\irqnr,#1
+
+-
++
+ .endm
+
+ .macro irq_prio_table
+@@ -910,7 +910,7 @@
+ mov pc, r7 @ check, if this is a relevant code
+ cmp r0, #0 @ check return value
+ beq 1f @ else let linux do what it has to do
+-2:
++2:
+ #endif
+ #ifndef CONFIG_KGDB
+ adrsvc al, r9, 1f @ r9 = normal FP return
+@@ -977,6 +977,9 @@
+ stmia r5, {r2 - r4} @ Save USR pc, cpsr, old_r0
+ stmdb r5, {sp, lr}^
+ alignment_trap r7, r7, __temp_abt
++#ifdef CONFIG_CPU_PXA27X
++ save_user_mmx
++#endif
+ zero_fp
+ mov r0, r2 @ remove once everyones in sync
+ #ifdef MULTI_CPU
+@@ -1001,6 +1004,9 @@
+ stmia r8, {r5 - r7} @ save pc, psr, old_r0
+ stmdb r8, {sp, lr}^
+ alignment_trap r4, r7, __temp_irq
++#ifdef CONFIG_CPU_PXA27X
++ save_user_mmx
++#endif
+ zero_fp
+ get_current_task tsk
+ #ifdef CONFIG_PREEMPT
+@@ -1039,6 +1045,9 @@
+ stmia r8, {r5 - r7} @ Save USR pc, cpsr, old_r0
+ stmdb r8, {sp, lr}^ @ Save user sp, lr
+ alignment_trap r4, r7, __temp_und
++#ifdef CONFIG_CPU_PXA27X
++ save_user_mmx
++#endif
+ zero_fp
+ tst r6, #T_BIT @ Thumb mode
+ bne fpundefinstr
+@@ -1068,6 +1077,9 @@
+ stmia r8, {r5 - r7} @ Save USR pc, cpsr, old_r0
+ stmdb r8, {sp, lr}^ @ Save sp_usr lr_usr
+ alignment_trap r4, r7, __temp_abt
++#ifdef CONFIG_CPU_PXA27X
++ save_user_mmx
++#endif
+ zero_fp
+ mov r0, #MODE_SVC
+ msr cpsr_c, r0 @ Enable interrupts
+@@ -1394,7 +1406,7 @@
+ stmfd sp!, {r4, r5}
+ #endif
+ mrc p15, 0, r2, c3, c0
+- str r2, [sp, #-4]!
++ str r2, [sp, #-4]!
+
+ ldr r2, [r0]
+ str sp, [r2]
+--- 050125/arch/arm/kernel/entry-header.S Tue Jan 25 00:21:45 2005
++++ 050218/arch/arm/kernel/entry-header.S Thu Feb 17 20:15:24 2005
+@@ -42,9 +42,44 @@
+ @ Stack format (ensured by USER_* and SVC_*)
+ @
+ #ifdef CONFIG_CPU_32
+-#define S_FRAME_SIZE 72
+-#define S_OLD_R0 68
+-#define S_PSR 64
++#ifdef CONFIG_CPU_PXA27X
++ #define S_MMX 80
++
++ #define MMX_WR0 (0x00)
++ #define MMX_WR1 (0x08)
++ #define MMX_WR2 (0x10)
++ #define MMX_WR3 (0x18)
++ #define MMX_WR4 (0x20)
++ #define MMX_WR5 (0x28)
++ #define MMX_WR6 (0x30)
++ #define MMX_WR7 (0x38)
++ #define MMX_WR8 (0x40)
++ #define MMX_WR9 (0x48)
++ #define MMX_WR10 (0x50)
++ #define MMX_WR11 (0x58)
++ #define MMX_WR12 (0x60)
++ #define MMX_WR13 (0x68)
++ #define MMX_WR14 (0x70)
++ #define MMX_WR15 (0x78)
++ #define MMX_WCSSF (0x80)
++ #define MMX_WCASF (0x84)
++ #define MMX_WCGR0 (0x88)
++ #define MMX_WCGR1 (0x8C)
++ #define MMX_WCGR2 (0x90)
++ #define MMX_WCGR3 (0x94)
++
++ #define MMX_SIZE (0x98)
++
++ #define S_FRAME_SIZE (76+4+MMX_SIZE)
++
++ #define S_CPAR 72
++ #define S_OLD_R0 68
++ #define S_PSR 64
++#else
++ #define S_FRAME_SIZE 72
++ #define S_OLD_R0 68
++ #define S_PSR 64
++#endif
+ #else
+ #define S_FRAME_SIZE 68
+ #define S_OLD_R0 64
+@@ -88,6 +123,43 @@
+ set_cpsr_c \temp, #MODE_SVC
+ .endm
+
++#ifdef CONFIG_CPU_PXA27X
++ .macro save_user_mmx
++ mrc p15, 0, r0, c15, c1, 0
++ str r0, [sp, #S_CPAR] @ Save CPAR
++ cmp r0, #3
++ bne 1f
++ add r0,sp,#S_MMX @ StoreMMX
++ bic r0, r0, #7
++ wstrw wCSSF, [r0, #MMX_WCSSF]
++ wstrw wCASF, [r0, #MMX_WCASF]
++ wstrw wCGR0, [r0, #MMX_WCGR0]
++ wstrw wCGR1, [r0, #MMX_WCGR1]
++ wstrw wCGR2, [r0, #MMX_WCGR2]
++ wstrw wCGR3, [r0, #MMX_WCGR3]
++ wstrd wR0, [r0, #MMX_WR0]
++ wstrd wR1, [r0, #MMX_WR1]
++ wstrd wR2, [r0, #MMX_WR2]
++ wstrd wR3, [r0, #MMX_WR3]
++ wstrd wR4, [r0, #MMX_WR4]
++ wstrd wR5, [r0, #MMX_WR5]
++ wstrd wR6, [r0, #MMX_WR6]
++ wstrd wR7, [r0, #MMX_WR7]
++ wstrd wR8, [r0, #MMX_WR8]
++ wstrd wR9, [r0, #MMX_WR9]
++ wstrd wR10, [r0, #MMX_WR10]
++ wstrd wR11, [r0, #MMX_WR11]
++ wstrd wR12, [r0, #MMX_WR12]
++ wstrd wR13, [r0, #MMX_WR13]
++ wstrd wR14, [r0, #MMX_WR14]
++ wstrd wR15, [r0, #MMX_WR15]
++1:
++ mov r0, #1
++ mcr p15, 0, r0, c15, c1, 0 @ CP0 Only.
++ ldr r0, [sp] @ Restore R0
++ .endm
++#endif
++
+ .macro save_user_regs
+ sub sp, sp, #S_FRAME_SIZE
+ stmia sp, {r0 - r12} @ Calling r0 - r12
+@@ -97,12 +169,44 @@
+ str lr, [sp, #S_PC] @ Save calling PC
+ str r8, [sp, #S_PSR] @ Save CPSR
+ str r0, [sp, #S_OLD_R0] @ Save OLD_R0
++ save_user_mmx
+ .endm
+
+ /*
+ * Must be called with IRQs already disabled.
+ */
+ .macro restore_user_regs
++#ifdef CONFIG_CPU_PXA27X
++ ldr r1, [sp, #S_CPAR]
++ mcr p15, 0, r1, c15, c1, 0
++ cmp r1, #3
++ bne 2f
++ add r1,sp,#S_MMX @ LoadMMX
++ bic r1, r1, #7
++ wldrd wR0, [r1, #MMX_WR0]
++ wldrd wR1, [r1, #MMX_WR1]
++ wldrd wR2, [r1, #MMX_WR2]
++ wldrd wR3, [r1, #MMX_WR3]
++ wldrd wR4, [r1, #MMX_WR4]
++ wldrd wR5, [r1, #MMX_WR5]
++ wldrd wR6, [r1, #MMX_WR6]
++ wldrd wR7, [r1, #MMX_WR7]
++ wldrd wR8, [r1, #MMX_WR8]
++ wldrd wR9, [r1, #MMX_WR9]
++ wldrd wR10, [r1, #MMX_WR10]
++ wldrd wR11, [r1, #MMX_WR11]
++ wldrd wR12, [r1, #MMX_WR12]
++ wldrd wR13, [r1, #MMX_WR13]
++ wldrd wR14, [r1, #MMX_WR14]
++ wldrd wR15, [r1, #MMX_WR15]
++ wldrw wCSSF, [r1, #MMX_WCSSF]
++ wldrw wCASF, [r1, #MMX_WCASF]
++ wldrw wCGR0, [r1, #MMX_WCGR0]
++ wldrw wCGR1, [r1, #MMX_WCGR1]
++ wldrw wCGR2, [r1, #MMX_WCGR2]
++ wldrw wCGR3, [r1, #MMX_WCGR3]
++2:
++#endif
+ ldr r1, [sp, #S_PSR] @ Get calling cpsr
+ ldr lr, [sp, #S_PC]! @ Get PC
+ msr spsr, r1 @ save in spsr_svc
+@@ -116,6 +220,37 @@
+ * Must be called with IRQs already disabled.
+ */
+ .macro fast_restore_user_regs
++#ifdef CONFIG_CPU_PXA27X
++ ldr r1, [sp, #S_OFF + S_CPAR]
++ mcr p15, 0, r1, c15, c1, 0
++ cmp r1, #3
++ bne 3f
++ add r1,sp,#S_OFF + S_MMX @ LoadMMX
++ bic r1, r1, #7
++ wldrd wR0, [r1, #MMX_WR0]
++ wldrd wR1, [r1, #MMX_WR1]
++ wldrd wR2, [r1, #MMX_WR2]
++ wldrd wR3, [r1, #MMX_WR3]
++ wldrd wR4, [r1, #MMX_WR4]
++ wldrd wR5, [r1, #MMX_WR5]
++ wldrd wR6, [r1, #MMX_WR6]
++ wldrd wR7, [r1, #MMX_WR7]
++ wldrd wR8, [r1, #MMX_WR8]
++ wldrd wR9, [r1, #MMX_WR9]
++ wldrd wR10, [r1, #MMX_WR10]
++ wldrd wR11, [r1, #MMX_WR11]
++ wldrd wR12, [r1, #MMX_WR12]
++ wldrd wR13, [r1, #MMX_WR13]
++ wldrd wR14, [r1, #MMX_WR14]
++ wldrd wR15, [r1, #MMX_WR15]
++ wldrw wCSSF, [r1, #MMX_WCSSF]
++ wldrw wCASF, [r1, #MMX_WCASF]
++ wldrw wCGR0, [r1, #MMX_WCGR0]
++ wldrw wCGR1, [r1, #MMX_WCGR1]
++ wldrw wCGR2, [r1, #MMX_WCGR2]
++ wldrw wCGR3, [r1, #MMX_WCGR3]
++3:
++#endif
+ ldr r1, [sp, #S_OFF + S_PSR] @ get calling cpsr
+ ldr lr, [sp, #S_OFF + S_PC]! @ get pc
+ msr spsr, r1 @ save in spsr_svc
+--- 050125/arch/arm/kernel/signal.c Tue Jan 25 00:21:45 2005
++++ 050218/arch/arm/kernel/signal.c Thu Feb 17 18:22:10 2005
+@@ -198,6 +198,13 @@
+ {
+ int err = 0;
+
++#if defined(CONFIG_CPU_PXA27X)
++ int _m;
++ __get_user_error(regs->cpar, &sc->arm_cpar, err);
++ for( _m=0; _m<16*2 + 6 + 1; ++_m ) {
++ __get_user_error(regs->mmx[ _m ], &sc->arm_mmx[ _m ], err);
++ }
++#endif
+ __get_user_error(regs->ARM_r0, &sc->arm_r0, err);
+ __get_user_error(regs->ARM_r1, &sc->arm_r1, err);
+ __get_user_error(regs->ARM_r2, &sc->arm_r2, err);
+@@ -312,6 +319,13 @@
+ {
+ int err = 0;
+
++#if defined(CONFIG_CPU_PXA27X)
++ int _m;
++ __put_user_error(regs->cpar, &sc->arm_cpar, err);
++ for( _m=0; _m<16*2 + 6 + 1; ++_m ) {
++ __put_user_error(regs->mmx[ _m ], &sc->arm_mmx[ _m ], err);
++ }
++#endif
+ __put_user_error(regs->ARM_r0, &sc->arm_r0, err);
+ __put_user_error(regs->ARM_r1, &sc->arm_r1, err);
+ __put_user_error(regs->ARM_r2, &sc->arm_r2, err);
+--- 050125/arch/arm/Makefile Tue Jan 25 00:21:44 2005
++++ 050218/arch/arm/Makefile Thu Feb 17 09:38:40 2005
+@@ -69,7 +69,8 @@
+
+ ifeq ($(CONFIG_ARCH_SHARP_SL),y)
+ CROSS_COMPILE = arm-linux-
+-arch-y :=-D__LINUX_ARM_ARCH__=4 -march=armv4 -Wa,-mxscale
++#arch-y :=-D__LINUX_ARM_ARCH__=4 -march=armv4 -Wa,-mxscale
++arch-y :=-D__LINUX_ARM_ARCH__=4 -Wa,-mcpu=iwmmxt
+ tune-y :=-mtune=strongarm
+ endif
+
+@@ -212,7 +213,7 @@
+ MACHINE = omaha
+ endif
+
+-ifeq ($(CONFIG_XIP_KERNEL),y)
++ifeq ($(CONFIG_XIP_KERNEL),y)
+ DATAADDR := $(TEXTADDR)
+ # Replace phys addr with virt addr while keeping offset from base.
+ # Virt base addr also defined in include/asm-arm/arch-*/hardware.h
+--- 050125/fs/binfmt_elf.c Tue Jan 25 00:22:37 2005
++++ 050218/fs/binfmt_elf.c Thu Feb 17 08:52:54 2005
+@@ -815,6 +815,15 @@
+ ELF_PLAT_INIT(regs);
+ #endif
+
++#if defined(CONFIG_CPU_PXA27X)
++ if( elf_ex.e_flags & EF_ARM_SOFT_FLOAT ) {
++ regs->cpar = 0x03; //CP0 CP1 Used.
++ }
++ else {
++ regs->cpar = 0x01; //CP0 Only.
++ }
++#endif
++
+ start_thread(regs, elf_entry, bprm->p);
+ if (current->ptrace & PT_PTRACED)
+ send_sig(SIGTRAP, current, 0);
diff --git a/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P01-C3000-clockup_050221.patch b/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P01-C3000-clockup_050221.patch
new file mode 100644
index 0000000000..d193f23733
--- /dev/null
+++ b/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P01-C3000-clockup_050221.patch
@@ -0,0 +1,202 @@
+diff -Nur c3000_org/linux/arch/arm/config.in c3000_work/linux/arch/arm/config.in
+--- c3000_org/linux/arch/arm/config.in 2004-08-21 09:48:07.000000000 +0900
++++ c3000_work/linux/arch/arm/config.in 2005-02-21 21:41:40.000000000 +0900
+@@ -195,7 +195,7 @@
+ dep_bool ' SHARP Spitz' CONFIG_ARCH_PXA_SPITZ $CONFIG_ARCH_PXA_BOXER
+ dep_bool ' Using Trial 0' CONFIG_SPITZ_TR0 $CONFIG_ARCH_PXA_SPITZ
+ dep_bool ' Using Trial 0.5' CONFIG_SPITZ_TR0_5 $CONFIG_ARCH_PXA_SPITZ
+-dep_bool ' SHARP Tosa' CONFIG_ARCH_PXA_TOSA
++dep_bool ' SHARP Tosa' CONFIG_ARCH_PXA_TOSA $CONFIG_ARCH_PXA
+ dep_bool ' SHARP Tosa skipping' CONFIG_ARCH_PXA_TOSA_SKIP $CONFIG_ARCH_PXA_TOSA
+
+ if [ "$CONFIG_SABINAL_DISCOVERY" = "y" -o "$CONFIG_ARCH_PXA_POODLE" = "y" -o \
+@@ -475,6 +475,9 @@
+ if [ "$CONFIG_ARCH_PXA_SPITZ" = "y" ]; then
+ define_bool CONFIG_CPU_PXA27X y
+ fi
++ if [ "$CONFIG_ARCH_PXA_SPITZ" = "y" ]; then
++ bool 'Use clock change(cccr_change) enable (EXPERIMENTAL)' CONFIG_SL_CCCR_CHANGE
++ fi
+ if [ "$CONFIG_ARCH_SHARP_SL" = "y" ]; then
+ define_bool CONFIG_BATT y
+ fi
+@@ -557,7 +560,7 @@
+ # bool ' Real-Time Scheduling support' CONFIG_RTSCHED
+ define_bool CONFIG_RTSCHED y
+ if [ "$CONFIG_RTSCHED" = "y" ]; then
+- int ' MAX PTHREAD (int)' CONFIG_RTH_PTHREAD_MAX 128
++ int ' MAX PTHREAD (int)' CONFIG_RTH_PTHREAD_MAX 128
+ hex ' RT MEMORY SIZE (hex)' CONFIG_RT_MEM_SIZE 80000
+ bool ' Real-Time Calibrate support' CONFIG_RTHAL_CALIBRATION
+ if [ "$CONFIG_RTHAL_CALIBRATION" != "y" ]; then
+@@ -615,7 +618,7 @@
+ hex 'Compressed ROM boot loader BSS address' CONFIG_ZBOOT_ROM_BSS 0
+ else
+ define_hex CONFIG_ZBOOT_ROM_TEXT 0
+- define_hex CONFIG_ZBOOT_ROM_BSS 0
++ define_hex CONFIG_ZBOOT_ROM_BSS 0
+ fi
+
+ if [ "$CONFIG_ARCH_SA1100" = "y" -o \
+diff -Nur c3000_org/linux/arch/arm/mach-pxa/sharpsl_apm.c c3000_work/linux/arch/arm/mach-pxa/sharpsl_apm.c
+--- c3000_org/linux/arch/arm/mach-pxa/sharpsl_apm.c 2004-11-16 15:31:06.000000000 +0900
++++ c3000_work/linux/arch/arm/mach-pxa/sharpsl_apm.c 2005-02-21 21:44:13.000000000 +0900
+@@ -130,6 +130,11 @@
+ extern int HWR_flag;
+ #endif
+
++#if defined(CONFIG_SL_CCCR_CHANGE)
++extern unsigned int CCCR_ValAdr_high;
++struct proc_dir_entry *proc_zaurus;
++#endif
++
+ #if defined(CONFIG_SABINAL_DISCOVERY)
+ #define SHARPSL_AC_LINE_STATUS (( ASIC3_GPIO_PSTS_D & AC_IN )? APM_AC_OFFLINE : APM_AC_ONLINE)
+ #define BACKPACK_IN_DETECT() ( ASIC3_GPIO_PSTS_D & BACKPACK_DETECT ) /* 0: exist , 1: not in */
+@@ -974,6 +979,63 @@
+
+ EXPORT_SYMBOL(lock_FCS);
+
++#if defined(CONFIG_SL_CCCR_CHANGE)
++
++void write_cccr(int cccr)
++{
++ printk("Change CCCR = %x.\n",cccr);
++ CCCR_ValAdr_high = cccr;
++ sharpsl_chg_freq = cccr;
++ cpu_xscale_sl_change_speed_high();
++ cccr_reg = CCCR;
++ printk("Changed CCCR = %x.\n",cccr_reg);
++ return;
++}
++
++int read_cccr(void)
++{
++ return CCCR_ValAdr_high;
++}
++
++static ssize_t cccr_change_read_params(struct file *file, char *buf,
++ size_t nbytes, loff_t *ppos)
++{
++ char outputbuf[32];
++ int count;
++
++ if (*ppos>0) /* Assume reading completed in previous read*/
++ return 0;
++ count = sprintf(outputbuf, "0x%08X\n", read_cccr());
++ count++;
++ *ppos += count;
++ if (count>nbytes)/* Assume output can be read at one time */
++ return -EINVAL;
++ if (copy_to_user(buf, outputbuf, count+1))
++ return -EFAULT;
++ return count;
++}
++
++static ssize_t cccr_change_write_params(struct file *file, const char *buf,
++ size_t nbytes, loff_t *ppos)
++{
++ unsigned int param=0;
++
++ sscanf(buf,"%x",&param);
++ if (param) {
++ write_cccr(param);
++ }
++ return nbytes;
++}
++
++static struct file_operations proc_cccr_change_params_operations = {
++ read:cccr_change_read_params,
++ write:cccr_change_write_params,
++};
++
++EXPORT_SYMBOL(read_cccr);
++EXPORT_SYMBOL(write_cccr);
++#endif
++
+ #ifdef CONFIG_APM_CPU_IDLE
+ #ifdef SHARPSL_NEW_IDLE
+ static int save_icmr;
+@@ -2786,6 +2848,7 @@
+ struct proc_dir_entry *apm_proc;
+ struct proc_dir_entry *lock_fcs_proc;
+ struct proc_dir_entry *power_mode_proc;
++ struct proc_dir_entry *cccr_change_proc;
+
+ apm_info.bios = apm_bios_info;
+ if (apm_info.bios.version == 0) {
+@@ -2822,6 +2885,9 @@
+ printk("FCS : CCCR = %x\n",cccr_reg);
+ #if defined(CONFIG_CPU_PXA27X)
+ sharpsl_chg_freq = cccr_reg;
++#if defined(CONFIG_SL_CCCR_CHANGE)
++ CCCR_ValAdr_high = sharpsl_chg_freq;
++#endif
+ #endif
+ #endif
+
+@@ -2902,6 +2968,19 @@
+ power_mode_proc->proc_fops = &proc_power_mode_params_operations;
+ }
+
++#if defined(CONFIG_SL_CCCR_CHANGE)
++ proc_zaurus = proc_mkdir("zaurus", NULL);
++ if (proc_zaurus == NULL) {
++ unregister_chrdev(228, "zaurus");
++ printk(KERN_ERR "proc: can't create /proc/zaurus\n");
++ return -ENOMEM;
++ }
++
++ cccr_change_proc = create_proc_entry("zaurus/CCCR", 0, NULL);
++ if (cccr_change_proc) {
++ cccr_change_proc->proc_fops = &proc_cccr_change_params_operations;
++ }
++#endif
+ kernel_thread(apm_thread, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
+
+ #if defined(CONFIG_SABINAL_DISCOVERY) || defined(CONFIG_ARCH_PXA_TOSA)
+diff -Nur c3000_org/linux/arch/arm/mach-pxa/sharpsl_suspend.S c3000_work/linux/arch/arm/mach-pxa/sharpsl_suspend.S
+--- c3000_org/linux/arch/arm/mach-pxa/sharpsl_suspend.S 2004-11-09 14:30:36.000000000 +0900
++++ c3000_work/linux/arch/arm/mach-pxa/sharpsl_suspend.S 2005-02-21 21:41:40.000000000 +0900
+@@ -64,7 +64,7 @@
+
+ sleep_param: .word 0 @ virtual address of parameter array
+ sleep_param_p: .word 0 @ physical address of parameter array
+-
++
+ IC_BASE: .word io_p2v(0x40D00000)
+
+
+@@ -1109,6 +1109,9 @@
+
+ #else /* CONFIG_CPU_PXA27X */
+
++#if defined(CONFIG_SL_CCCR_CHANGE)
++ .global CCCR_ValAdr_high
++#endif
+ CCCR_ValAdr_high: .word 0x02000210
+ MSC0_ValAdr_high: .word 0x7ff02DD8
+ MSC1_ValAdr_high: .word 0x7ff434D4
+@@ -1305,8 +1308,12 @@
+ stmfd sp!, {r0, r1, r2, r3, r4, lr}
+
+ ldr r0, CMR_BASE
++#if defined(CONFIG_SL_CCCR_CHANGE)
++ ldr r1, CCCR_ValAdr_high