arm-trusted-firmware/plat/rpi/rpi3
Andre Przywara dcf6d4f8ed rpi3: Do prescaler and control setup in C
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: Andre Przywara <andre.przywara@arm.com>
2019-09-13 16:54:21 +01:00
..
aarch64 rpi3: Do prescaler and control setup in C 2019-09-13 16:54:21 +01:00
include rpi3: Rename RPI3_IO_BASE to RPI_IO_BASE 2019-09-13 16:54:21 +01:00
platform.mk rpi3: Move shared rpi3 files into common directory 2019-09-13 16:54:21 +01:00
rpi3_bl1_setup.c rpi3: Do prescaler and control setup in C 2019-09-13 16:54:21 +01:00
rpi3_bl2_setup.c rpi3: Move shared rpi3 files into common directory 2019-09-13 16:54:21 +01:00
rpi3_bl31_setup.c rpi3: Move shared rpi3 files into common directory 2019-09-13 16:54:21 +01:00
rpi_mbox_board.c rpi3: Move VC mailbox driver into generic drivers directory 2019-09-13 16:54:21 +01:00