juno: Implement plat_get_syscnt_freq() function
In the Juno port, this function returns the first entry of the frequency modes table from the memory mapped generic timer.
This commit is contained in:
parent
a5355358f3
commit
a809fd9468
|
@ -31,7 +31,7 @@
|
|||
#include <arch_helpers.h>
|
||||
#include <platform.h>
|
||||
#include <xlat_tables.h>
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
unsigned char platform_normal_stacks[PLATFORM_STACK_SIZE][PLATFORM_CORE_COUNT]
|
||||
__attribute__ ((aligned(PLATFORM_CACHE_LINE_SIZE),
|
||||
|
@ -133,3 +133,16 @@ unsigned long plat_get_ns_image_entrypoint(void)
|
|||
{
|
||||
return NS_IMAGE_OFFSET;
|
||||
}
|
||||
|
||||
uint64_t plat_get_syscnt_freq(void)
|
||||
{
|
||||
uint64_t counter_base_frequency;
|
||||
|
||||
/* Read the frequency from Frequency modes table */
|
||||
counter_base_frequency = mmio_read_32(SYS_CNTCTL_BASE + CNTFID_OFF);
|
||||
|
||||
/* The first entry of the frequency modes table must not be 0 */
|
||||
assert(counter_base_frequency != 0);
|
||||
|
||||
return counter_base_frequency;
|
||||
}
|
||||
|
|
|
@ -208,7 +208,7 @@ void bl1_platform_setup(void)
|
|||
io_setup();
|
||||
|
||||
/* Enable and initialize the System level generic timer */
|
||||
mmio_write_32(SYS_CNTCTL_BASE + CNTCR_OFF, CNTCR_EN);
|
||||
mmio_write_32(SYS_CNTCTL_BASE + CNTCR_OFF, CNTCR_FCREQ(0) | CNTCR_EN);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -335,6 +335,7 @@ extern void configure_mmu(meminfo *,
|
|||
extern void plat_report_exception(unsigned long);
|
||||
extern unsigned long plat_get_ns_image_entrypoint(void);
|
||||
extern unsigned long platform_get_stack(unsigned long mpidr);
|
||||
extern uint64_t plat_get_syscnt_freq(void);
|
||||
|
||||
/* Declarations for fvp_gic.c */
|
||||
extern void gic_cpuif_deactivate(unsigned int);
|
||||
|
|
Loading…
Reference in New Issue