On Tue, Dec 30, 2025 at 11:03:28AM +0800, Jun Chang wrote: > - Add RISC-V target for MT5824 > - Add board defconfig and DTS for MT5824 EVB > - Add SPL and U-Boot board support for MT5824 EVB > - Add DDR init for MT5824 EVB > > Signed-off-by: Jun Chang <[email protected]> > --- > arch/riscv/Kconfig | 4 + > arch/riscv/dts/mt5824-evb.dts | 232 +++++++++++++++++
What is the status on upstreaming this device tree? [snip] > diff --git a/board/metanoia/mt5824/lpddr4.h b/board/metanoia/mt5824/lpddr4.h > new file mode 100644 > index 00000000000..5de70c536ca > --- /dev/null > +++ b/board/metanoia/mt5824/lpddr4.h > @@ -0,0 +1,91 @@ > +/* SPDX-License-Identifier: GPL-2.0+ */ > +/* > + * Copyright (C) 2025 Metanoia Communications Inc., > + * Jun Chang, Metanoia Communications Inc. <[email protected]> > + */ > + > +#ifndef __COBRA_DDR_H > +#define __COBRA_DDR_H > + > +#include <asm/io.h> > + > +#define UMCTL2_REGS_BASE_ADDR 0x10060000 > + > +#define reg8_write(addr, data) \ > + writeb((uint8_t)(data), (volatile void __iomem *)(addr)) > +#define reg16_write(addr, data) \ > + writew((uint16_t)(data), (volatile void __iomem *)(addr)) > +#define reg32_write(addr, data) \ > + writel((uint32_t)(data), (volatile void __iomem *)(addr)) We really don't already have an appropriate macro here to use? [snip] > +#endif /* __COBRA_DDR_H */ > \ No newline at end of file Please fix that globally. > diff --git a/board/metanoia/mt5824/lpddr4_helper.c > b/board/metanoia/mt5824/lpddr4_helper.c > new file mode 100644 > index 00000000000..3bc447038dc > --- /dev/null > +++ b/board/metanoia/mt5824/lpddr4_helper.c [snip] > +#if 0 /* Enable for debugging */ > + if (i < 10) { > + printf(" [%02d] 0x%08x = 0x%08x\n", i, reg_addr, > reg_value); > + } > +#endif Just use debug() here? And remove other "if 0" or commented out code globally. [snip] > diff --git a/board/metanoia/mt5824/mt5824.c b/board/metanoia/mt5824/mt5824.c > new file mode 100644 > index 00000000000..f385de1d897 > --- /dev/null > +++ b/board/metanoia/mt5824/mt5824.c > @@ -0,0 +1,188 @@ > +/* SPDX-License-Identifier: GPL-2.0+ */ > +/* > + * Copyright (C) 2025 Metanoia Communications Inc., > + * Jun Chang, Metanoia Communications Inc. <[email protected]> > + */ > + > +#include <log.h> > +#include <asm/csr.h> > +#include <asm/sbi.h> > +#include <config.h> > +#include <cpu_func.h> > +#include <image.h> > +#include <init.h> > +#include <net.h> > +#include <asm/global_data.h> > +#include <linux/io.h> > +#include <fdtdec.h> > +#include <dm.h> > +#include <hang.h> > +#include <misc.h> > +#include <hexdump.h> > +#include <env_internal.h> > +#include <linux/delay.h> > +#include <asm/io.h> Globally, please audit your include list. [snip] > diff --git a/configs/mt5824_evb_defconfig b/configs/mt5824_evb_defconfig > new file mode 100644 > index 00000000000..74f6ceb2284 > --- /dev/null > +++ b/configs/mt5824_evb_defconfig > @@ -0,0 +1,61 @@ > +CONFIG_RISCV=y > +CONFIG_RISCV_ANDES=y > +CONFIG_ARCH_RV64I=y > +CONFIG_RISCV_SMODE=y > + Please re-generate this with "make savedefconfig". [snip] > diff --git a/include/configs/mt5824.h b/include/configs/mt5824.h > new file mode 100644 > index 00000000000..9809080b805 > --- /dev/null > +++ b/include/configs/mt5824.h [snip] > +/* environments */ > + > +/* SPI FLASH */ > + > +/* > + * For booting Linux, the board info and command line data > + * have to be in the first 16 MB of memory, since this is > + * the maximum mapped by the Linux kernel during initialization. > + */ > + > +/* Initial Memory map for Linux*/ > +#define CFG_SYS_BOOTMAPSZ (64 << 20) > +/* Increase max gunzip size */ > + > +/* Support autoboot from RAM (kernel image is loaded via debug port) */ > +#define BOOTENV_DEV_NAME_RAM(devtypeu, devtypel, instance) \ > + "ram " > + > +#define BOOTENV_DEV_RAM(devtypeu, devtypel, instance) \ > + "bootcmd_ram=" \ > + "bootm ${fit_addr}\0" > + > +#define BOOTENV_DEV_LEGACY_MMC(devtypeu, devtypel, instance) \ > + "bootcmd_" #devtypel #instance "=" \ > + "setenv mmcdev " #instance"; "\ > + "setenv bootpart " #instance":2 ; "\ > + "run mmcboot\0" > + > +#define BOOTENV_DEV_NAME_LEGACY_MMC(devtypeu, devtypel, instance) \ > + #devtypel #instance " " > + > +#define BOOTENV_DEV_NAME_TFTP(devtypeu, devtypel, instance) \ > + #devtypel " " > + > +#define BOOTENV_DEV_TFTP(devtypeu, devtypel, instance) \ > + "bootcmd_" #devtypel "=" \ > + "tftpboot ${fit_addr} $serverip:fitImage-dev-image-initramfs; " \ > + "bootm ${fit_addr}\0" > + > +/* Enable distro boot */ > +#define BOOT_TARGET_DEVICES(func) \ > + func(TFTP, tftp, na) \ > + func(RAM, ram, na) > + > +#include <config_distro_bootcmd.h> > + > +#define CFG_EXTRA_ENV_SETTINGS \ > + "bootcmd=bootm 90000000\0" \ > + "kernel_addr_r=82000000\0" \ > + "pxefile_addr_r=0x83f00000\0" \ > + "scriptaddr=0x83f00000\0" \ > + "fdt_addr_r=0x68010000\0" \ > + "ramdisk_addr_r=0x83000000\0" \ > + "fit_addr=0x83000000\0" \ > + "initrd_high=0x100000000\0" \ > + BOOTENV Please switch to plain text environment and consider standard boot, thanks. -- Tom
signature.asc
Description: PGP signature

