fix(xilinx): dcc console tests failing

The commit a6485b2b3b ("refactor(delay-timer): add timer
callback functions") is breaking DCC console due to uninitialized
timer ops structure. Fix it by moving generic delay timer init
prior to console setup to make sure that time is setup before DCC
console setup.

Fixes: a6485b2b3b ("refactor(delay-timer): add timer callback
functions")

Change-Id: I67910332773741c0b08f02feb232efab6356db12
Signed-off-by: Saivardhan Thatikonda <saivardhan.thatikonda@amd.com>
This commit is contained in:
Saivardhan Thatikonda 2025-01-05 23:55:02 -12:00
parent b5eb70dee0
commit e14ae4b301
4 changed files with 16 additions and 16 deletions

View file

@ -127,14 +127,14 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
uart_clock = get_uart_clk(); uart_clock = get_uart_clk();
/* Initialize the platform config for future decision making */
config_setup();
setup_console(); setup_console();
NOTICE("TF-A running on %s %d.%d\n", board_name_decode(), NOTICE("TF-A running on %s %d.%d\n", board_name_decode(),
platform_version / 10U, platform_version % 10U); platform_version / 10U, platform_version % 10U);
/* Initialize the platform config for future decision making */
config_setup();
/* /*
* Do initial security configuration to allow DRAM/device access. On * Do initial security configuration to allow DRAM/device access. On
* Base only DRAM security is programmable (via TrustZone), but * Base only DRAM security is programmable (via TrustZone), but

View file

@ -117,6 +117,9 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
set_cnt_freq(); set_cnt_freq();
/* Initialize the platform config for future decision making */
versal_net_config_setup();
setup_console(); setup_console();
NOTICE("TF-A running on %s %d.%d\n", board_name_decode(), NOTICE("TF-A running on %s %d.%d\n", board_name_decode(),
@ -124,8 +127,6 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
versal_net_setup_qos(); versal_net_setup_qos();
/* Initialize the platform config for future decision making */
versal_net_config_setup();
/* /*
* Do initial security configuration to allow DRAM/device access. On * Do initial security configuration to allow DRAM/device access. On

View file

@ -9,7 +9,6 @@
#include <string.h> #include <string.h>
#include <common/debug.h> #include <common/debug.h>
#include <drivers/generic_delay_timer.h>
#include <lib/mmio.h> #include <lib/mmio.h>
#include <lib/smccc.h> #include <lib/smccc.h>
#include <lib/xlat_tables/xlat_tables_v2.h> #include <lib/xlat_tables/xlat_tables_v2.h>
@ -389,20 +388,10 @@ uint32_t zynqmp_get_bootmode(void)
void zynqmp_config_setup(void) void zynqmp_config_setup(void)
{ {
uint64_t counter_freq;
/* Configure IPI data for ZynqMP */ /* Configure IPI data for ZynqMP */
zynqmp_ipi_config_table_init(); zynqmp_ipi_config_table_init();
zynqmp_print_platform_name(); zynqmp_print_platform_name();
/* Configure counter frequency */
counter_freq = read_cntfrq_el0();
if (counter_freq == ZYNQMP_DEFAULT_COUNTER_FREQ) {
write_cntfrq_el0(plat_get_syscnt_freq2());
}
generic_delay_timer_init();
} }
uint32_t plat_get_syscnt_freq2(void) uint32_t plat_get_syscnt_freq2(void)

View file

@ -13,6 +13,7 @@
#include <common/debug.h> #include <common/debug.h>
#include <common/fdt_fixup.h> #include <common/fdt_fixup.h>
#include <common/fdt_wrappers.h> #include <common/fdt_wrappers.h>
#include <drivers/generic_delay_timer.h>
#include <lib/mmio.h> #include <lib/mmio.h>
#include <lib/xlat_tables/xlat_tables_v2.h> #include <lib/xlat_tables/xlat_tables_v2.h>
#include <libfdt.h> #include <libfdt.h>
@ -77,6 +78,15 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
(void)arg2; (void)arg2;
(void)arg3; (void)arg3;
uint64_t tfa_handoff_addr; uint64_t tfa_handoff_addr;
uint64_t counter_freq;
/* Configure counter frequency */
counter_freq = read_cntfrq_el0();
if (counter_freq == ZYNQMP_DEFAULT_COUNTER_FREQ) {
write_cntfrq_el0(plat_get_syscnt_freq2());
}
generic_delay_timer_init();
setup_console(); setup_console();