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]>
---
Changes in v2:
- Add Macpaul Lin from Mediatek as co-maintainer
- Rebased on master
- Removed series dependency, as the pinctrl series for MT8188 was
  applied on master
- Link to v1: 
https://lore.kernel.org/r/[email protected]
---
 board/mediatek/mt8390_evk/MAINTAINERS  |  6 ++++++
 board/mediatek/mt8390_evk/Makefile     |  3 +++
 board/mediatek/mt8390_evk/mt8390_evk.c | 34 ++++++++++++++++++++++++++++++++++
 configs/mt8390_evk_defconfig           | 27 +++++++++++++++++++++++++++
 4 files changed, 70 insertions(+)

diff --git a/board/mediatek/mt8390_evk/MAINTAINERS 
b/board/mediatek/mt8390_evk/MAINTAINERS
new file mode 100644
index 00000000000..d46b8b2e156
--- /dev/null
+++ b/board/mediatek/mt8390_evk/MAINTAINERS
@@ -0,0 +1,6 @@
+MT8390 EVK
+M:     Julien Masson <[email protected]>
+M:     Macpaul Lin <[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: eed514b11d04a2f8a949521ad3bffba3ec98bd2f
change-id: 20260122-add-genio-700-board-5621b428c04e

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

Reply via email to