Tool/software:
Hi,
I developed a custom board with 512MB DDR4. Using the DDR Register Configuration Tool, I generated the DDR configuration for 512MB and modified the memory size to 0x20000000 in both the Trusted Firmware-A (TF-A) device tree file arm-trusted-firmware/fdts/k3-am62l-ddr.dts and the U-Boot device tree file dts/upstream/src/arm64/ti/k3-am62l3-evm.dts. However, the system stalls at the U-Boot stage during boot-up.
--- a/fdts/k3-am62l-ddr.dts
+++ b/fdts/k3-am62l-ddr.dts
@@ -12,7 +12,7 @@
memory@80000000 {
device_type = "memory";
/* 2G RAM */
- reg = <0x00000000 0x80000000 0x00000000 0x40000000>;
+ reg = <0x00000000 0x80000000 0x00000000 0x20000000>;
};
memorycontroller: memorycontroller@f300000 {
--- a/dts/upstream/src/arm64/ti/k3-am62l3-evm.dts
+++ b/dts/upstream/src/arm64/ti/k3-am62l3-evm.dts
@@ -29,7 +29,7 @@
};
memory@80000000 {
- reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
+ reg = <0x00000000 0x80000000 0x00000000 0x20000000>;
device_type = "memory";
bootph-all;
};
log:
NOTICE: bl1_plat_arch_setup arch setup NOTICE: Booting Trusted Firmware NOTICE: BL1: v2.12.0(release):f3b84eb11-dirty NOTICE: BL1: Built : 08:38:33, Apr 14 2025 NOTICE: BL1: dram_class: 10 NOTICE: lpddr4: post start - PI training status=0x29c02000 NOTICE: bl1_platform_setup DDR init done NOTICE: k3_bl1_handoff ENTERING WFI - end of bl1 NOTICE: BL31: v2.12.0(release):f3b84eb11-dirty NOTICE: BL31: Built : 08:38:33, Apr 14 2025 NOTICE: 0_ADC0's parent is 0 NOTICE: 0_ADC0's parent (after set_parent) is 2 ERROR: Agent 0 Protocol 0x10 Message 0x7: not supported U-Boot SPL 2025.01-00256-gc581bb9a32c2 (Apr 14 2025 - 08:39:39 +0000) SPL initial stack usage: 1872 bytes Trying to boot from MMC2 ERROR: Agent 0 Protocol 0x10 Message 0x7: not supported U-Boot 2025.01-00256-gc581bb9a32c2 (Apr 14 2025 - 08:39:39 +0000) SoC: AM62LX SR1.0 HS-FS Model: MYIR MYD-YM62L Module DRAM: 512 MiB
I have another development board with 1GB DDR4 that successfully boots using the same configuration method, but why does the 512MB version fail? Additionally, there is a strange phenomenon: when the device tree is set to 0x40000000 (1GB), the system can boot on the 512MB DDR4 board, but frequent memory crashes occur after entering the linux.