summaryrefslogtreecommitdiffstats
path: root/rbutil/mkimxboot/dualboot/dualboot.S
diff options
context:
space:
mode:
authorAmaury Pouly <pamaury@rockbox.org>2011-11-06 19:44:03 +0000
committerAmaury Pouly <pamaury@rockbox.org>2011-11-06 19:44:03 +0000
commit303c486f4f7d557c35e7b6543fa9827fb94846b9 (patch)
tree3c735d8255359f1d3c4525185300035c4f029efc /rbutil/mkimxboot/dualboot/dualboot.S
parentcd832bd0f5d19b066dc859df9355243de9a95424 (diff)
downloadrockbox-303c486f4f7d557c35e7b6543fa9827fb94846b9.tar.gz
rockbox-303c486f4f7d557c35e7b6543fa9827fb94846b9.zip
Introduce mkimxboot to build bootloader images for the i.MX (only the fuze+ currently). Still not integrated in rbutil
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30920 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil/mkimxboot/dualboot/dualboot.S')
-rw-r--r--rbutil/mkimxboot/dualboot/dualboot.S39
1 files changed, 39 insertions, 0 deletions
diff --git a/rbutil/mkimxboot/dualboot/dualboot.S b/rbutil/mkimxboot/dualboot/dualboot.S
new file mode 100644
index 0000000000..8302829a81
--- /dev/null
+++ b/rbutil/mkimxboot/dualboot/dualboot.S
@@ -0,0 +1,39 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2011 by Amaury Pouly
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+.text
+.global start
+@ int start(uint32_t arg, uint32_t *result_id)
+start:
+#if defined(SANSA_FUZEPLUS)
+ /* If volume down key is hold, return so that the OF can boot */
+ ldr r2, =0x80018610 @ HW_PINCTRL_DIN1
+ ldr r2, [r2]
+ tst r2, #0x40000000 @ bit 30, active low
+ moveq r0, #0 @ return 0, continue boot
+ bxeq lr
+ /* otherwise jump to section given as argument */
+ str r0, [r1]
+ mov r0, #1
+ bx lr
+#else
+#error No target defined !
+#endif