
Some boards were using an ARM SP804 timer IP, but were driving that using hardcoded addresses and input frequencies, using the CONFIG_SYS_TIMER_* macros. This is deprecated and scheduled for removal.
This series adds a DM_TIMER compliant SP804 driver in patch 1, and lets the Highbank board use that (patch 3). Since the Highbank DT somewhat hides the timer base fixed-clock inside a subnode, we need some simple-bus like driver in patch 2 to help the driver find the timer frequency.
The SP804 driver should be usable by other SoCs using the SP804 timer, but I don't have any to test it there.
Cheers, Andre
Andre Przywara (3): timer: add SP804 UCLASS timer driver highbank: scan into hb_sregs DT subnodes highbank: switch to use the Arm SP804 DM_TIMER driver
arch/arm/Kconfig | 2 + board/highbank/Makefile | 2 +- board/highbank/hb_sregs.c | 45 +++++++++++++++ drivers/timer/Kconfig | 6 ++ drivers/timer/Makefile | 1 + drivers/timer/sp804_timer.c | 108 ++++++++++++++++++++++++++++++++++++ include/configs/highbank.h | 4 -- 7 files changed, 163 insertions(+), 5 deletions(-) create mode 100644 board/highbank/hb_sregs.c create mode 100644 drivers/timer/sp804_timer.c