From: Julien Masson <[email protected]>

This adds support for the MT8390 EVK board with the following
features enabled/tested: Boot, UART, Watchdog and MMC.

MT8390 is based on MT8188.

Signed-off-by: Julien Masson <[email protected]>
Signed-off-by: Julien Stephan <[email protected]>
---
 board/mediatek/mt8390_evk/MAINTAINERS  |  5 +++++
 board/mediatek/mt8390_evk/Makefile     |  3 +++
 board/mediatek/mt8390_evk/mt8390_evk.c | 34 ++++++++++++++++++++++++++++++++++
 configs/mt8390_evk_defconfig           | 27 +++++++++++++++++++++++++++
 4 files changed, 69 insertions(+)

diff --git a/board/mediatek/mt8390_evk/MAINTAINERS 
b/board/mediatek/mt8390_evk/MAINTAINERS
new file mode 100644
index 00000000000..73fc28b096e
--- /dev/null
+++ b/board/mediatek/mt8390_evk/MAINTAINERS
@@ -0,0 +1,5 @@
+MT8390 EVK
+M:     Julien Masson <[email protected]>
+S:     Maintained
+F:     board/mediatek/mt8390_evk/
+F:     configs/mt8390_evk_defconfig
diff --git a/board/mediatek/mt8390_evk/Makefile 
b/board/mediatek/mt8390_evk/Makefile
new file mode 100644
index 00000000000..a26d46838c4
--- /dev/null
+++ b/board/mediatek/mt8390_evk/Makefile
@@ -0,0 +1,3 @@
+# SPDX-License-Identifier:     GPL-2.0
+
+obj-y += mt8390_evk.o
diff --git a/board/mediatek/mt8390_evk/mt8390_evk.c 
b/board/mediatek/mt8390_evk/mt8390_evk.c
new file mode 100644
index 00000000000..1ca40366a55
--- /dev/null
+++ b/board/mediatek/mt8390_evk/mt8390_evk.c
@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2026 BayLibre SAS
+ * Author: Julien Masson <[email protected]>
+ */
+
+#include <linux/types.h>
+#include <asm/armv8/mmu.h>
+
+int board_init(void)
+{
+       return 0;
+}
+
+static struct mm_region mt8390_evk_mem_map[] = {
+       {
+               /* DDR */
+               .virt = 0x40000000UL,
+               .phys = 0x40000000UL,
+               .size = 0x200000000UL,
+               .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_OUTER_SHARE,
+       }, {
+               .virt = 0x00000000UL,
+               .phys = 0x00000000UL,
+               .size = 0x20000000UL,
+               .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
+                        PTE_BLOCK_NON_SHARE |
+                        PTE_BLOCK_PXN | PTE_BLOCK_UXN
+       }, {
+               0,
+       }
+};
+
+struct mm_region *mem_map = mt8390_evk_mem_map;
diff --git a/configs/mt8390_evk_defconfig b/configs/mt8390_evk_defconfig
new file mode 100644
index 00000000000..9bc1d922587
--- /dev/null
+++ b/configs/mt8390_evk_defconfig
@@ -0,0 +1,27 @@
+CONFIG_ARM=y
+CONFIG_SYS_BOARD="mt8390_evk"
+CONFIG_COUNTER_FREQUENCY=13000000
+CONFIG_POSITION_INDEPENDENT=y
+CONFIG_ARCH_MEDIATEK=y
+CONFIG_TEXT_BASE=0x4c000000
+CONFIG_NR_DRAM_BANKS=1
+CONFIG_DEFAULT_DEVICE_TREE="mediatek/mt8390-genio-700-evk"
+CONFIG_TARGET_MT8188=y
+CONFIG_SYS_LOAD_ADDR=0x4c000000
+CONFIG_IDENT_STRING="mt8390-evk"
+CONFIG_CMD_CLK=y
+CONFIG_CMD_GPT=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_PART=y
+CONFIG_OF_UPSTREAM=y
+CONFIG_CLK=y
+CONFIG_MMC_MTK=y
+CONFIG_PINCTRL=y
+CONFIG_PINCONF=y
+CONFIG_PINCTRL_MT8188=y
+CONFIG_BAUDRATE=921600
+CONFIG_DM_SERIAL=y
+CONFIG_MTK_SERIAL=y
+CONFIG_WDT=y
+CONFIG_WDT_MTK=y
+# CONFIG_RANDOM_UUID is not set

---
base-commit: 64662b99c0ebc56c2773ca32a20aa055d25719f7
change-id: 20260122-add-genio-700-board-5621b428c04e
prerequisite-change-id: 20251203-add-mt8188-pinctrl-support-547d9379974f:v2
prerequisite-patch-id: a8cb24313e56c02b98910f553972a13e8079db30
prerequisite-patch-id: 16094fb012cd9d3ab5e62f81969ba7b4d796af41

Best regards,
-- 
Julien Stephan <[email protected]>

Reply via email to