On Mon, 2026-02-09 at 12:23 -0600, David Lechner wrote: > From: Chris-QJ Chen <[email protected]> > > Add TARGET_MT8189 for MT8189 and similar SoCs. > > Signed-off-by: Chris-QJ Chen <[email protected]> > Signed-off-by: Macpaul Lin <[email protected]> > Signed-off-by: David Lechner <[email protected]> > --- > arch/arm/mach-mediatek/Kconfig | 11 ++++++- > arch/arm/mach-mediatek/Makefile | 1 + > arch/arm/mach-mediatek/mt8189/Makefile | 3 ++ > arch/arm/mach-mediatek/mt8189/init.c | 58 > ++++++++++++++++++++++++++++++++++ > 4 files changed, 72 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/mach-mediatek/Kconfig b/arch/arm/mach- > mediatek/Kconfig > index 8da4ba5ceab..bdbc4233054 100644 > --- a/arch/arm/mach-mediatek/Kconfig > +++ b/arch/arm/mach-mediatek/Kconfig > @@ -93,6 +93,15 @@ config TARGET_MT8188 > USB3.0 dual role, SD and MMC cards, UFS, PWM, I2C, I2S, > S/PDIF, and > several LPDDR3 and LPDDR4 options. > > +config TARGET_MT8189 > + bool "MediaTek MT8189 SoC" > + select ARM64 > + help > + The MediaTek MT8189 is a ARM64-based SoC with a dual-core > Cortex-A78 and > + a six-core Cortex-A55. It is including UART, SPI, USB3.0 > dual role, > + SD and MMC cards, UFS, PWM, I2C, I2S, S/PDIF, and several > LPDDR4x > + and LPDDR5x options. > + > config TARGET_MT8195 > bool "MediaTek MT8195 SoC" > select ARM64 > @@ -201,7 +210,7 @@ config SYS_CONFIG_NAME > config MTK_BROM_HEADER_INFO > string > default "media=nor" if TARGET_MT8518 || TARGET_MT8512 || > TARGET_MT7629 > - default "media=emmc" if TARGET_MT8516 || TARGET_MT8365 || > TARGET_MT8183 || TARGET_MT8188 || TARGET_MT8195 > + default "media=emmc" if TARGET_MT8516 || TARGET_MT8365 || > TARGET_MT8183 || TARGET_MT8188 || TARGET_MT8189 || TARGET_MT8195 > default "lk=1" if TARGET_MT7623 > > config MTK_TZ_MOVABLE > diff --git a/arch/arm/mach-mediatek/Makefile b/arch/arm/mach- > mediatek/Makefile > index d1f64d61ab9..35f748a70d6 100644 > --- a/arch/arm/mach-mediatek/Makefile > +++ b/arch/arm/mach-mediatek/Makefile > @@ -14,6 +14,7 @@ obj-$(CONFIG_TARGET_MT7987) += mt7987/ > obj-$(CONFIG_TARGET_MT7988) += mt7988/ > obj-$(CONFIG_TARGET_MT8183) += mt8183/ > obj-$(CONFIG_TARGET_MT8188) += mt8188/ > +obj-$(CONFIG_TARGET_MT8189) += mt8189/ > obj-$(CONFIG_TARGET_MT8195) += mt8195/ > obj-$(CONFIG_TARGET_MT8365) += mt8365/ > obj-$(CONFIG_TARGET_MT8512) += mt8512/ > diff --git a/arch/arm/mach-mediatek/mt8189/Makefile b/arch/arm/mach- > mediatek/mt8189/Makefile > new file mode 100644 > index 00000000000..886ab7e4eb9 > --- /dev/null > +++ b/arch/arm/mach-mediatek/mt8189/Makefile > @@ -0,0 +1,3 @@ > +# SPDX-License-Identifier: GPL-2.0 > + > +obj-y += init.o > diff --git a/arch/arm/mach-mediatek/mt8189/init.c b/arch/arm/mach- > mediatek/mt8189/init.c > new file mode 100644 > index 00000000000..56e852e2374 > --- /dev/null > +++ b/arch/arm/mach-mediatek/mt8189/init.c > @@ -0,0 +1,58 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * Copyright (C) 2026 MediaTek Inc. > + * Author: Chris-QJ Chen <[email protected]> > + */ > + > +#include <fdtdec.h> > +#include <stdio.h> > +#include <asm/global_data.h> > +#include <asm/system.h> > +#include <linux/sizes.h> > + > +DECLARE_GLOBAL_DATA_PTR; > + > +int dram_init(void) > +{ > + int ret; > + > + ret = fdtdec_setup_memory_banksize(); > + if (ret) > + return ret; > + > + fdtdec_setup_mem_size_base(); > + > + /* > + * Limit gd->ram_top not exceeding SZ_4G. > + * Because some periphals like mmc requires DMA buffer > + * allocated below SZ_4G. > + * > + * Note: SZ_1M is for adjusting gd->relocaddr, > + * the reserved memory for u-boot itself. > + */ > + if (gd->ram_base + gd->ram_size >= SZ_4G) > + gd->mon_len = (gd->ram_base + gd->ram_size + SZ_1M) > - SZ_4G; > + > + return 0; > +} > + > +int dram_init_banksize(void) > +{ > + gd->bd->bi_dram[0].start = gd->ram_base; > + gd->bd->bi_dram[0].size = gd->ram_size; > + > + return 0; > +} > + > +void reset_cpu(ulong addr) > +{ > + if (!CONFIG_IS_ENABLED(SYSRESET)) > + psci_system_reset(); > +} > + > +int print_cpuinfo(void) > +{ > + printf("CPU: MediaTek MT8391\n"); > + > + return 0; > +} >
Reviewed-by: Macpaul Lin <[email protected]> Thanks! Macpaul Lin

