
While working on the bootstage support for Armada XP (orion-timer) I noticed, that we currently have two API's supporting early timer functionality. These are:
a) timer_early_get_rate() & timer_early_get_count() which integrates into the "normal" timer functions like timer_get() & timer_get_us() in the early boot phase, if CONFIG_TIMER_EARLY is enabled b) timer_get_boot_us(), which was introduced with bootstage IIUTC
IMHO it makes more sense to not introduce a new API for this early timer functionality but re-use the "normal" API instead. This patchset migrates the timer_get_boot_us() implementations to the timer_early functions. This is done by:
- Implementing the timer_early functions in the drivers currently supporting timer_get_boot_us() - Migrating bootcount to using timer_get_us() instead of timer_get_boot_us() - Completely removing timer_get_boot_us()
With some minor tweaks in board_r/f for the dm_timer_init() and timer_init() call.
I've tested this on Armada XP and sandbox.
Thanks, Stefan
Stefan Roese (10): arm: arch_timer: Add timer_early functions arm: imx: syscounter: Add timer_early functions arm: armv8: generic_timer: Add timer_early functions timer: cadence-ttc: Add timer_early functions timer: omap-timer: Add timer_early functions timer: rockchip_timer: Add timer_early functions board_f/r: Allow selection of CONFIG_TIMER_EARLY w/o CONFIG_TIMER board_f/r: Don't call timer_init() when TIMER is enabled bootstage: Migrate from timer_get_boot_us() to timer_get_us() bootstage/timer: Treewide remove timer_get_boot_us()
arch/arm/cpu/armv7/arch_timer.c | 15 ++++++++--- arch/arm/cpu/armv8/generic_timer.c | 9 ++++--- arch/arm/mach-imx/syscounter.c | 12 +++++++-- arch/sandbox/cpu/cpu.c | 11 -------- boot/Kconfig | 1 + common/board_f.c | 4 +-- common/board_r.c | 5 ++-- common/bootstage.c | 26 +++++++++--------- drivers/timer/Kconfig | 1 - drivers/timer/cadence-ttc.c | 9 ++++--- drivers/timer/omap-timer.c | 9 ++++--- drivers/timer/orion-timer.c | 8 ------ drivers/timer/rockchip_timer.c | 42 ++++++++++++++++-------------- drivers/timer/tsc_timer.c | 5 ---- include/bootstage.h | 17 ++++-------- lib/time.c | 20 -------------- 16 files changed, 87 insertions(+), 107 deletions(-)