• Soby Mathew's avatar
    ARM Platforms: Update CNTFRQ register in CNTCTLBase frame · 342d6220
    Soby Mathew authored
    
    
    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: default avatarSoby Mathew <soby.mathew@arm.com>
    342d6220
arch.h 18 KB