1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 258394271SJean Delvaremenu "Clock Source drivers" 32f8a26c1SArnd Bergmann depends on GENERIC_CLOCKEVENTS 458394271SJean Delvare 5bb0eb050SDaniel Lezcanoconfig TIMER_OF 6ae278a93SStephen Warren bool 7bb0eb050SDaniel Lezcano select TIMER_PROBE 8aad83b15SMarc Zyngier 9fa1bffabSDaniel Lezcanoconfig TIMER_ACPI 10aad83b15SMarc Zyngier bool 11bb0eb050SDaniel Lezcano select TIMER_PROBE 12aad83b15SMarc Zyngier 13bb0eb050SDaniel Lezcanoconfig TIMER_PROBE 14aad83b15SMarc Zyngier bool 15ae278a93SStephen Warren 1689c0b8e2SRussell Kingconfig CLKSRC_I8253 1789c0b8e2SRussell King bool 18442c8176SRussell King 19e6220bdcSThomas Gleixnerconfig CLKEVT_I8253 20e6220bdcSThomas Gleixner bool 21e6220bdcSThomas Gleixner 2215f304b6SRalf Baechleconfig I8253_LOCK 2315f304b6SRalf Baechle bool 2415f304b6SRalf Baechle 25af04aa85SKeerthyconfig OMAP_DM_TIMER 26af04aa85SKeerthy bool 27af04aa85SKeerthy 2815f304b6SRalf Baechleconfig CLKBLD_I8253 29e6220bdcSThomas Gleixner def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK 3015f304b6SRalf Baechle 31442c8176SRussell Kingconfig CLKSRC_MMIO 32442c8176SRussell King bool 3306c3df49SJamie Iles 342ea879a7SDaniel Lezcanoconfig BCM2835_TIMER 352ea879a7SDaniel Lezcano bool "BCM2835 timer driver" if COMPILE_TEST 362ea879a7SDaniel Lezcano select CLKSRC_MMIO 372ea879a7SDaniel Lezcano help 382ea879a7SDaniel Lezcano Enables the support for the BCM2835 timer driver. 392ea879a7SDaniel Lezcano 401cad71e3SDaniel Lezcanoconfig BCM_KONA_TIMER 411cad71e3SDaniel Lezcano bool "BCM mobile timer driver" if COMPILE_TEST 421cad71e3SDaniel Lezcano select CLKSRC_MMIO 431cad71e3SDaniel Lezcano help 441cad71e3SDaniel Lezcano Enables the support for the BCM Kona mobile timer driver. 451cad71e3SDaniel Lezcano 46721154f9SBartosz Golaszewskiconfig DAVINCI_TIMER 47721154f9SBartosz Golaszewski bool "Texas Instruments DaVinci timer driver" if COMPILE_TEST 48721154f9SBartosz Golaszewski help 49721154f9SBartosz Golaszewski Enables the support for the TI DaVinci timer driver. 50721154f9SBartosz Golaszewski 519b8bb773SBaruch Siachconfig DIGICOLOR_TIMER 52e6c1db13SDaniel Lezcano bool "Digicolor timer driver" if COMPILE_TEST 532be6d9bfSArnd Bergmann select CLKSRC_MMIO 54d7023e62SRichard Weinberger depends on HAS_IOMEM 55e6c1db13SDaniel Lezcano help 56e6c1db13SDaniel Lezcano Enables the support for the digicolor timer driver. 579b8bb773SBaruch Siach 5806c3df49SJamie Ilesconfig DW_APB_TIMER 595b097f6bSDaniel Lezcano bool "DW APB timer driver" if COMPILE_TEST 605b097f6bSDaniel Lezcano help 615b097f6bSDaniel Lezcano Enables the support for the dw_apb timer. 62489bcceaSMattias Wallin 63cfda5901SDinh Nguyenconfig DW_APB_TIMER_OF 64cfda5901SDinh Nguyen bool 651b4eca0fSHeiko Stuebner select DW_APB_TIMER 66bb0eb050SDaniel Lezcano select TIMER_OF 67cfda5901SDinh Nguyen 68f5bf0ee4SLinus Walleijconfig FTTMR010_TIMER 69f5bf0ee4SLinus Walleij bool "Faraday Technology timer driver" if COMPILE_TEST 704750535bSLinus Walleij depends on HAS_IOMEM 714750535bSLinus Walleij select CLKSRC_MMIO 72bb0eb050SDaniel Lezcano select TIMER_OF 734750535bSLinus Walleij select MFD_SYSCON 744750535bSLinus Walleij help 75f5bf0ee4SLinus Walleij Enables support for the Faraday Technology timer block 76f5bf0ee4SLinus Walleij FTTMR010. 774750535bSLinus Walleij 7813e0b405SLinus Walleijconfig IXP4XX_TIMER 7913e0b405SLinus Walleij bool "Intel XScale IXP4xx timer driver" if COMPILE_TEST 8013e0b405SLinus Walleij depends on HAS_IOMEM 8113e0b405SLinus Walleij select CLKSRC_MMIO 827a3b8758SArnd Bergmann select TIMER_OF if OF 8313e0b405SLinus Walleij help 8413e0b405SLinus Walleij Enables support for the Intel XScale IXP4xx SoC timer. 8513e0b405SLinus Walleij 86468b8c4cSDaniel Lezcanoconfig ROCKCHIP_TIMER 8740ada2aaSDaniel Lezcano bool "Rockchip timer driver" if COMPILE_TEST 8840ada2aaSDaniel Lezcano depends on ARM || ARM64 89bb0eb050SDaniel Lezcano select TIMER_OF 905e0a39d0SAlexander Kochetkov select CLKSRC_MMIO 9140ada2aaSDaniel Lezcano help 9206293463SRandy Dunlap Enables the support for the Rockchip timer driver. 93468b8c4cSDaniel Lezcano 946fe9cbd1SGregory CLEMENTconfig ARMADA_370_XP_TIMER 959519e80cSDaniel Lezcano bool "Armada 370 and XP timer driver" if COMPILE_TEST 969519e80cSDaniel Lezcano depends on ARM 97bb0eb050SDaniel Lezcano select TIMER_OF 982be6d9bfSArnd Bergmann select CLKSRC_MMIO 999519e80cSDaniel Lezcano help 1009519e80cSDaniel Lezcano Enables the support for the Armada 370 and XP timer driver. 1016fe9cbd1SGregory CLEMENT 102e4a6b378SCarlo Caioneconfig MESON6_TIMER 1030b7a7bb7SDaniel Lezcano bool "Meson6 timer driver" if COMPILE_TEST 1047b6b0a45SBeniamino Galvani select CLKSRC_MMIO 1050b7a7bb7SDaniel Lezcano help 1060b7a7bb7SDaniel Lezcano Enables the support for the Meson6 timer driver. 107e4a6b378SCarlo Caione 1080c1dcfd5SSebastian Hesselbarthconfig ORION_TIMER 109c9165549SDaniel Lezcano bool "Orion timer driver" if COMPILE_TEST 110c9165549SDaniel Lezcano depends on ARM 111bb0eb050SDaniel Lezcano select TIMER_OF 1120c1dcfd5SSebastian Hesselbarth select CLKSRC_MMIO 113c9165549SDaniel Lezcano help 114c9165549SDaniel Lezcano Enables the support for the Orion timer driver 1150c1dcfd5SSebastian Hesselbarth 1164be78a86SAndreas Färberconfig OWL_TIMER 1174be78a86SAndreas Färber bool "Owl timer driver" if COMPILE_TEST 1184be78a86SAndreas Färber select CLKSRC_MMIO 1194be78a86SAndreas Färber help 1204be78a86SAndreas Färber Enables the support for the Actions Semi Owl timer driver. 1214be78a86SAndreas Färber 1227f83a132SManivannan Sadhasivamconfig RDA_TIMER 1237f83a132SManivannan Sadhasivam bool "RDA timer driver" if COMPILE_TEST 1247f83a132SManivannan Sadhasivam select CLKSRC_MMIO 1257f83a132SManivannan Sadhasivam select TIMER_OF 1267f83a132SManivannan Sadhasivam help 1277f83a132SManivannan Sadhasivam Enables the support for the RDA Micro timer driver. 1287f83a132SManivannan Sadhasivam 129119fd635SMaxime Ripardconfig SUN4I_TIMER 130b4fcd48bSDaniel Lezcano bool "Sun4i timer driver" if COMPILE_TEST 131d7023e62SRichard Weinberger depends on HAS_IOMEM 13271c568c0SMaxime Ripard select CLKSRC_MMIO 133239751edSDaniel Lezcano select TIMER_OF 134b4fcd48bSDaniel Lezcano help 135b4fcd48bSDaniel Lezcano Enables support for the Sun4i timer. 136b2ac5d75SMaxime Ripard 13767905540SMaxime Ripardconfig SUN5I_HSTIMER 138f0c5afb7SDaniel Lezcano bool "Sun5i timer driver" if COMPILE_TEST 13967905540SMaxime Ripard select CLKSRC_MMIO 140f0c5afb7SDaniel Lezcano depends on COMMON_CLK 141f0c5afb7SDaniel Lezcano help 142f0c5afb7SDaniel Lezcano Enables support the Sun5i timer. 14367905540SMaxime Ripard 144910978e7SThierry Redingconfig TEGRA_TIMER 145adce4bc8SDaniel Lezcano bool "Tegra timer driver" if COMPILE_TEST 1462be6d9bfSArnd Bergmann select CLKSRC_MMIO 147b4822dc7SJoseph Lo select TIMER_OF 148acb4bb3fSDmitry Osipenko depends on ARCH_TEGRA || COMPILE_TEST 149adce4bc8SDaniel Lezcano help 150adce4bc8SDaniel Lezcano Enables support for the Tegra driver. 151910978e7SThierry Reding 152ff7ec345STony Priskconfig VT8500_TIMER 153b4bdf7efSDaniel Lezcano bool "VT8500 timer driver" if COMPILE_TEST 154d7023e62SRichard Weinberger depends on HAS_IOMEM 155b4bdf7efSDaniel Lezcano help 156b4bdf7efSDaniel Lezcano Enables support for the VT8500 driver. 157ff7ec345STony Prisk 1581c00289eSTomer Maimonconfig NPCM7XX_TIMER 1591c00289eSTomer Maimon bool "NPCM7xx timer driver" if COMPILE_TEST 1601c00289eSTomer Maimon depends on HAS_IOMEM 16199834eeaSArnd Bergmann select TIMER_OF 1621c00289eSTomer Maimon select CLKSRC_MMIO 1631c00289eSTomer Maimon help 1641c00289eSTomer Maimon Enable 24-bit TIMER0 and TIMER1 counters in the NPCM7xx architecture, 16506293463SRandy Dunlap where TIMER0 serves as clockevent and TIMER1 serves as clocksource. 1661c00289eSTomer Maimon 1674f0f234fSMichal Simekconfig CADENCE_TTC_TIMER 16857f49318SDaniel Lezcano bool "Cadence TTC timer driver" if COMPILE_TEST 16957f49318SDaniel Lezcano depends on COMMON_CLK 17057f49318SDaniel Lezcano help 17106293463SRandy Dunlap Enables support for the Cadence TTC driver. 1724f0f234fSMichal Simek 173a8b1b9fcSDaniel Lezcanoconfig ASM9260_TIMER 174b9755841SDaniel Lezcano bool "ASM9260 timer driver" if COMPILE_TEST 175a8b1b9fcSDaniel Lezcano select CLKSRC_MMIO 176bb0eb050SDaniel Lezcano select TIMER_OF 177b9755841SDaniel Lezcano help 178b9755841SDaniel Lezcano Enables support for the ASM9260 timer. 179a8b1b9fcSDaniel Lezcano 180694e33a7SLinus Walleijconfig CLKSRC_NOMADIK_MTU 18170329653SDaniel Lezcano bool "Nomakdik clocksource driver" if COMPILE_TEST 18270329653SDaniel Lezcano depends on ARM 183694e33a7SLinus Walleij select CLKSRC_MMIO 184694e33a7SLinus Walleij help 185694e33a7SLinus Walleij Support for Multi Timer Unit. MTU provides access 186694e33a7SLinus Walleij to multiple interrupt generating programmable 187694e33a7SLinus Walleij 32-bit free running decrementing counters. 188694e33a7SLinus Walleij 189489bcceaSMattias Wallinconfig CLKSRC_DBX500_PRCMU 1901becd6edSDaniel Lezcano bool "Clocksource PRCMU Timer" if COMPILE_TEST 191d7023e62SRichard Weinberger depends on HAS_IOMEM 192489bcceaSMattias Wallin help 19306293463SRandy Dunlap Use the always on PRCMU Timer as clocksource. 194489bcceaSMattias Wallin 195ecf0efdcSDaniel Lezcanoconfig CLPS711X_TIMER 19606293463SRandy Dunlap bool "Cirrus Logic timer driver" if COMPILE_TEST 197ecf0efdcSDaniel Lezcano select CLKSRC_MMIO 198ecf0efdcSDaniel Lezcano help 199ecf0efdcSDaniel Lezcano Enables support for the Cirrus Logic PS711 timer. 200ecf0efdcSDaniel Lezcano 201d81c50a0SDaniel Lezcanoconfig MXS_TIMER 20206293463SRandy Dunlap bool "MXS timer driver" if COMPILE_TEST 203d81c50a0SDaniel Lezcano select CLKSRC_MMIO 204d81c50a0SDaniel Lezcano select STMP_DEVICE 205d81c50a0SDaniel Lezcano help 20606293463SRandy Dunlap Enables support for the MXS timer. 207d81c50a0SDaniel Lezcano 208d683b9dcSDaniel Lezcanoconfig NSPIRE_TIMER 209d683b9dcSDaniel Lezcano bool "NSpire timer driver" if COMPILE_TEST 210d683b9dcSDaniel Lezcano select CLKSRC_MMIO 211d683b9dcSDaniel Lezcano help 212d683b9dcSDaniel Lezcano Enables support for the Nspire timer. 213d683b9dcSDaniel Lezcano 214c12547a0SDaniel Lezcanoconfig KEYSTONE_TIMER 215c12547a0SDaniel Lezcano bool "Keystone timer driver" if COMPILE_TEST 216c12547a0SDaniel Lezcano depends on ARM || ARM64 217c12547a0SDaniel Lezcano select CLKSRC_MMIO 218c12547a0SDaniel Lezcano help 219c12547a0SDaniel Lezcano Enables support for the Keystone timer. 220c12547a0SDaniel Lezcano 221568c0342SDaniel Lezcanoconfig INTEGRATOR_AP_TIMER 22206293463SRandy Dunlap bool "Integrator-AP timer driver" if COMPILE_TEST 223568c0342SDaniel Lezcano select CLKSRC_MMIO 224568c0342SDaniel Lezcano help 22506293463SRandy Dunlap Enables support for the Integrator-AP timer. 226568c0342SDaniel Lezcano 227050dd322SJoachim Eastwoodconfig CLKSRC_LPC32XX 228ddcf48c7SDaniel Lezcano bool "Clocksource for LPC32XX" if COMPILE_TEST 2292f8a26c1SArnd Bergmann depends on HAS_IOMEM 2301b18fd20SEzequiel Garcia depends on ARM 231050dd322SJoachim Eastwood select CLKSRC_MMIO 232bb0eb050SDaniel Lezcano select TIMER_OF 233ddcf48c7SDaniel Lezcano help 234ddcf48c7SDaniel Lezcano Support for the LPC32XX clocksource. 235050dd322SJoachim Eastwood 23684583983SEzequiel Garciaconfig CLKSRC_PISTACHIO 237*1e4fd60bSJiaxun Yang bool "Clocksource for Pistachio SoC" 2382f8a26c1SArnd Bergmann depends on HAS_IOMEM 239*1e4fd60bSJiaxun Yang depends on MIPS || COMPILE_TEST 240bb0eb050SDaniel Lezcano select TIMER_OF 241dfdb1652SDaniel Lezcano help 242dfdb1652SDaniel Lezcano Enables the clocksource for the Pistachio SoC. 24384583983SEzequiel Garcia 244fe851f56SFelipe Balbiconfig CLKSRC_TI_32K 245fe851f56SFelipe Balbi bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST 246dfedaf10SFelipe Balbi depends on GENERIC_SCHED_CLOCK 247bb0eb050SDaniel Lezcano select TIMER_OF if OF 248fe851f56SFelipe Balbi help 249fe851f56SFelipe Balbi This option enables support for Texas Instruments 32.768 Hz clocksource 250fe851f56SFelipe Balbi available on many OMAP-like platforms. 251fe851f56SFelipe Balbi 252e37e4593SMaxime Coquelinconfig CLKSRC_STM32 2531cb6c215SPaul Gortmaker bool "Clocksource for STM32 SoCs" if !ARCH_STM32 2541cb6c215SPaul Gortmaker depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST) 255e37e4593SMaxime Coquelin select CLKSRC_MMIO 256d04af490SBenjamin Gaignard select TIMER_OF 257e37e4593SMaxime Coquelin 25848b41c5eSBenjamin Gaignardconfig CLKSRC_STM32_LP 25948b41c5eSBenjamin Gaignard bool "Low power clocksource for STM32 SoCs" 26048b41c5eSBenjamin Gaignard depends on MFD_STM32_LPTIMER || COMPILE_TEST 26148b41c5eSBenjamin Gaignard 2620302637fSVladimir Murzinconfig CLKSRC_MPS2 2630302637fSVladimir Murzin bool "Clocksource for MPS2 SoCs" if COMPILE_TEST 2640302637fSVladimir Murzin depends on GENERIC_SCHED_CLOCK 2650302637fSVladimir Murzin select CLKSRC_MMIO 266bb0eb050SDaniel Lezcano select TIMER_OF 2670302637fSVladimir Murzin 268c4c9a040SVineet Guptaconfig ARC_TIMERS 269c4c9a040SVineet Gupta bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST 270bf287607SAlexey Brodkin depends on GENERIC_SCHED_CLOCK 271bb0eb050SDaniel Lezcano select TIMER_OF 272c4c9a040SVineet Gupta help 273c4c9a040SVineet Gupta These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores 274c4c9a040SVineet Gupta (ARC700 as well as ARC HS38). 27506293463SRandy Dunlap TIMER0 serves as clockevent while TIMER1 provides clocksource. 276c4c9a040SVineet Gupta 277c4c9a040SVineet Guptaconfig ARC_TIMERS_64BIT 278c4c9a040SVineet Gupta bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST 279c4c9a040SVineet Gupta depends on ARC_TIMERS 280bb0eb050SDaniel Lezcano select TIMER_OF 281c4c9a040SVineet Gupta help 28206293463SRandy Dunlap This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP). 283c4c9a040SVineet Gupta RTC is implemented inside the core, while GFRC sits outside the core in 284c4c9a040SVineet Gupta ARConnect IP block. Driver automatically picks one of them for clocksource 285c4c9a040SVineet Gupta as appropriate. 286c4c9a040SVineet Gupta 2878a4da6e3SMark Rutlandconfig ARM_ARCH_TIMER 2888a4da6e3SMark Rutland bool 289bb0eb050SDaniel Lezcano select TIMER_OF if OF 290fa1bffabSDaniel Lezcano select TIMER_ACPI if ACPI 291a2c5d4edSJames Hogan 292037f6377SWill Deaconconfig ARM_ARCH_TIMER_EVTSTREAM 29346fd5c6bSWill Deacon bool "Enable ARM architected timer event stream generation by default" 294037f6377SWill Deacon default y if ARM_ARCH_TIMER 29577f7ce9aSStephen Boyd depends on ARM_ARCH_TIMER 296037f6377SWill Deacon help 29746fd5c6bSWill Deacon This option enables support by default for event stream generation 29846fd5c6bSWill Deacon based on the ARM architected timer. It is used for waking up CPUs 29946fd5c6bSWill Deacon executing the wfe instruction at a frequency represented as a 30046fd5c6bSWill Deacon power-of-2 divisor of the clock rate. The behaviour can also be 30146fd5c6bSWill Deacon overridden on the command line using the 30246fd5c6bSWill Deacon clocksource.arm_arch_timer.evtstream parameter. 303037f6377SWill Deacon The main use of the event stream is wfe-based timeouts of userspace 304037f6377SWill Deacon locking implementations. It might also be useful for imposing timeout 305037f6377SWill Deacon on wfe to safeguard against any programming errors in case an expected 306037f6377SWill Deacon event is not generated. 307037f6377SWill Deacon This must be disabled for hardware validation purposes to detect any 308037f6377SWill Deacon hardware anomalies of missing events. 309037f6377SWill Deacon 31016d10ef2SDing Tianhongconfig ARM_ARCH_TIMER_OOL_WORKAROUND 31116d10ef2SDing Tianhong bool 31216d10ef2SDing Tianhong 313f6dc1576SScott Woodconfig FSL_ERRATUM_A008585 314f6dc1576SScott Wood bool "Workaround for Freescale/NXP Erratum A-008585" 315f6dc1576SScott Wood default y 316f6dc1576SScott Wood depends on ARM_ARCH_TIMER && ARM64 31716d10ef2SDing Tianhong select ARM_ARCH_TIMER_OOL_WORKAROUND 318f6dc1576SScott Wood help 319f6dc1576SScott Wood This option enables a workaround for Freescale/NXP Erratum 320f6dc1576SScott Wood A-008585 ("ARM generic timer may contain an erroneous 321f6dc1576SScott Wood value"). The workaround will only be active if the 322f6dc1576SScott Wood fsl,erratum-a008585 property is found in the timer node. 323f6dc1576SScott Wood 324bb42ca47SDing Tianhongconfig HISILICON_ERRATUM_161010101 325bb42ca47SDing Tianhong bool "Workaround for Hisilicon Erratum 161010101" 326bb42ca47SDing Tianhong default y 327bb42ca47SDing Tianhong select ARM_ARCH_TIMER_OOL_WORKAROUND 328bb42ca47SDing Tianhong depends on ARM_ARCH_TIMER && ARM64 329bb42ca47SDing Tianhong help 330bb42ca47SDing Tianhong This option enables a workaround for Hisilicon Erratum 331bb42ca47SDing Tianhong 161010101. The workaround will be active if the hisilicon,erratum-161010101 332bb42ca47SDing Tianhong property is found in the timer node. 333bb42ca47SDing Tianhong 334fa8d815fSMarc Zyngierconfig ARM64_ERRATUM_858921 335fa8d815fSMarc Zyngier bool "Workaround for Cortex-A73 erratum 858921" 336fa8d815fSMarc Zyngier default y 337fa8d815fSMarc Zyngier select ARM_ARCH_TIMER_OOL_WORKAROUND 338fa8d815fSMarc Zyngier depends on ARM_ARCH_TIMER && ARM64 339fa8d815fSMarc Zyngier help 340fa8d815fSMarc Zyngier This option enables a workaround applicable to Cortex-A73 341fa8d815fSMarc Zyngier (all versions), whose counter may return incorrect values. 342fa8d815fSMarc Zyngier The workaround will be dynamically enabled when an affected 343fa8d815fSMarc Zyngier core is detected. 344fa8d815fSMarc Zyngier 345c950ca8cSSamuel Hollandconfig SUN50I_ERRATUM_UNKNOWN1 346c950ca8cSSamuel Holland bool "Workaround for Allwinner A64 erratum UNKNOWN1" 347c950ca8cSSamuel Holland default y 348c950ca8cSSamuel Holland depends on ARM_ARCH_TIMER && ARM64 && ARCH_SUNXI 349c950ca8cSSamuel Holland select ARM_ARCH_TIMER_OOL_WORKAROUND 350c950ca8cSSamuel Holland help 351c950ca8cSSamuel Holland This option enables a workaround for instability in the timer on 352c950ca8cSSamuel Holland the Allwinner A64 SoC. The workaround will only be active if the 353c950ca8cSSamuel Holland allwinner,erratum-unknown1 property is found in the timer node. 354c950ca8cSSamuel Holland 355c1b40e44SStuart Menefyconfig ARM_GLOBAL_TIMER 35667a87a43SDaniel Lezcano bool "Support for the ARM global timer" if COMPILE_TEST 357bb0eb050SDaniel Lezcano select TIMER_OF if OF 35867a87a43SDaniel Lezcano depends on ARM 359c1b40e44SStuart Menefy help 36006293463SRandy Dunlap This option enables support for the ARM global timer unit. 361c1b40e44SStuart Menefy 362171b45a4SAndrea Merelloconfig ARM_GT_INITIAL_PRESCALER_VAL 363171b45a4SAndrea Merello int "ARM global timer initial prescaler value" 36468e2215eSAndrea Merello default 2 if ARCH_ZYNQ 365171b45a4SAndrea Merello default 1 366171b45a4SAndrea Merello depends on ARM_GLOBAL_TIMER 367171b45a4SAndrea Merello help 368171b45a4SAndrea Merello When the ARM global timer initializes, its current rate is declared 369171b45a4SAndrea Merello to the kernel and maintained forever. Should it's parent clock 370171b45a4SAndrea Merello change, the driver tries to fix the timer's internal prescaler. 371171b45a4SAndrea Merello On some machs (i.e. Zynq) the initial prescaler value thus poses 372171b45a4SAndrea Merello bounds about how much the parent clock is allowed to decrease or 373171b45a4SAndrea Merello increase wrt the initial clock value. 374171b45a4SAndrea Merello This affects CPU_FREQ max delta from the initial frequency. 375171b45a4SAndrea Merello 3760b7402dcSSudeep Hollaconfig ARM_TIMER_SP804 377dfc82faaSDavid Abdurachmanov bool "Support for Dual Timer SP804 module" if COMPILE_TEST 3782f4574ddSArnd Bergmann depends on GENERIC_SCHED_CLOCK && HAVE_CLK 3790b7402dcSSudeep Holla select CLKSRC_MMIO 380bb0eb050SDaniel Lezcano select TIMER_OF if OF 3810b7402dcSSudeep Holla 382c1b40e44SStuart Menefyconfig CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK 383c1b40e44SStuart Menefy bool 384c1b40e44SStuart Menefy depends on ARM_GLOBAL_TIMER 385c1b40e44SStuart Menefy default y 386c1b40e44SStuart Menefy help 38706293463SRandy Dunlap Use ARM global timer clock source as sched_clock. 388c1b40e44SStuart Menefy 3894958ebb3SMaxime Coquelinconfig ARMV7M_SYSTICK 390e2146d86SDaniel Lezcano bool "Support for the ARMv7M system time" if COMPILE_TEST 391bb0eb050SDaniel Lezcano select TIMER_OF if OF 3924958ebb3SMaxime Coquelin select CLKSRC_MMIO 3934958ebb3SMaxime Coquelin help 39406293463SRandy Dunlap This option enables support for the ARMv7M system timer unit. 3954958ebb3SMaxime Coquelin 396b052ff30SMaxime Ripardconfig ATMEL_PIT 3972f982703SAlexandre Belloni bool "Atmel PIT support" if COMPILE_TEST 3982f982703SAlexandre Belloni depends on HAS_IOMEM 399bb0eb050SDaniel Lezcano select TIMER_OF if OF 4002f982703SAlexandre Belloni help 4012f982703SAlexandre Belloni Support for the Periodic Interval Timer found on Atmel SoCs. 402b052ff30SMaxime Ripard 403b53cdd03SAlexandre Belloniconfig ATMEL_ST 404b988d3f0SDaniel Lezcano bool "Atmel ST timer support" if COMPILE_TEST 405bd2746f0SMasahiro Yamada depends on HAS_IOMEM 406bb0eb050SDaniel Lezcano select TIMER_OF 4077ab7ef74SAlexandre Belloni select MFD_SYSCON 408b988d3f0SDaniel Lezcano help 409b988d3f0SDaniel Lezcano Support for the Atmel ST timer. 410b53cdd03SAlexandre Belloni 4116275f494SAlexandre Belloniconfig ATMEL_TCB_CLKSRC 4126275f494SAlexandre Belloni bool "Atmel TC Block timer driver" if COMPILE_TEST 4131ce861ceSAlexandre Belloni depends on ARM && HAS_IOMEM 4146275f494SAlexandre Belloni select TIMER_OF if OF 4156275f494SAlexandre Belloni help 4166275f494SAlexandre Belloni Support for Timer Counter Blocks on Atmel SoCs. 4176275f494SAlexandre Belloni 4186938d75aSThomas Abrahamconfig CLKSRC_EXYNOS_MCT 41939366ef4SDaniel Lezcano bool "Exynos multi core timer driver" if COMPILE_TEST 420f1a4c1f3SChanwoo Choi depends on ARM || ARM64 4216938d75aSThomas Abraham help 4226938d75aSThomas Abraham Support for Multi Core Timer controller on Exynos SoCs. 423241a9871SArnd Bergmann 424f1189989STomasz Figaconfig CLKSRC_SAMSUNG_PWM 425de37b0b5SAlexandre Belloni bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST 426d7023e62SRichard Weinberger depends on HAS_IOMEM 427f1189989STomasz Figa help 428f1189989STomasz Figa This is a new clocksource driver for the PWM timer found in 429f1189989STomasz Figa Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver 430f1189989STomasz Figa for all devicetree enabled platforms. This driver will be 431f1189989STomasz Figa needed only on systems that do not have the Exynos MCT available. 432c1967249SJingchang Lu 4332529c3a3SXiubo Liconfig FSL_FTM_TIMER 434ef49336bSDaniel Lezcano bool "Freescale FlexTimer Module driver" if COMPILE_TEST 435d7023e62SRichard Weinberger depends on HAS_IOMEM 43603724ac3SDaniel Lezcano select CLKSRC_MMIO 4372529c3a3SXiubo Li help 4382529c3a3SXiubo Li Support for Freescale FlexTimer Module (FTM) timer. 4392529c3a3SXiubo Li 440c1967249SJingchang Luconfig VF_PIT_TIMER 441c1967249SJingchang Lu bool 4422be6d9bfSArnd Bergmann select CLKSRC_MMIO 443c1967249SJingchang Lu help 44406293463SRandy Dunlap Support for Periodic Interrupt Timer on Freescale Vybrid Family SoCs. 445fd3f1270SMagnus Damm 44689355274SNeil Armstrongconfig OXNAS_RPS_TIMER 44789355274SNeil Armstrong bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST 448bb0eb050SDaniel Lezcano select TIMER_OF 44989355274SNeil Armstrong select CLKSRC_MMIO 45089355274SNeil Armstrong help 45189355274SNeil Armstrong This enables support for the Oxford Semiconductor OXNAS RPS timers. 45289355274SNeil Armstrong 453fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_CMT 454fd3f1270SMagnus Damm bool 455fd3f1270SMagnus Damm 456ecb3530dSMatthias Bruggerconfig MTK_TIMER 457fbca9eabSDaniel Lezcano bool "Mediatek timer driver" if COMPILE_TEST 4582f8a26c1SArnd Bergmann depends on HAS_IOMEM 459bb0eb050SDaniel Lezcano select TIMER_OF 460ecb3530dSMatthias Brugger select CLKSRC_MMIO 461fbca9eabSDaniel Lezcano help 462fbca9eabSDaniel Lezcano Support for Mediatek timer driver. 463ecb3530dSMatthias Brugger 464067bc914SBaolin Wangconfig SPRD_TIMER 4658a1ece26SChunyan Zhang bool "Spreadtrum timer driver" if EXPERT 466067bc914SBaolin Wang depends on HAS_IOMEM 4678a1ece26SChunyan Zhang depends on (ARCH_SPRD || COMPILE_TEST) 4688a1ece26SChunyan Zhang default ARCH_SPRD 469067bc914SBaolin Wang select TIMER_OF 470067bc914SBaolin Wang help 471067bc914SBaolin Wang Enables support for the Spreadtrum timer driver. 472067bc914SBaolin Wang 473fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_MTU2 474fd3f1270SMagnus Damm bool 475fd3f1270SMagnus Damm 476fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_TMU 477fd3f1270SMagnus Damm bool 478fd3f1270SMagnus Damm 479fd3f1270SMagnus Dammconfig SYS_SUPPORTS_EM_STI 480fd3f1270SMagnus Damm bool 481fd3f1270SMagnus Damm 4829995f4f1SRich Felkerconfig CLKSRC_JCORE_PIT 4839995f4f1SRich Felker bool "J-Core PIT timer driver" if COMPILE_TEST 4849995f4f1SRich Felker depends on OF 4859995f4f1SRich Felker depends on HAS_IOMEM 4869995f4f1SRich Felker select CLKSRC_MMIO 4879995f4f1SRich Felker help 4889995f4f1SRich Felker This enables build of clocksource and clockevent driver for 4899995f4f1SRich Felker the integrated PIT in the J-Core synthesizable, open source SoC. 4909995f4f1SRich Felker 491fd3f1270SMagnus Dammconfig SH_TIMER_CMT 492fd3f1270SMagnus Damm bool "Renesas CMT timer driver" if COMPILE_TEST 49311bc26feSRichard Weinberger depends on HAS_IOMEM 494fd3f1270SMagnus Damm default SYS_SUPPORTS_SH_CMT 495fd3f1270SMagnus Damm help 496fd3f1270SMagnus Damm This enables build of a clocksource and clockevent driver for 497fd3f1270SMagnus Damm the Compare Match Timer (CMT) hardware available in 16/32/48-bit 498fd3f1270SMagnus Damm variants on a wide range of Mobile and Automotive SoCs from Renesas. 499fd3f1270SMagnus Damm 500fd3f1270SMagnus Dammconfig SH_TIMER_MTU2 501fd3f1270SMagnus Damm bool "Renesas MTU2 timer driver" if COMPILE_TEST 50211bc26feSRichard Weinberger depends on HAS_IOMEM 503fd3f1270SMagnus Damm default SYS_SUPPORTS_SH_MTU2 504fd3f1270SMagnus Damm help 505fd3f1270SMagnus Damm This enables build of a clockevent driver for the Multi-Function 5067e139187SKuninori Morimoto Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas. 50706293463SRandy Dunlap This hardware comes with 16-bit timer registers. 508fd3f1270SMagnus Damm 509fb6002a8SChris Brandtconfig RENESAS_OSTM 510fb6002a8SChris Brandt bool "Renesas OSTM timer driver" if COMPILE_TEST 511fb6002a8SChris Brandt select CLKSRC_MMIO 51222731423SGeert Uytterhoeven select TIMER_OF 513fb6002a8SChris Brandt help 514fb6002a8SChris Brandt Enables the support for the Renesas OSTM. 515fb6002a8SChris Brandt 516fd3f1270SMagnus Dammconfig SH_TIMER_TMU 517fd3f1270SMagnus Damm bool "Renesas TMU timer driver" if COMPILE_TEST 51811bc26feSRichard Weinberger depends on HAS_IOMEM 519fd3f1270SMagnus Damm default SYS_SUPPORTS_SH_TMU 520fd3f1270SMagnus Damm help 521fd3f1270SMagnus Damm This enables build of a clocksource and clockevent driver for 522fd3f1270SMagnus Damm the 32-bit Timer Unit (TMU) hardware available on a wide range 523fd3f1270SMagnus Damm SoCs from Renesas. 524fd3f1270SMagnus Damm 525fd3f1270SMagnus Dammconfig EM_TIMER_STI 526fd3f1270SMagnus Damm bool "Renesas STI timer driver" if COMPILE_TEST 5272f8a26c1SArnd Bergmann depends on HAS_IOMEM 528fd3f1270SMagnus Damm default SYS_SUPPORTS_EM_STI 529fd3f1270SMagnus Damm help 530fd3f1270SMagnus Damm This enables build of a clocksource and clockevent driver for 531fd3f1270SMagnus Damm the 48-bit System Timer (STI) hardware available on a SoCs 532fd3f1270SMagnus Damm such as EMEV2 from former NEC Electronics. 533dfc25e45SLinus Torvalds 5343f8e8ceeSKumar Galaconfig CLKSRC_QCOM 5353dc0e9f6SDaniel Lezcano bool "Qualcomm MSM timer" if COMPILE_TEST 5363dc0e9f6SDaniel Lezcano depends on ARM 537bb0eb050SDaniel Lezcano select TIMER_OF 5383dc0e9f6SDaniel Lezcano help 5393dc0e9f6SDaniel Lezcano This enables the clocksource and the per CPU clockevent driver for the 5403dc0e9f6SDaniel Lezcano Qualcomm SoCs. 541220e2a8dSPawel Moll 542220e2a8dSPawel Mollconfig CLKSRC_VERSATILE 5435cc87a4dSDaniel Lezcano bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST 54477f6c0b8SArnd Bergmann depends on GENERIC_SCHED_CLOCK 545bb0eb050SDaniel Lezcano select TIMER_OF 546bfed0edeSRob Herring default y if (ARCH_VEXPRESS || ARCH_VERSATILE) && ARM 547220e2a8dSPawel Moll help 548220e2a8dSPawel Moll This option enables clock source based on free running 549220e2a8dSPawel Moll counter available in the "System Registers" block of 550bfed0edeSRob Herring ARM Versatile and Versatile Express reference platforms. 55158394271SJean Delvare 552fa5635a2SAndrew Brestickerconfig CLKSRC_MIPS_GIC 553fa5635a2SAndrew Bresticker bool 554fa5635a2SAndrew Bresticker depends on MIPS_GIC 5557d7de1a6SSerge Semin select CLOCKSOURCE_WATCHDOG 556bb0eb050SDaniel Lezcano select TIMER_OF 557fa5635a2SAndrew Bresticker 558e074ff86SDmitry Eremin-Solenikovconfig CLKSRC_PXA 5595ae996cbSDaniel Lezcano bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST 560d7023e62SRichard Weinberger depends on HAS_IOMEM 5615ae996cbSDaniel Lezcano select CLKSRC_MMIO 562e074ff86SDmitry Eremin-Solenikov help 563e074ff86SDmitry Eremin-Solenikov This enables OST0 support available on PXA and SA-11x0 564e074ff86SDmitry Eremin-Solenikov platforms. 565618b902dSYoshinori Sato 56697a23bebSDaniel Lezcanoconfig H8300_TMR8 56746e7c3c6SDaniel Lezcano bool "Clockevent timer for the H8300 platform" if COMPILE_TEST 5682f8a26c1SArnd Bergmann depends on HAS_IOMEM 56946e7c3c6SDaniel Lezcano help 57046e7c3c6SDaniel Lezcano This enables the 8 bits timer for the H8300 platform. 57197a23bebSDaniel Lezcano 572618b902dSYoshinori Satoconfig H8300_TMR16 57346e7c3c6SDaniel Lezcano bool "Clockevent timer for the H83069 platform" if COMPILE_TEST 5742f8a26c1SArnd Bergmann depends on HAS_IOMEM 57546e7c3c6SDaniel Lezcano help 57646e7c3c6SDaniel Lezcano This enables the 16 bits timer for the H8300 platform with the 57706293463SRandy Dunlap H83069 CPU. 578618b902dSYoshinori Sato 579618b902dSYoshinori Satoconfig H8300_TPU 58046e7c3c6SDaniel Lezcano bool "Clocksource for the H8300 platform" if COMPILE_TEST 5812f8a26c1SArnd Bergmann depends on HAS_IOMEM 58246e7c3c6SDaniel Lezcano help 58346e7c3c6SDaniel Lezcano This enables the clocksource for the H8300 platform with the 58406293463SRandy Dunlap H8S2678 CPU. 585618b902dSYoshinori Sato 586bea5af41SShawn Guoconfig CLKSRC_IMX_GPT 587bea5af41SShawn Guo bool "Clocksource using i.MX GPT" if COMPILE_TEST 5882f4574ddSArnd Bergmann depends on (ARM || ARM64) && HAVE_CLK 589bea5af41SShawn Guo select CLKSRC_MMIO 590bea5af41SShawn Guo 591059ab7b8SDong Aishengconfig CLKSRC_IMX_TPM 592059ab7b8SDong Aisheng bool "Clocksource using i.MX TPM" if COMPILE_TEST 5932f4574ddSArnd Bergmann depends on (ARM || ARM64) && HAVE_CLK 594059ab7b8SDong Aisheng select CLKSRC_MMIO 595a6d0812aSAnson Huang select TIMER_OF 596059ab7b8SDong Aisheng help 597059ab7b8SDong Aisheng Enable this option to use IMX Timer/PWM Module (TPM) timer as 598059ab7b8SDong Aisheng clocksource. 599059ab7b8SDong Aisheng 6007117a44bSBai Pingconfig TIMER_IMX_SYS_CTR 6017117a44bSBai Ping bool "i.MX system counter timer" if COMPILE_TEST 6027117a44bSBai Ping select TIMER_OF 6037117a44bSBai Ping help 6047117a44bSBai Ping Enable this option to use i.MX system counter timer as a 6057117a44bSBai Ping clockevent. 6067117a44bSBai Ping 60770bef01cSLee Jonesconfig CLKSRC_ST_LPC 608baacaf83SDaniel Lezcano bool "Low power clocksource found in the LPC" if COMPILE_TEST 609bb0eb050SDaniel Lezcano select TIMER_OF if OF 610863ee050SRichard Weinberger depends on HAS_IOMEM 6112be6d9bfSArnd Bergmann select CLKSRC_MMIO 61270bef01cSLee Jones help 61370bef01cSLee Jones Enable this option to use the Low Power controller timer 61470bef01cSLee Jones as clocksource. 61570bef01cSLee Jones 61635dbb74aSRick Chenconfig ATCPIT100_TIMER 61735dbb74aSRick Chen bool "ATCPIT100 timer driver" 61835dbb74aSRick Chen depends on NDS32 || COMPILE_TEST 61935dbb74aSRick Chen depends on HAS_IOMEM 62035dbb74aSRick Chen select TIMER_OF 62135dbb74aSRick Chen default NDS32 62235dbb74aSRick Chen help 62335dbb74aSRick Chen This option enables support for the Andestech ATCPIT100 timers. 62435dbb74aSRick Chen 62562b01943SPalmer Dabbeltconfig RISCV_TIMER 6262bc3fc87SAnup Patel bool "Timer for the RISC-V platform" if COMPILE_TEST 627ab310544SKefeng Wang depends on GENERIC_SCHED_CLOCK && RISCV && RISCV_SBI 62862b01943SPalmer Dabbelt select TIMER_PROBE 62962b01943SPalmer Dabbelt select TIMER_OF 63062b01943SPalmer Dabbelt help 63162b01943SPalmer Dabbelt This enables the per-hart timer built into all RISC-V systems, which 63262b01943SPalmer Dabbelt is accessed via both the SBI and the rdcycle instruction. This is 63362b01943SPalmer Dabbelt required for all RISC-V systems. 63462b01943SPalmer Dabbelt 6352ac6795fSAnup Patelconfig CLINT_TIMER 6362ac6795fSAnup Patel bool "CLINT Timer for the RISC-V platform" if COMPILE_TEST 6372ac6795fSAnup Patel depends on GENERIC_SCHED_CLOCK && RISCV 6382ac6795fSAnup Patel select TIMER_PROBE 6392ac6795fSAnup Patel select TIMER_OF 6402ac6795fSAnup Patel help 6412ac6795fSAnup Patel This option enables the CLINT timer for RISC-V systems. The CLINT 6422ac6795fSAnup Patel driver is usually used for NoMMU RISC-V systems. 6432ac6795fSAnup Patel 644a7ad38b0SGuo Renconfig CSKY_MP_TIMER 645a7ad38b0SGuo Ren bool "SMP Timer for the C-SKY platform" if COMPILE_TEST 646a7ad38b0SGuo Ren depends on CSKY 647a7ad38b0SGuo Ren select TIMER_OF 648a7ad38b0SGuo Ren help 649a7ad38b0SGuo Ren Say yes here to enable C-SKY SMP timer driver used for C-SKY SMP 650a7ad38b0SGuo Ren system. 65106293463SRandy Dunlap csky,mptimer is not only used in SMP system, it also could be used in 65206293463SRandy Dunlap single core system. It's not a mmio reg and it uses mtcr/mfcr instruction. 653a7ad38b0SGuo Ren 65433745c3cSGuo Renconfig GX6605S_TIMER 65533745c3cSGuo Ren bool "Gx6605s SOC system timer driver" if COMPILE_TEST 65633745c3cSGuo Ren depends on CSKY 65733745c3cSGuo Ren select CLKSRC_MMIO 65833745c3cSGuo Ren select TIMER_OF 65933745c3cSGuo Ren help 66033745c3cSGuo Ren This option enables support for gx6605s SOC's timer. 66133745c3cSGuo Ren 662b58f28f3SSugaya Taichiconfig MILBEAUT_TIMER 663b58f28f3SSugaya Taichi bool "Milbeaut timer driver" if COMPILE_TEST 664b58f28f3SSugaya Taichi depends on OF 665b58f28f3SSugaya Taichi depends on ARM 666b58f28f3SSugaya Taichi select TIMER_OF 667b58f28f3SSugaya Taichi select CLKSRC_MMIO 668b58f28f3SSugaya Taichi help 669b58f28f3SSugaya Taichi Enables the support for Milbeaut timer driver. 670b58f28f3SSugaya Taichi 67134e93683SPaul Cercueilconfig INGENIC_TIMER 67234e93683SPaul Cercueil bool "Clocksource/timer using the TCU in Ingenic JZ SoCs" 67334e93683SPaul Cercueil default MACH_INGENIC 67434e93683SPaul Cercueil depends on MIPS || COMPILE_TEST 67534e93683SPaul Cercueil depends on COMMON_CLK 67634e93683SPaul Cercueil select MFD_SYSCON 67734e93683SPaul Cercueil select TIMER_OF 67834e93683SPaul Cercueil select IRQ_DOMAIN 67934e93683SPaul Cercueil help 68034e93683SPaul Cercueil Support for the timer/counter unit of the Ingenic JZ SoCs. 68134e93683SPaul Cercueil 6825ecafc12S周琰杰 (Zhou Yanjie)config INGENIC_SYSOST 6835ecafc12S周琰杰 (Zhou Yanjie) bool "Clocksource/timer using the SYSOST in Ingenic X SoCs" 6845ecafc12S周琰杰 (Zhou Yanjie) depends on MIPS || COMPILE_TEST 6855ecafc12S周琰杰 (Zhou Yanjie) depends on COMMON_CLK 6865ecafc12S周琰杰 (Zhou Yanjie) select MFD_SYSCON 6875ecafc12S周琰杰 (Zhou Yanjie) select TIMER_OF 6885ecafc12S周琰杰 (Zhou Yanjie) select IRQ_DOMAIN 6895ecafc12S周琰杰 (Zhou Yanjie) help 6905ecafc12S周琰杰 (Zhou Yanjie) Support for the SYSOST of the Ingenic X Series SoCs. 6915ecafc12S周琰杰 (Zhou Yanjie) 692ca7b72b5SMaarten ter Huurneconfig INGENIC_OST 6935ecafc12S周琰杰 (Zhou Yanjie) bool "Clocksource using the OST in Ingenic JZ SoCs" 694ca7b72b5SMaarten ter Huurne depends on MIPS || COMPILE_TEST 695ca7b72b5SMaarten ter Huurne depends on COMMON_CLK 696ca7b72b5SMaarten ter Huurne select MFD_SYSCON 697ca7b72b5SMaarten ter Huurne help 698ca7b72b5SMaarten ter Huurne Support for the Operating System Timer of the Ingenic JZ SoCs. 699ca7b72b5SMaarten ter Huurne 700625022a5SClaudiu Bezneaconfig MICROCHIP_PIT64B 701625022a5SClaudiu Beznea bool "Microchip PIT64B support" 702625022a5SClaudiu Beznea depends on OF || COMPILE_TEST 703625022a5SClaudiu Beznea select CLKSRC_MMIO 70425259f7aSMichael Ellerman select TIMER_OF 705625022a5SClaudiu Beznea help 706625022a5SClaudiu Beznea This option enables Microchip PIT64B timer for Atmel 707625022a5SClaudiu Beznea based system. It supports the oneshot, the periodic 708625022a5SClaudiu Beznea modes and high resolution. It is used as a clocksource 709625022a5SClaudiu Beznea and a clockevent. 710625022a5SClaudiu Beznea 71158394271SJean Delvareendmenu 712