• Andre Przywara's avatar
    rpi3: Do prescaler and control setup in C · dcf6d4f8
    Andre Przywara authored
    
    
    To initialise the arch timer configuration and some clock prescaler, we
    need to do two MMIO access *once*, early during boot.
    
    As tempting as it may sound, plat_reset_handler() is not the right place
    to do this, as it will be called on every CPU coming up, both for
    secondary cores as well as during warmboots. So this access will be done
    multiple times, and even during a rich OS' runtime. Whether doing so anyway
    is actually harmful is hard to say, but we should definitely avoid this if
    possible.
    
    Move the initialisation of these registers to C code in
    bl1_early_platform_setup(), where it will still be executed early enough
    (before enabling the console), but only once during the whole boot
    process.
    
    Change-Id: I081c41a5476d424411411488ff8f633e87d3bcc5
    Signed-off-by: default avatarAndre Przywara <andre.przywara@arm.com>
    dcf6d4f8
rpi3_bl1_setup.c 2.71 KB