# HG changeset patch
# User Matt Mackall <mpm@selenic.com>
# Date 1249941526 18000
# Node ID 6dff35c285116ab82116ddea0801d22ad93bfbd6
# Parent  312d5194b3dcaf8340b15c41faf560842f140c55
imported patch comcerto-head

diff -r 312d5194b3dc -r 6dff35c28511 arch/arm/boot/compressed/Makefile
--- a/arch/arm/boot/compressed/Makefile	Mon Aug 10 16:58:46 2009 -0500
+++ b/arch/arm/boot/compressed/Makefile	Mon Aug 10 16:58:46 2009 -0500
@@ -36,6 +36,10 @@
 OBJS		+= head-xscale.o
 endif
 
+ifeq ($(CONFIG_ARCH_COMCERTO),y)
+OBJS		+= head-comcerto.o
+endif
+
 ifeq ($(CONFIG_PXA_SHARPSL),y)
 OBJS		+= head-sharpsl.o
 endif
diff -r 312d5194b3dc -r 6dff35c28511 arch/arm/boot/compressed/head-comcerto.S
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/arch/arm/boot/compressed/head-comcerto.S	Mon Aug 10 16:58:46 2009 -0500
@@ -0,0 +1,6 @@
+#include <asm/mach-types.h>
+
+	.section	".start", "ax"
+	ldr	r7,mach_type
+
+mach_type:     .word    MACH_TYPE_COMCERTO
diff -r 312d5194b3dc -r 6dff35c28511 arch/arm/boot/compressed/head.S
--- a/arch/arm/boot/compressed/head.S	Mon Aug 10 16:58:46 2009 -0500
+++ b/arch/arm/boot/compressed/head.S	Mon Aug 10 16:58:46 2009 -0500
@@ -58,6 +58,14 @@
 		add	\rb, \rb, #0x00010000	@ Ser1
 #endif
 		.endm
+#elif defined(CONFIG_ARCH_COMCERTO)
+		.macro	loadsp, rb
+		mov	\rb, #0x10000000
+		orr	\rb, \rb, #0x00090000
+		.endm
+		.macro	writeb, rb
+		strb	\rb, [r3, #0]
+		.endm
 #elif defined(CONFIG_ARCH_S3C2410)
 		.macro loadsp, rb
 		mov	\rb, #0x50000000
@@ -400,7 +408,11 @@
 		mov	r0, r3
 		mov	r9, r0, lsr #18
 		mov	r9, r9, lsl #18		@ start of RAM
+#if defined(CONFIG_ARCH_COMCERTO)
+		add	r10, r9, #0x1000000	@ a reasonable RAM size
+#else
 		add	r10, r9, #0x10000000	@ a reasonable RAM size
+#endif
 		mov	r1, #0x12
 		orr	r1, r1, #3 << 10
 		add	r2, r3, #16384
