mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-22 11:13:07 +00:00
9ca71c9c19
Add basic support for the Nuvoton NPCM845 EVB (Arbel). Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
37 lines
638 B
C
37 lines
638 B
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* Copyright (c) 2022 Nuvoton Technology Corp.
|
|
*/
|
|
|
|
#include <common.h>
|
|
#include <asm/io.h>
|
|
#include <asm/arch/gcr.h>
|
|
#include <asm/arch/rst.h>
|
|
|
|
void reset_cpu(void)
|
|
{
|
|
/* Generate a watchdog0 reset */
|
|
writel(WTCR_WTR | WTCR_WTRE | WTCR_WTE, WTCR0_REG);
|
|
|
|
while (1)
|
|
;
|
|
}
|
|
|
|
void reset_misc(void)
|
|
{
|
|
struct npcm_gcr *gcr = (struct npcm_gcr *)NPCM_GCR_BA;
|
|
|
|
clrbits_le32(&gcr->intcr2, INTCR2_WDC);
|
|
}
|
|
|
|
int npcm_get_reset_status(void)
|
|
{
|
|
struct npcm_gcr *gcr = (struct npcm_gcr *)NPCM_GCR_BA;
|
|
u32 val;
|
|
|
|
val = readl(&gcr->ressr);
|
|
if (!val)
|
|
val = readl(&gcr->intcr2);
|
|
|
|
return val & RST_STS_MASK;
|
|
}
|