1 /*
2  * Copyright (c) 2006-2021, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  * 2011-01-13     weety      modified from mini2440
9  */
10 
11 #include <rthw.h>
12 #include <rtthread.h>
13 #include "at91sam926x.h"
14 
15 /**
16  * @addtogroup AT91SAM926X
17  */
18 /*@{*/
19 
machine_reset(void)20 void machine_reset(void)
21 {
22     at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
23 }
24 
machine_shutdown(void)25 void machine_shutdown(void)
26 {
27     at91_sys_write(AT91_SHDW_CR, AT91_SHDW_KEY | AT91_SHDW_SHDW);
28 }
29 
30 #ifdef RT_USING_FINSH
31 
32 #include <finsh.h>
33 FINSH_FUNCTION_EXPORT_ALIAS(rt_hw_cpu_reset, reset, restart the system);
34 
35 #ifdef FINSH_USING_MSH
cmd_reset(int argc,char ** argv)36 int cmd_reset(int argc, char** argv)
37 {
38     rt_hw_cpu_reset();
39     return 0;
40 }
41 MSH_CMD_EXPORT_ALIAS(cmd_reset, reset, restart the system);
42 
cmd_shutdown(int argc,char ** argv)43 int cmd_shutdown(int argc, char** argv)
44 {
45     rt_hw_cpu_shutdown();
46     return 0;
47 }
48 MSH_CMD_EXPORT_ALIAS(cmd_shutdown, shutdown, shutdown the system);
49 
50 #endif
51 #endif
52 
53 /*@}*/
54