diff --git a/board/qca/arm/common/cmd_exectzt.c b/board/qca/arm/common/cmd_exectzt.c index 9054ccfbdb..ce6ead3bd8 100644 --- a/board/qca/arm/common/cmd_exectzt.c +++ b/board/qca/arm/common/cmd_exectzt.c @@ -15,6 +15,15 @@ #include #include +__weak void run_tzt(void *address) +{ + char runcmd[128]; + + dcache_disable(); + snprintf(runcmd, sizeof(runcmd), "go 0x%08lX", (ulong)address); + run_command(runcmd, 0); +} + int do_exectzt(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) { uint32_t address; @@ -27,7 +36,7 @@ int do_exectzt(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) address = simple_strtoul(argv[1], NULL, 16); - execute_tzt(address); + run_tzt((void *)address); return 0; } diff --git a/board/qca/arm/ipq807x/ipq807x.c b/board/qca/arm/ipq807x/ipq807x.c index d6b80fdc46..9c9b849fba 100644 --- a/board/qca/arm/ipq807x/ipq807x.c +++ b/board/qca/arm/ipq807x/ipq807x.c @@ -1181,3 +1181,8 @@ int bring_sec_core_up(unsigned int cpuid, unsigned int entry, unsigned int arg) printf("Enabled CPU%d via psci successfully!\n", cpuid); return 0; } + +void run_tzt(void *address) +{ + execute_tzt(address); +}