xref: /rk3399_ARM-atf/plat/xilinx/common/plat_clkfunc.c (revision 147e4677dd403e07b4610daa54b191474fdb506d)
1f000744eSPrasad Kummari /*
2f000744eSPrasad Kummari  * Copyright (c) 2023-2024, Advanced Micro Devices, Inc. All rights reserved.
3f000744eSPrasad Kummari  *
4f000744eSPrasad Kummari  * SPDX-License-Identifier: BSD-3-Clause
5f000744eSPrasad Kummari  */
6f000744eSPrasad Kummari #include <common/debug.h>
7cc3374acSPrasad Kummari #include <lib/mmio.h>
8f000744eSPrasad Kummari #include <plat/common/platform.h>
9f000744eSPrasad Kummari 
10f000744eSPrasad Kummari #include <platform_def.h>
1116c611f8SMaheedhar Bollapalli #include <plat_clkfunc.h>
12f000744eSPrasad Kummari #include <plat_private.h>
13f000744eSPrasad Kummari 
plat_get_syscnt_freq2(void)14*1d94b27bSSaivardhan Thatikonda unsigned int plat_get_syscnt_freq2(void)
15cc3374acSPrasad Kummari {
16cc3374acSPrasad Kummari 	uint32_t counter_freq = 0;
17cc3374acSPrasad Kummari 	uint32_t ret = 0;
18cc3374acSPrasad Kummari 
19cc3374acSPrasad Kummari 	counter_freq = mmio_read_32(IOU_SCNTRS_BASE +
20cc3374acSPrasad Kummari 				    IOU_SCNTRS_BASE_FREQ_OFFSET);
21cc3374acSPrasad Kummari 	if (counter_freq != 0U) {
22cc3374acSPrasad Kummari 		ret = counter_freq;
23cc3374acSPrasad Kummari 	} else {
24cc3374acSPrasad Kummari 		INFO("Indicates counter frequency %dHz setting to %dHz\n",
25cc3374acSPrasad Kummari 		     counter_freq, cpu_clock);
26cc3374acSPrasad Kummari 		ret = cpu_clock;
27cc3374acSPrasad Kummari 	}
28cc3374acSPrasad Kummari 
29*1d94b27bSSaivardhan Thatikonda 	return (unsigned int)ret;
30cc3374acSPrasad Kummari }
31cc3374acSPrasad Kummari 
set_cnt_freq(void)32f000744eSPrasad Kummari void set_cnt_freq(void)
33f000744eSPrasad Kummari {
34f000744eSPrasad Kummari 	uint64_t counter_freq;
35f000744eSPrasad Kummari 
36f000744eSPrasad Kummari 	/* Configure counter frequency */
37f000744eSPrasad Kummari 	counter_freq = read_cntfrq_el0();
38f000744eSPrasad Kummari 	if (counter_freq == 0U) {
39f000744eSPrasad Kummari 		write_cntfrq_el0(plat_get_syscnt_freq2());
40f000744eSPrasad Kummari 	}
41f000744eSPrasad Kummari }
42