bsp:ls2k: add reboot and shutdown support
This commit is contained in:
parent
a8928c881e
commit
b86d608d63
|
@ -22,6 +22,9 @@
|
||||||
*/
|
*/
|
||||||
void rt_hw_cpu_reset(void)
|
void rt_hw_cpu_reset(void)
|
||||||
{
|
{
|
||||||
|
WDT_EN = 0x01;
|
||||||
|
WDT_TIMER = 0x01;
|
||||||
|
WDT_SET = 0x01;
|
||||||
rt_kprintf("reboot system...\n");
|
rt_kprintf("reboot system...\n");
|
||||||
while (1);
|
while (1);
|
||||||
}
|
}
|
||||||
|
@ -32,6 +35,8 @@ void rt_hw_cpu_reset(void)
|
||||||
*/
|
*/
|
||||||
void rt_hw_cpu_shutdown(void)
|
void rt_hw_cpu_shutdown(void)
|
||||||
{
|
{
|
||||||
|
PM1_STS &= 0xffffffff;
|
||||||
|
PM1_CNT = 0x3c00;
|
||||||
rt_kprintf("shutdown...\n");
|
rt_kprintf("shutdown...\n");
|
||||||
|
|
||||||
while (1);
|
while (1);
|
||||||
|
|
|
@ -12,6 +12,8 @@
|
||||||
#define BOARD_H__
|
#define BOARD_H__
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#include <rthw.h>
|
||||||
|
#include "ls2k1000.h"
|
||||||
|
|
||||||
extern unsigned char __bss_end;
|
extern unsigned char __bss_end;
|
||||||
|
|
||||||
|
@ -19,6 +21,28 @@ extern unsigned char __bss_end;
|
||||||
#define RT_HW_HEAP_BEGIN (void*)&__bss_end
|
#define RT_HW_HEAP_BEGIN (void*)&__bss_end
|
||||||
#define RT_HW_HEAP_END (void*)(RT_HW_HEAP_BEGIN + 64 * 1024 * 1024)
|
#define RT_HW_HEAP_END (void*)(RT_HW_HEAP_BEGIN + 64 * 1024 * 1024)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* General PM Configuration Register
|
||||||
|
*/
|
||||||
|
#define PMCON_BASE (APB_BASE | (0x7 << 12))
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Power Management1 Configuration Registers
|
||||||
|
*/
|
||||||
|
#define PM1_BASE (PMCON_BASE + 0x0C)
|
||||||
|
#define PM1_STS HWREG32(PM1_BASE)
|
||||||
|
#define PM1_EN HWREG32(PM1_BASE + 0x04)
|
||||||
|
#define PM1_CNT HWREG32(PM1_BASE + 0x08)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Watch Dog Configuration Registers
|
||||||
|
*/
|
||||||
|
#define WDT_BASE (PMCON_BASE + 0x30)
|
||||||
|
#define WDT_EN HWREG32(WDT_BASE)
|
||||||
|
#define WDT_SET HWREG32(WDT_BASE + 0x04)
|
||||||
|
#define WDT_TIMER HWREG32(WDT_BASE + 0x08)
|
||||||
|
|
||||||
|
|
||||||
void rt_hw_board_init(void);
|
void rt_hw_board_init(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue