summaryrefslogtreecommitdiff
path: root/arch/arm/mach-pxa/mioa701_bootresume.S
diff options
context:
space:
mode:
authorRobert Jarzmik <rjarzmik@free.fr>2008-08-17 12:34:30 +0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-08-26 20:01:37 +0400
commiteda6f6ecbbd6bea070ca296e40c2117d80117b76 (patch)
treead01f1de3360287c300721f8930e2c3791969c3c /arch/arm/mach-pxa/mioa701_bootresume.S
parentb8e6c91c74e9f0279b7c51048779b3d62da60b88 (diff)
downloadlinux-eda6f6ecbbd6bea070ca296e40c2117d80117b76.tar.xz
[ARM] 5202/1: pxa: Added Mitac Mio A701 smartphone support.
The Mio A701 support features : - GSM support - Bluetooth support - GPS support - LED/Vibrator support - Suspend/Resume support (very dependant on Mio FlashRam) - Screen/Backlight support - Keys/Keyboard support - USB udc support - MMC/SDIO support - Flash Memory support - Battery/AC plugin support Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-pxa/mioa701_bootresume.S')
-rw-r--r--arch/arm/mach-pxa/mioa701_bootresume.S36
1 files changed, 36 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/mioa701_bootresume.S b/arch/arm/mach-pxa/mioa701_bootresume.S
new file mode 100644
index 000000000000..a647693d9856
--- /dev/null
+++ b/arch/arm/mach-pxa/mioa701_bootresume.S
@@ -0,0 +1,36 @@
+/* Bootloader to resume MIO A701
+ *
+ * 2007-1-12 Robert Jarzmik
+ *
+ * This code is licenced under the GPLv2.
+*/
+
+#include <linux/linkage.h>
+#include <asm/assembler.h>
+
+/*
+ * Note: Yes, part of the following code is located into the .data section.
+ * This is to allow jumpaddr to be accessed with a relative load
+ * while we can't rely on any MMU translation. We could have put
+ * sleep_save_sp in the .text section as well, but some setups might
+ * insist on it to be truly read-only.
+ */
+ .data
+ENTRY(mioa701_bootstrap)
+0:
+ b 1f
+ENTRY(mioa701_jumpaddr)
+ .word 0x40f00008 @ PSPR in no-MMU mode
+1:
+ mov r0, #0xa0000000 @ Don't suppose memory access works
+ orr r0, r0, #0x00200000 @ even if it's supposed to
+ mov r1, #0
+ str r1, [r0] @ Early disable resume for next boot
+ ldr r0, mioa701_jumpaddr @ (Murphy's Law)
+ ldr r0, [r0]
+ mov pc, r0
+2:
+
+ENTRY(mioa701_bootstrap_lg)
+ .data
+ .word 2b-0b