Skip to content

Commit 2e24910

Browse files
sneha-voonakv2019i
authored andcommitted
acp_7_x: clk: enable tick counter in platform init
Configure CLK_TICK_CNT after sa_init() so current clock readback via acp_get_current_clk uses a valid timer threshold. Signed-off-by: sneha-voona <sneha.voona@amd.com>
1 parent ffda587 commit 2e24910

3 files changed

Lines changed: 15 additions & 0 deletions

File tree

src/platform/amd/acp_7_x/include/platform/platform.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ struct timer;
6565
/* debug offset */
6666
#define ACP_SOF_FW_STATUS 0
6767

68+
void acp_clk_tick_cnt_enable(void);
69+
6870
/* Platform defined panic code */
6971
static inline void platform_panic(uint32_t p)
7072
{

src/platform/amd/acp_7_x/lib/clk.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,18 @@ uint32_t mp1_mailbox_send(uint32_t _reg_id, uint32_t _value)
218218
return resp;
219219
}
220220

221+
void acp_clk_tick_cnt_enable(void)
222+
{
223+
clk_tick_cnt_config_reg_t clk_tick_config;
224+
225+
clk_tick_config.u32All = acp_reg_read_via_smn(
226+
CLK_TICK_CNT_CONFIG_REG, sizeof(uint32_t));
227+
clk_tick_config.bitfields.TIMER_ENABLE = 1;
228+
clk_tick_config.bitfields.TIMER_THRESHOLD = 0x1E0;
229+
acp_reg_write_via_smn(CLK_TICK_CNT_CONFIG_REG,
230+
clk_tick_config.u32All, sizeof(uint32_t));
231+
}
232+
221233
void acp_clk_d0_sequence(uint32_t clock_freq)
222234
{
223235
/* Send message to PMFW to power on Audio PLL */

src/platform/amd/acp_7_x/platform.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ int platform_init(struct sof *sof)
149149

150150
/*CONFIG_SYSTICK_PERIOD hardcoded as 200000*/
151151
sa_init(sof, 200000);
152+
acp_clk_tick_cnt_enable();
152153
clock_set_freq(CLK_CPU(cpu_get_id()), CLK_MAX_CPU_HZ);
153154

154155
/*

0 commit comments

Comments
 (0)