menu "Clock Source drivers"config CLKSRC_OF boolconfig CLKSRC_I8253 boolconfig CLKEVT_I8253 boolconfig I8253_LOCK boolconfig CLKBLD_I8253 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCKconfig CLKSRC_MMIO boolconfig DIGICOLOR_TIMER boolconfig DW_APB_TIMER boolconfig DW_APB_TIMER_OF bool select DW_APB_TIMER select CLKSRC_OFconfig ROCKCHIP_TIMER bool select CLKSRC_OFconfig ARMADA_370_XP_TIMER bool select CLKSRC_OFconfig MESON6_TIMER bool select CLKSRC_MMIOconfig ORION_TIMER select CLKSRC_OF select CLKSRC_MMIO boolconfig SUN4I_TIMER select CLKSRC_MMIO boolconfig SUN5I_HSTIMER select CLKSRC_MMIO boolconfig TEGRA_TIMER boolconfig VT8500_TIMER boolconfig CADENCE_TTC_TIMER boolconfig ASM9260_TIMER bool select CLKSRC_MMIO select CLKSRC_OFconfig CLKSRC_NOMADIK_MTU bool depends on (ARCH_NOMADIK || ARCH_U8500) select CLKSRC_MMIO help Support for Multi Timer Unit. MTU provides access to multiple interrupt generating programmable 32-bit free running decrementing counters.config CLKSRC_NOMADIK_MTU_SCHED_CLOCK bool depends on CLKSRC_NOMADIK_MTU help Use the Multi Timer Unit as the sched_clock.config CLKSRC_DBX500_PRCMU bool "Clocksource PRCMU Timer" depends on UX500_SOC_DB8500 default y help Use the always on PRCMU Timer as clocksourceconfig CLKSRC_DBX500_PRCMU_SCHED_CLOCK bool "Clocksource PRCMU Timer sched_clock" depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK) default y help Use the always on PRCMU Timer as sched_clockconfig CLKSRC_EFM32 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST) select CLKSRC_MMIO default ARCH_EFM32 help Support to use the timers of EFM32 SoCs as clock source and clock event device.config CLKSRC_LPC32XX bool select CLKSRC_MMIO select CLKSRC_OFconfig CLKSRC_STM32 bool "Clocksource for STM32 SoCs" if !ARCH_STM32 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST) select CLKSRC_MMIOconfig ARM_ARCH_TIMER bool select CLKSRC_OF if OFconfig ARM_ARCH_TIMER_EVTSTREAM bool "Support for ARM architected timer event stream generation" default y if ARM_ARCH_TIMER depends on ARM_ARCH_TIMER help This option enables support for event stream generation based on the ARM architected timer. It is used for waking up CPUs executing the wfe instruction at a frequency represented as a power-of-2 divisor of the clock rate. The main use of the event stream is wfe-based timeouts of userspace locking implementations. It might also be useful for imposing timeout on wfe to safeguard against any programming errors in case an expected event is not generated. This must be disabled for hardware validation purposes to detect any hardware anomalies of missing events.config ARM_GLOBAL_TIMER bool select CLKSRC_OF if OF help This options enables support for the ARM global timer unitconfig ARM_TIMER_SP804 bool "Support for Dual Timer SP804 module" depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP select CLKSRC_MMIO select CLKSRC_OF if OFconfig CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK bool depends on ARM_GLOBAL_TIMER default y help Use ARM global timer clock source as sched_clockconfig ARMV7M_SYSTICK bool select CLKSRC_OF if OF select CLKSRC_MMIO help This options enables support for the ARMv7M system timer unitconfig ATMEL_PIT select CLKSRC_OF if OF def_bool SOC_AT91SAM9 || SOC_SAMA5config ATMEL_ST bool select CLKSRC_OF select MFD_SYSCONconfig CLKSRC_METAG_GENERIC def_bool y if METAG help This option enables support for the Meta per-thread timers.config CLKSRC_EXYNOS_MCT def_bool y if ARCH_EXYNOS depends on !ARM64 help Support for Multi Core Timer controller on Exynos SoCs.config CLKSRC_SAMSUNG_PWM bool help This is a new clocksource driver for the PWM timer found in Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver for all devicetree enabled platforms. This driver will be needed only on systems that do not have the Exynos MCT available.config FSL_FTM_TIMER bool help Support for Freescale FlexTimer Module (FTM) timer.config VF_PIT_TIMER bool help Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.config SYS_SUPPORTS_SH_CMT boolconfig MTK_TIMER select CLKSRC_OF select CLKSRC_MMIO boolconfig SYS_SUPPORTS_SH_MTU2 boolconfig SYS_SUPPORTS_SH_TMU boolconfig SYS_SUPPORTS_EM_STI boolconfig SH_TIMER_CMT bool "Renesas CMT timer driver" if COMPILE_TEST depends on GENERIC_CLOCKEVENTS depends on HAS_IOMEM default SYS_SUPPORTS_SH_CMT help This enables build of a clocksource and clockevent driver for the Compare Match Timer (CMT) hardware available in 16/32/48-bit variants on a wide range of Mobile and Automotive SoCs from Renesas.config SH_TIMER_MTU2 bool "Renesas MTU2 timer driver" if COMPILE_TEST depends on GENERIC_CLOCKEVENTS depends on HAS_IOMEM default SYS_SUPPORTS_SH_MTU2 help This enables build of a clockevent driver for the Multi-Function Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas. This hardware comes with 16 bit-timer registers.config SH_TIMER_TMU bool "Renesas TMU timer driver" if COMPILE_TEST depends on GENERIC_CLOCKEVENTS depends on HAS_IOMEM default SYS_SUPPORTS_SH_TMU help This enables build of a clocksource and clockevent driver for the 32-bit Timer Unit (TMU) hardware available on a wide range SoCs from Renesas.config EM_TIMER_STI bool "Renesas STI timer driver" if COMPILE_TEST depends on GENERIC_CLOCKEVENTS && HAS_IOMEM default SYS_SUPPORTS_EM_STI help This enables build of a clocksource and clockevent driver for the 48-bit System Timer (STI) hardware available on a SoCs such as EMEV2 from former NEC Electronics.config CLKSRC_QCOM boolconfig CLKSRC_VERSATILE bool "ARM Versatile (Express) reference platforms clock source" depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET select CLKSRC_OF default y if MFD_VEXPRESS_SYSREG help This option enables clock source based on free running counter available in the "System Registers" block of ARM Versatile, RealView and Versatile Express reference platforms.config CLKSRC_MIPS_GIC bool depends on MIPS_GIC select CLKSRC_OFconfig CLKSRC_PXA def_bool y if ARCH_PXA || ARCH_SA1100 select CLKSRC_OF if USE_OF help This enables OST0 support available on PXA and SA-11x0 platforms.config H8300_TMR16 boolconfig H8300_TPU boolconfig CLKSRC_IMX_GPT bool "Clocksource using i.MX GPT" if COMPILE_TEST depends on ARM && CLKDEV_LOOKUP select CLKSRC_MMIOendmenu
menu "Clock Source drivers"
config CLKSRC_OF
bool
config CLKSRC_I8253
bool
config CLKEVT_I8253
bool
config I8253_LOCK
bool
config CLKBLD_I8253
def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
config CLKSRC_MMIO
bool
config DIGICOLOR_TIMER
bool
config DW_APB_TIMER
bool
config DW_APB_TIMER_OF
bool
select DW_APB_TIMER
select CLKSRC_OF
config ROCKCHIP_TIMER
bool
select CLKSRC_OF
config ARMADA_370_XP_TIMER
bool
select CLKSRC_OF
config MESON6_TIMER
bool
select CLKSRC_MMIO
config ORION_TIMER
select CLKSRC_OF
select CLKSRC_MMIO
bool
config SUN4I_TIMER
select CLKSRC_MMIO
bool
config SUN5I_HSTIMER
select CLKSRC_MMIO
bool
config TEGRA_TIMER
bool
config VT8500_TIMER
bool
config CADENCE_TTC_TIMER
bool
config ASM9260_TIMER
bool
select CLKSRC_MMIO
select CLKSRC_OF
config CLKSRC_NOMADIK_MTU
bool
depends on (ARCH_NOMADIK || ARCH_U8500)
select CLKSRC_MMIO
help
Support for Multi Timer Unit. MTU provides access
to multiple interrupt generating programmable
32-bit free running decrementing counters.
config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
bool
depends on CLKSRC_NOMADIK_MTU
help
Use the Multi Timer Unit as the sched_clock.
config CLKSRC_DBX500_PRCMU
bool "Clocksource PRCMU Timer"
depends on UX500_SOC_DB8500
default y
help
Use the always on PRCMU Timer as clocksource
config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
bool "Clocksource PRCMU Timer sched_clock"
depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
default y
help
Use the always on PRCMU Timer as sched_clock
config CLKSRC_EFM32
bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
select CLKSRC_MMIO
default ARCH_EFM32
help
Support to use the timers of EFM32 SoCs as clock source and clock
event device.
config CLKSRC_LPC32XX
bool
select CLKSRC_MMIO
select CLKSRC_OF
config CLKSRC_STM32
bool "Clocksource for STM32 SoCs" if !ARCH_STM32
depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
select CLKSRC_MMIO
config ARM_ARCH_TIMER
bool
select CLKSRC_OF if OF
config ARM_ARCH_TIMER_EVTSTREAM
bool "Support for ARM architected timer event stream generation"
default y if ARM_ARCH_TIMER
depends on ARM_ARCH_TIMER
help
This option enables support for event stream generation based on
the ARM architected timer. It is used for waking up CPUs executing
the wfe instruction at a frequency represented as a power-of-2
divisor of the clock rate.
The main use of the event stream is wfe-based timeouts of userspace
locking implementations. It might also be useful for imposing timeout
on wfe to safeguard against any programming errors in case an expected
event is not generated.
This must be disabled for hardware validation purposes to detect any
hardware anomalies of missing events.
config ARM_GLOBAL_TIMER
bool
select CLKSRC_OF if OF
help
This options enables support for the ARM global timer unit
config ARM_TIMER_SP804
bool "Support for Dual Timer SP804 module"
depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
select CLKSRC_MMIO
select CLKSRC_OF if OF
config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
bool
depends on ARM_GLOBAL_TIMER
default y
help
Use ARM global timer clock source as sched_clock
config ARMV7M_SYSTICK
bool
select CLKSRC_OF if OF
select CLKSRC_MMIO
help
This options enables support for the ARMv7M system timer unit
config ATMEL_PIT
select CLKSRC_OF if OF
def_bool SOC_AT91SAM9 || SOC_SAMA5
config ATMEL_ST
bool
select CLKSRC_OF
select MFD_SYSCON
config CLKSRC_METAG_GENERIC
def_bool y if METAG
help
This option enables support for the Meta per-thread timers.
config CLKSRC_EXYNOS_MCT
def_bool y if ARCH_EXYNOS
depends on !ARM64
help
Support for Multi Core Timer controller on Exynos SoCs.
config CLKSRC_SAMSUNG_PWM
bool
help
This is a new clocksource driver for the PWM timer found in
Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
for all devicetree enabled platforms. This driver will be
needed only on systems that do not have the Exynos MCT available.
config FSL_FTM_TIMER
bool
help
Support for Freescale FlexTimer Module (FTM) timer.
config VF_PIT_TIMER
bool
help
Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
config SYS_SUPPORTS_SH_CMT
bool
config MTK_TIMER
select CLKSRC_OF
select CLKSRC_MMIO
bool
config SYS_SUPPORTS_SH_MTU2
bool
config SYS_SUPPORTS_SH_TMU
bool
config SYS_SUPPORTS_EM_STI
bool
config SH_TIMER_CMT
bool "Renesas CMT timer driver" if COMPILE_TEST
depends on GENERIC_CLOCKEVENTS
depends on HAS_IOMEM
default SYS_SUPPORTS_SH_CMT
help
This enables build of a clocksource and clockevent driver for
the Compare Match Timer (CMT) hardware available in 16/32/48-bit
variants on a wide range of Mobile and Automotive SoCs from Renesas.
config SH_TIMER_MTU2
bool "Renesas MTU2 timer driver" if COMPILE_TEST
depends on GENERIC_CLOCKEVENTS
depends on HAS_IOMEM
default SYS_SUPPORTS_SH_MTU2
help
This enables build of a clockevent driver for the Multi-Function
Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
This hardware comes with 16 bit-timer registers.
config SH_TIMER_TMU
bool "Renesas TMU timer driver" if COMPILE_TEST
depends on GENERIC_CLOCKEVENTS
depends on HAS_IOMEM
default SYS_SUPPORTS_SH_TMU
help
This enables build of a clocksource and clockevent driver for
the 32-bit Timer Unit (TMU) hardware available on a wide range
SoCs from Renesas.
config EM_TIMER_STI
bool "Renesas STI timer driver" if COMPILE_TEST
depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
default SYS_SUPPORTS_EM_STI
help
This enables build of a clocksource and clockevent driver for
the 48-bit System Timer (STI) hardware available on a SoCs
such as EMEV2 from former NEC Electronics.
config CLKSRC_QCOM
bool
config CLKSRC_VERSATILE
bool "ARM Versatile (Express) reference platforms clock source"
depends on PLAT_VERSATILE && GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
select CLKSRC_OF
default y if MFD_VEXPRESS_SYSREG
help
This option enables clock source based on free running
counter available in the "System Registers" block of
ARM Versatile, RealView and Versatile Express reference
platforms.
config CLKSRC_MIPS_GIC
bool
depends on MIPS_GIC
select CLKSRC_OF
config CLKSRC_PXA
def_bool y if ARCH_PXA || ARCH_SA1100
select CLKSRC_OF if USE_OF
help
This enables OST0 support available on PXA and SA-11x0
platforms.
config H8300_TMR16
bool
config H8300_TPU
bool
config CLKSRC_IMX_GPT
bool "Clocksource using i.MX GPT" if COMPILE_TEST
depends on ARM && CLKDEV_LOOKUP
select CLKSRC_MMIO
endmenu