[PATCH 5/5] arm: mediatek: consolidate ARMv8 memory maps

Arnaud Ferraris arnaud.ferraris at collabora.com
Fri Feb 6 10:20:17 CET 2026


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 <dlechner at baylibre.com>
> ---
>   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 <jmasson at baylibre.com>
> - */
> +// 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



More information about the U-Boot mailing list