summaryrefslogtreecommitdiffstats
path: root/rbutil/mkimxboot/dualboot/dualboot.S
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/mkimxboot/dualboot/dualboot.S')
-rw-r--r--rbutil/mkimxboot/dualboot/dualboot.S20
1 files changed, 20 insertions, 0 deletions
diff --git a/rbutil/mkimxboot/dualboot/dualboot.S b/rbutil/mkimxboot/dualboot/dualboot.S
index 4002167929..ed91012199 100644
--- a/rbutil/mkimxboot/dualboot/dualboot.S
+++ b/rbutil/mkimxboot/dualboot/dualboot.S
@@ -65,6 +65,26 @@ power_down:
ldr r1, =0x3E770001 @ unlock key + power down
str r1, [r0]
b power_down
+#elif defined(CREATIVE_ZENXFI2)
+ /* If select key is hold, return so that the OF can boot */
+ ldr r2, =0x80018600 @ HW_PINCTRL_DIN0
+ ldr r2, [r2]
+ tst r2, #0x4000 @ bit 14, active low
+ moveq r0, #0 @ return 0, continue boot
+ bxeq lr
+ str r0, [r1]
+ mov r0, #1
+ bx lr
+#elif defined(CREATIVE_ZENXFI3)
+ /* If volume down key is hold, return so that the OF can boot */
+ ldr r2, =0x80018620 @ HW_PINCTRL_DIN2
+ ldr r2, [r2]
+ tst r2, #0x80 @ bit 7, active low
+ moveq r0, #0 @ return 0, continue boot
+ bxeq lr
+ str r0, [r1]
+ mov r0, #1
+ bx lr
#else
#error No target defined !
#endif