iot_dk: Implement board reset

It is done by writing some magic sequence in a special register.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
This commit is contained in:
Alexey Brodkin 2018-10-10 14:20:11 +03:00
parent 5b86ca96d0
commit 7d388add55

View File

@ -17,6 +17,7 @@ DECLARE_GLOBAL_DATA_PTR;
#define AHBCKDIV (void *)(SYSCON_BASE + 0x04)
#define APBCKDIV (void *)(SYSCON_BASE + 0x08)
#define APBCKEN (void *)(SYSCON_BASE + 0x0C)
#define RESET_REG (void *)(SYSCON_BASE + 0x18)
#define CLKSEL (void *)(SYSCON_BASE + 0x24)
#define CLKSTAT (void *)(SYSCON_BASE + 0x28)
#define PLLCON (void *)(SYSCON_BASE + 0x2C)
@ -161,6 +162,13 @@ int board_mmc_init(bd_t *bis)
return 0;
}
#define IOTDK_RESET_SEQ 0x55AA6699
void reset_cpu(ulong addr)
{
writel(IOTDK_RESET_SEQ, RESET_REG);
}
int checkboard(void)
{
puts("Board: Synopsys IoT Development Kit\n");