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