mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
arm64: zynqmp: fix tcm initialization for mini u-boot
Fix the issue introduced by commit fed064477c2c
("arm64: zynqmp: Print an error for split to lock mode switch").
The mini u-boot is hanging, because of the tcm is not initialized.
The mini u-boot is using the tcm to reserve the mmu table and
currently it is not initialized, so allowing u-boot to initialize
the tcm.
Signed-off-by: Padmarao Begari <padmarao.begari@amd.com>
Link: https://lore.kernel.org/r/20241011113435.1966604-1-padmarao.begari@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
This commit is contained in:
committed by
Michal Simek
parent
5b3c460617
commit
dcded57038
@@ -112,7 +112,7 @@ u64 get_page_table_size(void)
|
||||
return 0x14000;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SYS_MEM_RSVD_FOR_MMU) || defined(CONFIG_DEFINE_TCM_OCM_MMAP)
|
||||
#if defined(CONFIG_DEFINE_TCM_OCM_MMAP)
|
||||
void tcm_init(u8 mode)
|
||||
{
|
||||
int ret;
|
||||
@@ -134,7 +134,10 @@ void tcm_init(u8 mode)
|
||||
#ifdef CONFIG_SYS_MEM_RSVD_FOR_MMU
|
||||
int arm_reserve_mmu(void)
|
||||
{
|
||||
tcm_init(TCM_LOCK);
|
||||
puts("WARNING: Initializing TCM overwrites TCM content\n");
|
||||
initialize_tcm(TCM_LOCK);
|
||||
memset((void *)ZYNQMP_TCM_BASE_ADDR, 0, ZYNQMP_TCM_SIZE);
|
||||
|
||||
gd->arch.tlb_size = PGTABLE_SIZE;
|
||||
gd->arch.tlb_addr = ZYNQMP_TCM_BASE_ADDR;
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ unsigned int zynqmp_get_silicon_version(void);
|
||||
int check_tcm_mode(bool mode);
|
||||
void initialize_tcm(bool mode);
|
||||
void mem_map_fill(void);
|
||||
#if defined(CONFIG_SYS_MEM_RSVD_FOR_MMU) || defined(CONFIG_DEFINE_TCM_OCM_MMAP)
|
||||
#if defined(CONFIG_DEFINE_TCM_OCM_MMAP)
|
||||
void tcm_init(u8 mode);
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user