arm-trusted-firmware/include/lib/aarch32
Soby Mathew 342d6220e6 ARM Platforms: Update CNTFRQ register in CNTCTLBase frame
Currently TF-A doesn't initialise CNTFRQ register in CNTCTLBase
frame of the system timer. ARM ARM states that "The instance of
the register in the CNTCTLBase frame must be programmed with this
value as part of system initialization."

The psci_arch_setup() updates the CNTFRQ system register but
according to the ARM ARM, this instance of the register is
independent of the memory mapped instance. This is only an issue
for Normal world software which relies on the memory mapped
instance rather than the system register one.

This patch resolves the issue for ARM platforms.

The patch also solves a related issue on Juno, wherein
CNTBaseN.CNTFRQ can be written and does not reflect the value of
the register in CNTCTLBase frame. Hence this patch additionally
updates CNTFRQ register in the Non Secure frame of the CNTBaseN.

Fixes ARM-Software/tf-issues#593

Change-Id: I09cebb6633688b34d5b1bc349fbde4751025b350
Signed-off-by: Soby Mathew <soby.mathew@arm.com>
2018-06-20 13:09:30 +01:00
..
arch.h ARM Platforms: Update CNTFRQ register in CNTCTLBase frame 2018-06-20 13:09:30 +01:00
arch_helpers.h AMU: Add hooks to save/restore AMU context 2018-01-11 14:36:45 +00:00
smcc_helpers.h Rename 'smcc' to 'smccc' 2018-03-21 10:49:27 +00:00
smcc_macros.S Rename 'smcc' to 'smccc' 2018-03-21 10:49:27 +00:00
smccc_helpers.h Rename 'smcc' to 'smccc' 2018-03-21 10:49:27 +00:00
smccc_macros.S Rename 'smcc' to 'smccc' 2018-03-21 10:49:27 +00:00