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

Reply via email to