diff options
Diffstat (limited to 'gpio.s')
-rw-r--r-- | gpio.s | 8 |
1 files changed, 3 insertions, 5 deletions
@@ -2,7 +2,7 @@ .cpu cortex-m0plus .thumb -.equ RESETS_BASE, 0x4000c000 +.equ RESETS_BASE, 0x4000c000 .equ RESET_OFST, 0x0 .equ RESET_DONE_OFST, 0x8 @@ -12,14 +12,12 @@ .global setup_gpio setup_gpio: - // clear reset ldr r1, =(RESETS_BASE + ATOMIC_CLEAR) - movs r0, 0x20 // IO_BANK0 is bit 5 + movs r0, 0b1 << 5 // IO_BANK0 str r0, [r1, RESET_OFST] ldr r1, =RESETS_BASE 1: ldr r2, [r1, RESET_DONE_OFST] - tst r0, r2 // IO_BANK0 is still bit 5 - // wait for reset done + tst r2, r0 beq 1b bx lr |