arm: cmsis: Convert DO_REBOOT to use CMSIS

CMSIS provides a complete implentation for reboot, we can utilize it
directly and reduce zephyr specific code.

Jira: ZEP-1568

Change-Id: Ia9d1abd5c1e02e724423b94867ea452bc806ef79
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This commit is contained in:
Kumar Gala 2017-01-12 12:39:45 -06:00
commit 82027c68f9

View file

@ -17,8 +17,7 @@
#include <kernel.h> #include <kernel.h>
#include <arch/cpu.h> #include <arch/cpu.h>
#include <misc/util.h> #include <misc/util.h>
#include <arch/arm/cortex_m/cmsis.h>
#define SCB_AIRCR_VECTKEY_EN_W 0x05FA
#if defined(CONFIG_SOC_TI_LM3S6965_QEMU) #if defined(CONFIG_SOC_TI_LM3S6965_QEMU)
/* /*
@ -48,21 +47,7 @@ static void software_reboot(void)
} }
#define DO_REBOOT() software_reboot() #define DO_REBOOT() software_reboot()
#else #else
static void reboot_through_sysresetreq(void) #define DO_REBOOT() NVIC_SystemReset()
{
union __aircr reg;
reg.val = __scs.scb.aircr.val;
reg.bit.vectkey = SCB_AIRCR_VECTKEY_EN_W;
reg.bit.sysresetreq = 1;
__scs.scb.aircr.val = reg.val;
/* the reboot is not immediate, so wait here until it takes effect */
for (;;) {
;
}
}
#define DO_REBOOT() reboot_through_sysresetreq()
#endif #endif
/** /**