| | |
| | | |
| | | void sys_reset(uint32_t error) |
| | | { |
| | | LOG_INFO(TRACE_MODULE_DRIVER, "system reboot%x", error); |
| | | //LOG_INFO(TRACE_MODULE_DRIVER, "system reboot%x", error); |
| | | |
| | | delay_us(10000); |
| | | |
| | |
| | | "bhi loop%=\n" |
| | | "pop {r4,r5}\n" |
| | | "exit%=:\n" |
| | | : |
| | | : [mult_hi] "i"(SYSTEM_CLOCK_MULT_HI), [mult_lo] "i"(SYSTEM_CLOCK_MULT_LO), [shift] "i"(SYSTEM_CLOCK_LSLS_BITS), [adjust] "i"(AAPCS_PREP_CYCLES), |
| | | [decr] "i"(DELAY_LOOP_CYCLES)); |
| | | : |
| | | : [mult_hi] "i"(SYSTEM_CLOCK_MULT_HI), [mult_lo] "i"(SYSTEM_CLOCK_MULT_LO), [shift] "i"(SYSTEM_CLOCK_LSLS_BITS), [adjust] "i"(AAPCS_PREP_CYCLES), |
| | | [decr] "i"(DELAY_LOOP_CYCLES)); |
| | | |
| | | #if defined(__GNUC__) && !defined(__ARMCC_VERSION) |
| | | __asm volatile(".syntax divided\n"); |