Can't enable both CONFIG_SYS_ARCH_TIMER and CONFIG_TIMER_*. This error occurs: ld: lib/time.o: in function `get_tbclk': /usr/src/u-boot/lib/time.c:72: multiple definition of `get_tbclk'; arch/arm/cpu/armv7/arch_timer.o:/usr/src/u-boot/arch/arm/cpu/armv7/arch_timer.c:63: first defined here ld: lib/time.o: in function `get_ticks': /usr/src/u-boot/lib/time.c:87: multiple definition of `get_ticks'; arch/arm/cpu/armv7/arch_timer.o:/usr/src/u-boot/arch/arm/cpu/armv7/arch_timer.c:44: first defined here
This commit makes timer drivers only available when ARM Generic Timer is not selected. If it's selected, shows a warning explaining why Timers aren't visible. Signed-off-by: Marius Dinu <m95d+...@psihoexpert.ro> --- arch/arm/Kconfig | 2 ++ drivers/timer/Kconfig | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 4e7593616d8..afa581dcf78 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -453,6 +453,8 @@ config SYS_ARCH_TIMER It is mandatory for ARMv8 implementation and widely available on ARMv7 systems. + Note: Timer drivers (CONFIG_TIMER) are unavailable when this timer is selected. + config ARM_SMCCC bool "Support for ARM SMC Calling Convention (SMCCC)" depends on CPU_V7A || ARM64 diff --git a/drivers/timer/Kconfig b/drivers/timer/Kconfig index cb6fc0e7fda..f1020661dc0 100644 --- a/drivers/timer/Kconfig +++ b/drivers/timer/Kconfig @@ -1,8 +1,13 @@ menu "Timer Support" +comment "Timer drivers are unavailable when ARM Generic Timer (CONFIG_SYS_ARCH_TIMER) is selected." + depends on DM + depends on SYS_ARCH_TIMER + config TIMER bool "Enable driver model for timer drivers" depends on DM + depends on !SYS_ARCH_TIMER help Enable driver model for timer access. It uses the same API as lib/time.c, but now implemented by the uclass. The first timer -- 2.49.0