arm: nuvoton: Add support for Nuvoton NPCM845 BMC
Add basic support for the Nuvoton NPCM845 EVB (Arbel).
Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
diff --git a/board/nuvoton/arbel_evb/Kconfig b/board/nuvoton/arbel_evb/Kconfig
new file mode 100644
index 0000000..efe8597
--- /dev/null
+++ b/board/nuvoton/arbel_evb/Kconfig
@@ -0,0 +1,18 @@
+if TARGET_ARBEL_EVB
+
+config SYS_BOARD
+ default "arbel_evb"
+
+config SYS_VENDOR
+ default "nuvoton"
+
+config SYS_CONFIG_NAME
+ default "arbel"
+
+config SYS_MEM_TOP_HIDE
+ hex "Reserved TOP memory"
+ default 0xB000000
+ help
+ Reserve memory for ECC/GFX/VCD/ECE.
+
+endif
diff --git a/board/nuvoton/arbel_evb/MAINTAINERS b/board/nuvoton/arbel_evb/MAINTAINERS
new file mode 100644
index 0000000..a5eb61a
--- /dev/null
+++ b/board/nuvoton/arbel_evb/MAINTAINERS
@@ -0,0 +1,7 @@
+Arbel EVB
+M: Stanley Chu <yschu@nuvoton.com>
+M: Jim Liu <JJLIU0@nuvoton.com>
+S: Maintained
+F: board/nuvoton/arbel_evb/
+F: include/configs/arbel.h
+F: configs/arbel_evb_defconfig
diff --git a/board/nuvoton/arbel_evb/Makefile b/board/nuvoton/arbel_evb/Makefile
new file mode 100644
index 0000000..1b1e485
--- /dev/null
+++ b/board/nuvoton/arbel_evb/Makefile
@@ -0,0 +1 @@
+obj-y += arbel_evb.o
diff --git a/board/nuvoton/arbel_evb/arbel_evb.c b/board/nuvoton/arbel_evb/arbel_evb.c
new file mode 100644
index 0000000..cd12ce3
--- /dev/null
+++ b/board/nuvoton/arbel_evb/arbel_evb.c
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (c) 2022 Nuvoton Technology Corp.
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <asm/io.h>
+#include <asm/arch/gcr.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+int board_init(void)
+{
+ return 0;
+}
+
+int dram_init(void)
+{
+ struct npcm_gcr *gcr = (struct npcm_gcr *)NPCM_GCR_BA;
+
+ /*
+ * Get dram size from bootblock.
+ * The value is stored in scrpad_02 register.
+ */
+ gd->ram_size = readl(&gcr->scrpad_b);
+
+ return 0;
+}