sync hh.org
[hh.org.git] / arch / arm / boot / compressed / head-h2200.S
blob7048ea32257bd24b81c7c442c43813c9abe8f8ca
1 /*
2  * linux/arch/arm/boot/compressed/head-h2200.S
3  *
4  * Copyright (C) 2005 Matt Reimer <mreimer@vpop.net>
5  *
6  * For HP iPAQ H2200
7  *
8  * The HTC 1st-stage bootloader loads the first block of the 2nd-stage
9  * bootloader (NAND blocks 10-80) and verifies its validity by looking
10  * for 0xea0003fe ('b 0x1000') at offset 0x0 and 'ECEC' at offset 0x40;
11  * If present, the entire 2nd-stage loader is read and then the 1st-stage
12  * jumps into the beginning of the 2nd-stage; otherwise, the 1st-stage
13  * loads and jumps into the rescue bootloader (NAND blocks 1-7).
14  */
16 #include <asm/mach-types.h>
18                 .section        ".start", "ax"
20                 b       0x1000
22                 .org    0x40
23                 .ascii  "ECEC"
25                 .org    0x1000
27                 mov     r0, #0
28                 mov     r1, #(MACH_TYPE_H2200 & 0xff)
29                 orr     r1, r1, #(MACH_TYPE_H2200 & 0xff00)
30                 mov     r2, #0
32 #include "head.S"