[PATCH 00/10] bootstage: Migrate from timer_get_boot_us() to timer_get_us()

Stefan Roese sr at denx.de
Wed Sep 21 16:06:15 CEST 2022


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(-)

-- 
2.37.3



More information about the U-Boot mailing list