diff options
author | Andre Przywara <andre.przywara@arm.com> | 2018-04-12 04:24:46 +0300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2018-04-28 18:30:43 -0400 |
commit | 7842b6a91ece2484475d94487ec2b63a2832a4cf (patch) | |
tree | e8f5e8ee6b3b78bf826c581a368d98b192bddb67 /arch/arm | |
parent | 1a164ad304a9888193ea71227bcc6b7c06149cbe (diff) | |
download | u-boot-7842b6a91ece2484475d94487ec2b63a2832a4cf.tar.gz |
arm: move SYS_ARCH_TIMER to KConfig
SYS_ARCH_TIMER guards the usage of the ARM Generic Timer (aka arch
timer) in U-Boot.
At the moment it is mandatory for ARMv8 and used by a few ARMv7 boards.
Add a proper Kconfig symbol to express this dependency properly,
allowing certain board configuration to later disable arch timer in case
there are any problems with it.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
[tuomas: rebase + fix conflicts and resync with moveconfig & use select]
Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/Kconfig | 11 | ||||
-rw-r--r-- | arch/arm/cpu/armv8/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/mx7ulp/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-qemu/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-stm32mp/Kconfig | 1 |
5 files changed, 15 insertions, 1 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 6812cdd4ab..35fcd24274 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -242,6 +242,16 @@ config SYS_CACHELINE_SIZE default 64 if SYS_CACHE_SHIFT_6 default 32 if SYS_CACHE_SHIFT_5 +config SYS_ARCH_TIMER + bool "ARM Generic Timer support" + depends on CPU_V7 || ARM64 + default y if ARM64 + help + The ARM Generic Timer (aka arch-timer) provides an architected + interface to a timer source on an SoC. + It is mandantory for ARMv8 implementation and widely available + on ARMv7 systems. + config ARM_SMCCC bool "Support for ARM SMC Calling Convention (SMCCC)" depends on CPU_V7 || ARM64 @@ -570,6 +580,7 @@ config ARCH_KEYSTONE select SUPPORT_SPL select SYS_THUMB_BUILD select CMD_POWEROFF + select SYS_ARCH_TIMER imply CMD_MTDPARTS imply FIT imply CMD_SAVES diff --git a/arch/arm/cpu/armv8/Makefile b/arch/arm/cpu/armv8/Makefile index 1249547436..d18b38eb9e 100644 --- a/arch/arm/cpu/armv8/Makefile +++ b/arch/arm/cpu/armv8/Makefile @@ -9,7 +9,7 @@ extra-y := start.o obj-y += cpu.o ifndef CONFIG_$(SPL_TPL_)TIMER -obj-y += generic_timer.o +obj-$(CONFIG_SYS_ARCH_TIMER) += generic_timer.o endif obj-y += cache_v8.o obj-y += exceptions.o diff --git a/arch/arm/mach-imx/mx7ulp/Kconfig b/arch/arm/mach-imx/mx7ulp/Kconfig index 1bdc85a9a0..d4b0299dbd 100644 --- a/arch/arm/mach-imx/mx7ulp/Kconfig +++ b/arch/arm/mach-imx/mx7ulp/Kconfig @@ -9,6 +9,7 @@ choice config TARGET_MX7ULP_EVK bool "Support mx7ulp EVK board" + select SYS_ARCH_TIMER endchoice diff --git a/arch/arm/mach-qemu/Kconfig b/arch/arm/mach-qemu/Kconfig index 133163aecf..226dfa362f 100644 --- a/arch/arm/mach-qemu/Kconfig +++ b/arch/arm/mach-qemu/Kconfig @@ -16,6 +16,7 @@ config TARGET_QEMU_ARM_32BIT depends on ARCH_QEMU select CPU_V7 select ARCH_SUPPORT_PSCI + select SYS_ARCH_TIMER config TARGET_QEMU_ARM_64BIT bool "Support qemu_arm64" diff --git a/arch/arm/mach-stm32mp/Kconfig b/arch/arm/mach-stm32mp/Kconfig index 8ca97bf0c9..4d59480c19 100644 --- a/arch/arm/mach-stm32mp/Kconfig +++ b/arch/arm/mach-stm32mp/Kconfig @@ -27,6 +27,7 @@ config TARGET_STM32MP1 select CPU_V7 select PINCTRL_STM32 select STM32_RESET + select SYS_ARCH_TIMER select SYSRESET_SYSCON help target STMicroelectronics SOC STM32MP1 family |