diff options
Diffstat (limited to 'rbutil/mkimxboot/dualboot/dualboot.S')
-rw-r--r-- | rbutil/mkimxboot/dualboot/dualboot.S | 20 |
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: | |||
65 | ldr r1, =0x3E770001 @ unlock key + power down | 65 | ldr r1, =0x3E770001 @ unlock key + power down |
66 | str r1, [r0] | 66 | str r1, [r0] |
67 | b power_down | 67 | b power_down |
68 | #elif defined(CREATIVE_ZENXFI2) | ||
69 | /* If select key is hold, return so that the OF can boot */ | ||
70 | ldr r2, =0x80018600 @ HW_PINCTRL_DIN0 | ||
71 | ldr r2, [r2] | ||
72 | tst r2, #0x4000 @ bit 14, active low | ||
73 | moveq r0, #0 @ return 0, continue boot | ||
74 | bxeq lr | ||
75 | str r0, [r1] | ||
76 | mov r0, #1 | ||
77 | bx lr | ||
78 | #elif defined(CREATIVE_ZENXFI3) | ||
79 | /* If volume down key is hold, return so that the OF can boot */ | ||
80 | ldr r2, =0x80018620 @ HW_PINCTRL_DIN2 | ||
81 | ldr r2, [r2] | ||
82 | tst r2, #0x80 @ bit 7, active low | ||
83 | moveq r0, #0 @ return 0, continue boot | ||
84 | bxeq lr | ||
85 | str r0, [r1] | ||
86 | mov r0, #1 | ||
87 | bx lr | ||
68 | #else | 88 | #else |
69 | #error No target defined ! | 89 | #error No target defined ! |
70 | #endif | 90 | #endif |