mirror of
https://github.com/apache/nuttx.git
synced 2025-01-13 02:48:37 +08:00
arch/arm64/imx9: Fix cntfrq_el0 to correct value
Read base frequency from system counter0 and write it to arm core register. This corrects timers to work properly Then enable counting. Signed-off-by: Jouni Ukkonen <jouni.ukkonen@unikie.com>
This commit is contained in:
parent
1d04884812
commit
085830612c
1 changed files with 8 additions and 1 deletions
|
@ -103,7 +103,14 @@ void arm64_el_init(void)
|
|||
#if (CONFIG_ARCH_ARM64_EXCEPTION_LEVEL == 3)
|
||||
/* At EL3, cntfrq_el0 is uninitialized. It must be set. */
|
||||
|
||||
write_sysreg(CONFIG_BOOTLOADER_SYS_CLOCK, cntfrq_el0);
|
||||
uint32_t freq;
|
||||
|
||||
/* Read Frequency ID0 (24MHz) and write it to arm core */
|
||||
|
||||
freq = getreg32(IMX9_SYS_CTR_CONTROL_BASE + SYS_CTR_CNTFID0);
|
||||
write_sysreg(freq, cntfrq_el0);
|
||||
modifyreg32(IMX9_SYS_CTR_CONTROL_BASE + SYS_CTR_CNTCR, SC_CNTCR_FREQ1,
|
||||
SC_CNTCR_FREQ0 | SC_CNTCR_ENABLE | SC_CNTCR_HDBG);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue