summaryrefslogtreecommitdiff
path: root/ANDROID_3.4.5/arch/arm/boot/compressed/head-sharpsl.S
diff options
context:
space:
mode:
Diffstat (limited to 'ANDROID_3.4.5/arch/arm/boot/compressed/head-sharpsl.S')
-rw-r--r--ANDROID_3.4.5/arch/arm/boot/compressed/head-sharpsl.S150
1 files changed, 0 insertions, 150 deletions
diff --git a/ANDROID_3.4.5/arch/arm/boot/compressed/head-sharpsl.S b/ANDROID_3.4.5/arch/arm/boot/compressed/head-sharpsl.S
deleted file mode 100644
index eb0084ea..00000000
--- a/ANDROID_3.4.5/arch/arm/boot/compressed/head-sharpsl.S
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * linux/arch/arm/boot/compressed/head-sharpsl.S
- *
- * Copyright (C) 2004-2005 Richard Purdie <rpurdie@rpsys.net>
- *
- * Sharp's bootloader doesn't pass any kind of machine ID
- * so we have to figure out the machine for ourselves...
- *
- * Support for Poodle, Corgi (SL-C700), Shepherd (SL-C750)
- * Husky (SL-C760), Tosa (SL-C6000), Spitz (SL-C3000),
- * Akita (SL-C1000) and Borzoi (SL-C3100).
- *
- */
-
-#include <linux/linkage.h>
-#include <asm/mach-types.h>
-
-#ifndef CONFIG_PXA_SHARPSL
-#error What am I doing here...
-#endif
-
- .section ".start", "ax"
-
-__SharpSL_start:
-
-/* Check for TC6393 - if found we have a Tosa */
- ldr r7, .TOSAID
- mov r1, #0x10000000 @ Base address of TC6393 chip
- mov r6, #0x03
- ldrh r3, [r1, #8] @ Load TC6393XB Revison: This is 0x0003
- cmp r6, r3
- beq .SHARPEND @ Success -> tosa
-
-/* Check for pxa270 - if found, branch */
- mrc p15, 0, r4, c0, c0 @ Get Processor ID
- and r4, r4, #0xffffff00
- ldr r3, .PXA270ID
- cmp r4, r3
- beq .PXA270
-
-/* Check for w100 - if not found we have a Poodle */
- ldr r1, .W100ADDR @ Base address of w100 chip + regs offset
-
- mov r6, #0x31 @ Load Magic Init value
- str r6, [r1, #0x280] @ to SCRATCH_UMSK
- mov r5, #0x3000
-.W100LOOP:
- subs r5, r5, #1
- bne .W100LOOP
- mov r6, #0x30 @ Load 2nd Magic Init value
- str r6, [r1, #0x280] @ to SCRATCH_UMSK
-
- ldr r6, [r1, #0] @ Load Chip ID
- ldr r3, .W100ID
- ldr r7, .POODLEID
- cmp r6, r3
- bne .SHARPEND @ We have no w100 - Poodle
-
-/* Check for pxa250 - if found we have a Corgi */
- ldr r7, .CORGIID
- ldr r3, .PXA255ID
- cmp r4, r3
- blo .SHARPEND @ We have a PXA250 - Corgi
-
-/* Check for 64MiB flash - if found we have a Shepherd */
- bl get_flash_ids
- ldr r7, .SHEPHERDID
- cmp r3, #0x76 @ 64MiB flash
- beq .SHARPEND @ We have Shepherd
-
-/* Must be a Husky */
- ldr r7, .HUSKYID @ Must be Husky
- b .SHARPEND
-
-.PXA270:
-/* Check for 16MiB flash - if found we have Spitz */
- bl get_flash_ids
- ldr r7, .SPITZID
- cmp r3, #0x73 @ 16MiB flash
- beq .SHARPEND @ We have Spitz
-
-/* Check for a second SCOOP chip - if found we have Borzoi */
- ldr r1, .SCOOP2ADDR
- ldr r7, .BORZOIID
- mov r6, #0x0140
- strh r6, [r1]
- ldrh r6, [r1]
- cmp r6, #0x0140
- beq .SHARPEND @ We have Borzoi
-
-/* Must be Akita */
- ldr r7, .AKITAID
- b .SHARPEND @ We have Borzoi
-
-.PXA255ID:
- .word 0x69052d00 @ PXA255 Processor ID
-.PXA270ID:
- .word 0x69054100 @ PXA270 Processor ID
-.W100ID:
- .word 0x57411002 @ w100 Chip ID
-.W100ADDR:
- .word 0x08010000 @ w100 Chip ID Reg Address
-.SCOOP2ADDR:
- .word 0x08800040
-.POODLEID:
- .word MACH_TYPE_POODLE
-.CORGIID:
- .word MACH_TYPE_CORGI
-.SHEPHERDID:
- .word MACH_TYPE_SHEPHERD
-.HUSKYID:
- .word MACH_TYPE_HUSKY
-.TOSAID:
- .word MACH_TYPE_TOSA
-.SPITZID:
- .word MACH_TYPE_SPITZ
-.AKITAID:
- .word MACH_TYPE_AKITA
-.BORZOIID:
- .word MACH_TYPE_BORZOI
-
-/*
- * Return: r2 - NAND Manufacturer ID
- * r3 - NAND Chip ID
- * Corrupts: r1
- */
-get_flash_ids:
- mov r1, #0x0c000000 @ Base address of NAND chip
- ldrb r3, [r1, #24] @ Load FLASHCTL
- bic r3, r3, #0x11 @ SET NCE
- orr r3, r3, #0x0a @ SET CLR + FLWP
- strb r3, [r1, #24] @ Save to FLASHCTL
- mov r2, #0x90 @ Command "readid"
- strb r2, [r1, #20] @ Save to FLASHIO
- bic r3, r3, #2 @ CLR CLE
- orr r3, r3, #4 @ SET ALE
- strb r3, [r1, #24] @ Save to FLASHCTL
- mov r2, #0 @ Address 0x00
- strb r2, [r1, #20] @ Save to FLASHIO
- bic r3, r3, #4 @ CLR ALE
- strb r3, [r1, #24] @ Save to FLASHCTL
-.fids1:
- ldrb r3, [r1, #24] @ Load FLASHCTL
- tst r3, #32 @ Is chip ready?
- beq .fids1
- ldrb r2, [r1, #20] @ NAND Manufacturer ID
- ldrb r3, [r1, #20] @ NAND Chip ID
- mov pc, lr
-
-.SHARPEND: