Hi David,
Le 06/02/2026 à 00:51, David Lechner a écrit :
Consolidate all mem_map definitions for MediaTek ARMv8 platforms into a
single file. The size of the DDR and MMIO regions can vary, so Kconfig
options are added to configure them by target.
Signed-off-by: David Lechner <[email protected]>
---
arch/arm/mach-mediatek/Kconfig | 21 ++++++++++++++++
arch/arm/mach-mediatek/Makefile | 1 +
.../arm/mach-mediatek/armv8-mem-map.c | 14 ++++-------
arch/arm/mach-mediatek/mt7622/init.c | 20 ---------------
arch/arm/mach-mediatek/mt7981/init.c | 21 ----------------
arch/arm/mach-mediatek/mt7986/init.c | 21 ----------------
arch/arm/mach-mediatek/mt7987/init.c | 21 ----------------
arch/arm/mach-mediatek/mt7988/init.c | 21 ----------------
arch/arm/mach-mediatek/mt8183/init.c | 20 ---------------
arch/arm/mach-mediatek/mt8512/init.c | 21 ----------------
arch/arm/mach-mediatek/mt8516/init.c | 20 ---------------
arch/arm/mach-mediatek/mt8518/init.c | 21 ----------------
board/mediatek/mt8365_evk/MAINTAINERS | 5 ----
board/mediatek/mt8365_evk/Makefile | 3 ---
board/mediatek/mt8390_evk/MAINTAINERS | 6 -----
board/mediatek/mt8390_evk/Makefile | 3 ---
board/mediatek/mt8390_evk/mt8390_evk.c | 29 ----------------------
17 files changed, 27 insertions(+), 241 deletions(-)
diff --git a/arch/arm/mach-mediatek/Kconfig b/arch/arm/mach-mediatek/Kconfig
index d1d2605b2cc..33717a1864f 100644
--- a/arch/arm/mach-mediatek/Kconfig
+++ b/arch/arm/mach-mediatek/Kconfig
@@ -130,6 +130,27 @@ config TARGET_MT8518
endchoice
+if ARM64
+
+config MTK_MEM_MAP_DDR_SIZE
+ hex "DDR .size in mem_map"
+ default 0x200000000 if TARGET_MT7987 || TARGET_MT7988 || TARGET_MT8188
+ default 0xc0000000 if TARGET_MT8365
+ default 0x80000000 if TARGET_MT7981 || TARGET_MT7986 || TARGET_MT8183
+ default 0x40000000 if TARGET_MT7622 || TARGET_MT8512
+ default 0x20000000
+ help
+ Target-specific DDR region size in mem_map.
+
+config MTK_MEM_MAP_MMIO_SIZE
+ hex "MMIO .size in mem_map"
+ default 0x40000000 if TARGET_MT7622 || TARGET_MT7981 || TARGET_MT7986
|| TARGET_MT7987 || TARGET_MT7988 || TARGET_MT8512
+ default 0x20000000
+ help
+ Target-specific MMIO region size in mem_map.
+
+endif
+
config SYS_BOARD
string "Board name"
default "mt7622" if TARGET_MT7622
diff --git a/arch/arm/mach-mediatek/Makefile b/arch/arm/mach-mediatek/Makefile
index 44591bed6fa..17e645989e5 100644
--- a/arch/arm/mach-mediatek/Makefile
+++ b/arch/arm/mach-mediatek/Makefile
@@ -1,5 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
+obj-$(CONFIG_ARM64) += armv8-mem-map.o
obj-y += cpu.o
obj-$(CONFIG_MTK_TZ_MOVABLE) += tzcfg.o
obj-$(CONFIG_XPL_BUILD) += spl.o
diff --git a/board/mediatek/mt8365_evk/mt8365_evk.c
b/arch/arm/mach-mediatek/armv8-mem-map.c
similarity index 55%
rename from board/mediatek/mt8365_evk/mt8365_evk.c
rename to arch/arm/mach-mediatek/armv8-mem-map.c
index 41a6febf03d..0abddb99f25 100644
--- a/board/mediatek/mt8365_evk/mt8365_evk.c
+++ b/arch/arm/mach-mediatek/armv8-mem-map.c
@@ -1,22 +1,18 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Copyright (C) 2023 BayLibre SAS
- * Author: Julien Masson <[email protected]>
- */
+// SPDX-License-Identifier: GPL-2.0-only
#include <asm/armv8/mmu.h>
-static struct mm_region mt8365_evk_mem_map[] = {
+static struct mm_region mediatek_mem_map[] = {
{
/* DDR */
.virt = 0x40000000UL,
.phys = 0x40000000UL,
This should be configurable as well: for now, all supported platforms
have their DDR space starting at 0x40000000, but on MT8196 (which I'm
currently working on) it starts at 0x80000000.
Best regards,
Arnaud