timer: add SP804 UCLASS timer driver
The "Arm Ltd. Dual-Timer Module (SP804)" is a simple 32-bit count-down
timer IP with interrupt functionality, and is used in some SoCs from
various vendors.
Add a simple DM compliant timer driver, to allow users of the SP804 to
switch to DM_TIMER.
This relies on the input clock to be accessible via the DM clock
framework, which should be fine as we probably look at fixed-clock's
here anyway.
We re-program the control register in the probe() function, but keep
the divider in place, in case this has been set to something on purpose
before.
The TRM for the timer IP can be found here:
https://developer.arm.com/documentation/ddi0271/latest
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
diff --git a/drivers/timer/Kconfig b/drivers/timer/Kconfig
index 3b2fa24..6d66650 100644
--- a/drivers/timer/Kconfig
+++ b/drivers/timer/Kconfig
@@ -239,6 +239,12 @@
Select this to enable global timer found on ARM Cortex A9
based devices.
+config SP804_TIMER
+ bool "ARM SP804 timer support"
+ depends on TIMER
+ help
+ ARM SP804 dual timer IP support
+
config STM32_TIMER
bool "STM32 timer support"
depends on TIMER