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 8213e0b405SLinus Walleij help 8313e0b405SLinus Walleij Enables support for the Intel XScale IXP4xx SoC timer. 8413e0b405SLinus Walleij 85468b8c4cSDaniel Lezcanoconfig ROCKCHIP_TIMER 8640ada2aaSDaniel Lezcano bool "Rockchip timer driver" if COMPILE_TEST 8740ada2aaSDaniel Lezcano depends on ARM || ARM64 88bb0eb050SDaniel Lezcano select TIMER_OF 895e0a39d0SAlexander Kochetkov select CLKSRC_MMIO 9040ada2aaSDaniel Lezcano help 9106293463SRandy Dunlap Enables the support for the Rockchip timer driver. 92468b8c4cSDaniel Lezcano 936fe9cbd1SGregory CLEMENTconfig ARMADA_370_XP_TIMER 949519e80cSDaniel Lezcano bool "Armada 370 and XP timer driver" if COMPILE_TEST 959519e80cSDaniel Lezcano depends on ARM 96bb0eb050SDaniel Lezcano select TIMER_OF 972be6d9bfSArnd Bergmann select CLKSRC_MMIO 989519e80cSDaniel Lezcano help 999519e80cSDaniel Lezcano Enables the support for the Armada 370 and XP timer driver. 1006fe9cbd1SGregory CLEMENT 101e4a6b378SCarlo Caioneconfig MESON6_TIMER 1020b7a7bb7SDaniel Lezcano bool "Meson6 timer driver" if COMPILE_TEST 1037b6b0a45SBeniamino Galvani select CLKSRC_MMIO 1040b7a7bb7SDaniel Lezcano help 1050b7a7bb7SDaniel Lezcano Enables the support for the Meson6 timer driver. 106e4a6b378SCarlo Caione 1070c1dcfd5SSebastian Hesselbarthconfig ORION_TIMER 108c9165549SDaniel Lezcano bool "Orion timer driver" if COMPILE_TEST 109c9165549SDaniel Lezcano depends on ARM 110bb0eb050SDaniel Lezcano select TIMER_OF 1110c1dcfd5SSebastian Hesselbarth select CLKSRC_MMIO 112c9165549SDaniel Lezcano help 113c9165549SDaniel Lezcano Enables the support for the Orion timer driver 1140c1dcfd5SSebastian Hesselbarth 1154be78a86SAndreas Färberconfig OWL_TIMER 1164be78a86SAndreas Färber bool "Owl timer driver" if COMPILE_TEST 1174be78a86SAndreas Färber select CLKSRC_MMIO 1184be78a86SAndreas Färber help 1194be78a86SAndreas Färber Enables the support for the Actions Semi Owl timer driver. 1204be78a86SAndreas Färber 1217f83a132SManivannan Sadhasivamconfig RDA_TIMER 1227f83a132SManivannan Sadhasivam bool "RDA timer driver" if COMPILE_TEST 1237f83a132SManivannan Sadhasivam depends on GENERIC_CLOCKEVENTS 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 201b56d5d21SDaniel Lezcanoconfig ATLAS7_TIMER 202b56d5d21SDaniel Lezcano bool "Atlas7 timer driver" if COMPILE_TEST 203b56d5d21SDaniel Lezcano select CLKSRC_MMIO 204b56d5d21SDaniel Lezcano help 205b56d5d21SDaniel Lezcano Enables support for the Atlas7 timer. 206b56d5d21SDaniel Lezcano 207d81c50a0SDaniel Lezcanoconfig MXS_TIMER 20806293463SRandy Dunlap bool "MXS timer driver" if COMPILE_TEST 209d81c50a0SDaniel Lezcano select CLKSRC_MMIO 210d81c50a0SDaniel Lezcano select STMP_DEVICE 211d81c50a0SDaniel Lezcano help 21206293463SRandy Dunlap Enables support for the MXS timer. 213d81c50a0SDaniel Lezcano 214f3550d49SDaniel Lezcanoconfig PRIMA2_TIMER 215f3550d49SDaniel Lezcano bool "Prima2 timer driver" if COMPILE_TEST 216f3550d49SDaniel Lezcano select CLKSRC_MMIO 217f3550d49SDaniel Lezcano help 218f3550d49SDaniel Lezcano Enables support for the Prima2 timer. 219f3550d49SDaniel Lezcano 22085f98db4SDaniel Lezcanoconfig U300_TIMER 22185f98db4SDaniel Lezcano bool "U300 timer driver" if COMPILE_TEST 22285f98db4SDaniel Lezcano depends on ARM 22385f98db4SDaniel Lezcano select CLKSRC_MMIO 22485f98db4SDaniel Lezcano help 22585f98db4SDaniel Lezcano Enables support for the U300 timer. 22685f98db4SDaniel Lezcano 227d683b9dcSDaniel Lezcanoconfig NSPIRE_TIMER 228d683b9dcSDaniel Lezcano bool "NSpire timer driver" if COMPILE_TEST 229d683b9dcSDaniel Lezcano select CLKSRC_MMIO 230d683b9dcSDaniel Lezcano help 231d683b9dcSDaniel Lezcano Enables support for the Nspire timer. 232d683b9dcSDaniel Lezcano 233c12547a0SDaniel Lezcanoconfig KEYSTONE_TIMER 234c12547a0SDaniel Lezcano bool "Keystone timer driver" if COMPILE_TEST 235c12547a0SDaniel Lezcano depends on ARM || ARM64 236c12547a0SDaniel Lezcano select CLKSRC_MMIO 237c12547a0SDaniel Lezcano help 238c12547a0SDaniel Lezcano Enables support for the Keystone timer. 239c12547a0SDaniel Lezcano 240568c0342SDaniel Lezcanoconfig INTEGRATOR_AP_TIMER 24106293463SRandy Dunlap bool "Integrator-AP timer driver" if COMPILE_TEST 242568c0342SDaniel Lezcano select CLKSRC_MMIO 243568c0342SDaniel Lezcano help 24406293463SRandy Dunlap Enables support for the Integrator-AP timer. 245568c0342SDaniel Lezcano 2469c9b7818SUwe Kleine-Königconfig CLKSRC_EFM32 2479c9b7818SUwe Kleine-König bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32 2489c9b7818SUwe Kleine-König depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST) 24909ca2757SAxel Lin select CLKSRC_MMIO 2509c9b7818SUwe Kleine-König default ARCH_EFM32 2519c9b7818SUwe Kleine-König help 2529c9b7818SUwe Kleine-König Support to use the timers of EFM32 SoCs as clock source and clock 2539c9b7818SUwe Kleine-König event device. 2549c9b7818SUwe Kleine-König 255050dd322SJoachim Eastwoodconfig CLKSRC_LPC32XX 256ddcf48c7SDaniel Lezcano bool "Clocksource for LPC32XX" if COMPILE_TEST 2572f8a26c1SArnd Bergmann depends on HAS_IOMEM 2581b18fd20SEzequiel Garcia depends on ARM 259050dd322SJoachim Eastwood select CLKSRC_MMIO 260bb0eb050SDaniel Lezcano select TIMER_OF 261ddcf48c7SDaniel Lezcano help 262ddcf48c7SDaniel Lezcano Support for the LPC32XX clocksource. 263050dd322SJoachim Eastwood 26484583983SEzequiel Garciaconfig CLKSRC_PISTACHIO 265dfdb1652SDaniel Lezcano bool "Clocksource for Pistachio SoC" if COMPILE_TEST 2662f8a26c1SArnd Bergmann depends on HAS_IOMEM 267bb0eb050SDaniel Lezcano select TIMER_OF 268dfdb1652SDaniel Lezcano help 269dfdb1652SDaniel Lezcano Enables the clocksource for the Pistachio SoC. 27084583983SEzequiel Garcia 271fe851f56SFelipe Balbiconfig CLKSRC_TI_32K 272fe851f56SFelipe Balbi bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST 273dfedaf10SFelipe Balbi depends on GENERIC_SCHED_CLOCK 274bb0eb050SDaniel Lezcano select TIMER_OF if OF 275fe851f56SFelipe Balbi help 276fe851f56SFelipe Balbi This option enables support for Texas Instruments 32.768 Hz clocksource 277fe851f56SFelipe Balbi available on many OMAP-like platforms. 278fe851f56SFelipe Balbi 279a5322457SNoam Camusconfig CLKSRC_NPS 280a5322457SNoam Camus bool "NPS400 clocksource driver" if COMPILE_TEST 281a5322457SNoam Camus depends on !PHYS_ADDR_T_64BIT 282a5322457SNoam Camus select CLKSRC_MMIO 283bb0eb050SDaniel Lezcano select TIMER_OF if OF 284a5322457SNoam Camus help 285a5322457SNoam Camus NPS400 clocksource support. 28606293463SRandy Dunlap It has a 64-bit counter with update rate up to 1000MHz. 28706293463SRandy Dunlap This counter is accessed via couple of 32-bit memory-mapped registers. 288a5322457SNoam Camus 289e37e4593SMaxime Coquelinconfig CLKSRC_STM32 2901cb6c215SPaul Gortmaker bool "Clocksource for STM32 SoCs" if !ARCH_STM32 2911cb6c215SPaul Gortmaker depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST) 292e37e4593SMaxime Coquelin select CLKSRC_MMIO 293d04af490SBenjamin Gaignard select TIMER_OF 294e37e4593SMaxime Coquelin 2950302637fSVladimir Murzinconfig CLKSRC_MPS2 2960302637fSVladimir Murzin bool "Clocksource for MPS2 SoCs" if COMPILE_TEST 2970302637fSVladimir Murzin depends on GENERIC_SCHED_CLOCK 2980302637fSVladimir Murzin select CLKSRC_MMIO 299bb0eb050SDaniel Lezcano select TIMER_OF 3000302637fSVladimir Murzin 301c4c9a040SVineet Guptaconfig ARC_TIMERS 302c4c9a040SVineet Gupta bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST 303bf287607SAlexey Brodkin depends on GENERIC_SCHED_CLOCK 304bb0eb050SDaniel Lezcano select TIMER_OF 305c4c9a040SVineet Gupta help 306c4c9a040SVineet Gupta These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores 307c4c9a040SVineet Gupta (ARC700 as well as ARC HS38). 30806293463SRandy Dunlap TIMER0 serves as clockevent while TIMER1 provides clocksource. 309c4c9a040SVineet Gupta 310c4c9a040SVineet Guptaconfig ARC_TIMERS_64BIT 311c4c9a040SVineet Gupta bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST 312c4c9a040SVineet Gupta depends on ARC_TIMERS 313bb0eb050SDaniel Lezcano select TIMER_OF 314c4c9a040SVineet Gupta help 31506293463SRandy Dunlap This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP). 316c4c9a040SVineet Gupta RTC is implemented inside the core, while GFRC sits outside the core in 317c4c9a040SVineet Gupta ARConnect IP block. Driver automatically picks one of them for clocksource 318c4c9a040SVineet Gupta as appropriate. 319c4c9a040SVineet Gupta 3208a4da6e3SMark Rutlandconfig ARM_ARCH_TIMER 3218a4da6e3SMark Rutland bool 322bb0eb050SDaniel Lezcano select TIMER_OF if OF 323fa1bffabSDaniel Lezcano select TIMER_ACPI if ACPI 324a2c5d4edSJames Hogan 325037f6377SWill Deaconconfig ARM_ARCH_TIMER_EVTSTREAM 32646fd5c6bSWill Deacon bool "Enable ARM architected timer event stream generation by default" 327037f6377SWill Deacon default y if ARM_ARCH_TIMER 32877f7ce9aSStephen Boyd depends on ARM_ARCH_TIMER 329037f6377SWill Deacon help 33046fd5c6bSWill Deacon This option enables support by default for event stream generation 33146fd5c6bSWill Deacon based on the ARM architected timer. It is used for waking up CPUs 33246fd5c6bSWill Deacon executing the wfe instruction at a frequency represented as a 33346fd5c6bSWill Deacon power-of-2 divisor of the clock rate. The behaviour can also be 33446fd5c6bSWill Deacon overridden on the command line using the 33546fd5c6bSWill Deacon clocksource.arm_arch_timer.evtstream parameter. 336037f6377SWill Deacon The main use of the event stream is wfe-based timeouts of userspace 337037f6377SWill Deacon locking implementations. It might also be useful for imposing timeout 338037f6377SWill Deacon on wfe to safeguard against any programming errors in case an expected 339037f6377SWill Deacon event is not generated. 340037f6377SWill Deacon This must be disabled for hardware validation purposes to detect any 341037f6377SWill Deacon hardware anomalies of missing events. 342037f6377SWill Deacon 34316d10ef2SDing Tianhongconfig ARM_ARCH_TIMER_OOL_WORKAROUND 34416d10ef2SDing Tianhong bool 34516d10ef2SDing Tianhong 346f6dc1576SScott Woodconfig FSL_ERRATUM_A008585 347f6dc1576SScott Wood bool "Workaround for Freescale/NXP Erratum A-008585" 348f6dc1576SScott Wood default y 349f6dc1576SScott Wood depends on ARM_ARCH_TIMER && ARM64 35016d10ef2SDing Tianhong select ARM_ARCH_TIMER_OOL_WORKAROUND 351f6dc1576SScott Wood help 352f6dc1576SScott Wood This option enables a workaround for Freescale/NXP Erratum 353f6dc1576SScott Wood A-008585 ("ARM generic timer may contain an erroneous 354f6dc1576SScott Wood value"). The workaround will only be active if the 355f6dc1576SScott Wood fsl,erratum-a008585 property is found in the timer node. 356f6dc1576SScott Wood 357bb42ca47SDing Tianhongconfig HISILICON_ERRATUM_161010101 358bb42ca47SDing Tianhong bool "Workaround for Hisilicon Erratum 161010101" 359bb42ca47SDing Tianhong default y 360bb42ca47SDing Tianhong select ARM_ARCH_TIMER_OOL_WORKAROUND 361bb42ca47SDing Tianhong depends on ARM_ARCH_TIMER && ARM64 362bb42ca47SDing Tianhong help 363bb42ca47SDing Tianhong This option enables a workaround for Hisilicon Erratum 364bb42ca47SDing Tianhong 161010101. The workaround will be active if the hisilicon,erratum-161010101 365bb42ca47SDing Tianhong property is found in the timer node. 366bb42ca47SDing Tianhong 367fa8d815fSMarc Zyngierconfig ARM64_ERRATUM_858921 368fa8d815fSMarc Zyngier bool "Workaround for Cortex-A73 erratum 858921" 369fa8d815fSMarc Zyngier default y 370fa8d815fSMarc Zyngier select ARM_ARCH_TIMER_OOL_WORKAROUND 371fa8d815fSMarc Zyngier depends on ARM_ARCH_TIMER && ARM64 372fa8d815fSMarc Zyngier help 373fa8d815fSMarc Zyngier This option enables a workaround applicable to Cortex-A73 374fa8d815fSMarc Zyngier (all versions), whose counter may return incorrect values. 375fa8d815fSMarc Zyngier The workaround will be dynamically enabled when an affected 376fa8d815fSMarc Zyngier core is detected. 377fa8d815fSMarc Zyngier 378c950ca8cSSamuel Hollandconfig SUN50I_ERRATUM_UNKNOWN1 379c950ca8cSSamuel Holland bool "Workaround for Allwinner A64 erratum UNKNOWN1" 380c950ca8cSSamuel Holland default y 381c950ca8cSSamuel Holland depends on ARM_ARCH_TIMER && ARM64 && ARCH_SUNXI 382c950ca8cSSamuel Holland select ARM_ARCH_TIMER_OOL_WORKAROUND 383c950ca8cSSamuel Holland help 384c950ca8cSSamuel Holland This option enables a workaround for instability in the timer on 385c950ca8cSSamuel Holland the Allwinner A64 SoC. The workaround will only be active if the 386c950ca8cSSamuel Holland allwinner,erratum-unknown1 property is found in the timer node. 387c950ca8cSSamuel Holland 388c1b40e44SStuart Menefyconfig ARM_GLOBAL_TIMER 38967a87a43SDaniel Lezcano bool "Support for the ARM global timer" if COMPILE_TEST 390bb0eb050SDaniel Lezcano select TIMER_OF if OF 39167a87a43SDaniel Lezcano depends on ARM 392c1b40e44SStuart Menefy help 39306293463SRandy Dunlap This option enables support for the ARM global timer unit. 394c1b40e44SStuart Menefy 3950b7402dcSSudeep Hollaconfig ARM_TIMER_SP804 396dfc82faaSDavid Abdurachmanov bool "Support for Dual Timer SP804 module" if COMPILE_TEST 397002af195SGuenter Roeck depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP 3980b7402dcSSudeep Holla select CLKSRC_MMIO 399bb0eb050SDaniel Lezcano select TIMER_OF if OF 4000b7402dcSSudeep Holla 401c1b40e44SStuart Menefyconfig CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK 402c1b40e44SStuart Menefy bool 403c1b40e44SStuart Menefy depends on ARM_GLOBAL_TIMER 404c1b40e44SStuart Menefy default y 405c1b40e44SStuart Menefy help 40606293463SRandy Dunlap Use ARM global timer clock source as sched_clock. 407c1b40e44SStuart Menefy 4084958ebb3SMaxime Coquelinconfig ARMV7M_SYSTICK 409e2146d86SDaniel Lezcano bool "Support for the ARMv7M system time" if COMPILE_TEST 410bb0eb050SDaniel Lezcano select TIMER_OF if OF 4114958ebb3SMaxime Coquelin select CLKSRC_MMIO 4124958ebb3SMaxime Coquelin help 41306293463SRandy Dunlap This option enables support for the ARMv7M system timer unit. 4144958ebb3SMaxime Coquelin 415b052ff30SMaxime Ripardconfig ATMEL_PIT 4162f982703SAlexandre Belloni bool "Atmel PIT support" if COMPILE_TEST 4172f982703SAlexandre Belloni depends on HAS_IOMEM 418bb0eb050SDaniel Lezcano select TIMER_OF if OF 4192f982703SAlexandre Belloni help 4202f982703SAlexandre Belloni Support for the Periodic Interval Timer found on Atmel SoCs. 421b052ff30SMaxime Ripard 422b53cdd03SAlexandre Belloniconfig ATMEL_ST 423b988d3f0SDaniel Lezcano bool "Atmel ST timer support" if COMPILE_TEST 424bd2746f0SMasahiro Yamada depends on HAS_IOMEM 425bb0eb050SDaniel Lezcano select TIMER_OF 4267ab7ef74SAlexandre Belloni select MFD_SYSCON 427b988d3f0SDaniel Lezcano help 428b988d3f0SDaniel Lezcano Support for the Atmel ST timer. 429b53cdd03SAlexandre Belloni 4306275f494SAlexandre Belloniconfig ATMEL_TCB_CLKSRC 4316275f494SAlexandre Belloni bool "Atmel TC Block timer driver" if COMPILE_TEST 4321ce861ceSAlexandre Belloni depends on ARM && HAS_IOMEM 4336275f494SAlexandre Belloni select TIMER_OF if OF 4346275f494SAlexandre Belloni help 4356275f494SAlexandre Belloni Support for Timer Counter Blocks on Atmel SoCs. 4366275f494SAlexandre Belloni 4376938d75aSThomas Abrahamconfig CLKSRC_EXYNOS_MCT 43839366ef4SDaniel Lezcano bool "Exynos multi core timer driver" if COMPILE_TEST 439f1a4c1f3SChanwoo Choi depends on ARM || ARM64 4406938d75aSThomas Abraham help 4416938d75aSThomas Abraham Support for Multi Core Timer controller on Exynos SoCs. 442241a9871SArnd Bergmann 443f1189989STomasz Figaconfig CLKSRC_SAMSUNG_PWM 444de37b0b5SAlexandre Belloni bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST 445d7023e62SRichard Weinberger depends on HAS_IOMEM 446f1189989STomasz Figa help 447f1189989STomasz Figa This is a new clocksource driver for the PWM timer found in 448f1189989STomasz Figa Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver 449f1189989STomasz Figa for all devicetree enabled platforms. This driver will be 450f1189989STomasz Figa needed only on systems that do not have the Exynos MCT available. 451c1967249SJingchang Lu 4522529c3a3SXiubo Liconfig FSL_FTM_TIMER 453ef49336bSDaniel Lezcano bool "Freescale FlexTimer Module driver" if COMPILE_TEST 454d7023e62SRichard Weinberger depends on HAS_IOMEM 45503724ac3SDaniel Lezcano select CLKSRC_MMIO 4562529c3a3SXiubo Li help 4572529c3a3SXiubo Li Support for Freescale FlexTimer Module (FTM) timer. 4582529c3a3SXiubo Li 459c1967249SJingchang Luconfig VF_PIT_TIMER 460c1967249SJingchang Lu bool 4612be6d9bfSArnd Bergmann select CLKSRC_MMIO 462c1967249SJingchang Lu help 46306293463SRandy Dunlap Support for Periodic Interrupt Timer on Freescale Vybrid Family SoCs. 464fd3f1270SMagnus Damm 46589355274SNeil Armstrongconfig OXNAS_RPS_TIMER 46689355274SNeil Armstrong bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST 467bb0eb050SDaniel Lezcano select TIMER_OF 46889355274SNeil Armstrong select CLKSRC_MMIO 46989355274SNeil Armstrong help 47089355274SNeil Armstrong This enables support for the Oxford Semiconductor OXNAS RPS timers. 47189355274SNeil Armstrong 472fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_CMT 473fd3f1270SMagnus Damm bool 474fd3f1270SMagnus Damm 475ecb3530dSMatthias Bruggerconfig MTK_TIMER 476fbca9eabSDaniel Lezcano bool "Mediatek timer driver" if COMPILE_TEST 4772f8a26c1SArnd Bergmann depends on HAS_IOMEM 478bb0eb050SDaniel Lezcano select TIMER_OF 479ecb3530dSMatthias Brugger select CLKSRC_MMIO 480fbca9eabSDaniel Lezcano help 481fbca9eabSDaniel Lezcano Support for Mediatek timer driver. 482ecb3530dSMatthias Brugger 483067bc914SBaolin Wangconfig SPRD_TIMER 4848a1ece26SChunyan Zhang bool "Spreadtrum timer driver" if EXPERT 485067bc914SBaolin Wang depends on HAS_IOMEM 4868a1ece26SChunyan Zhang depends on (ARCH_SPRD || COMPILE_TEST) 4878a1ece26SChunyan Zhang default ARCH_SPRD 488067bc914SBaolin Wang select TIMER_OF 489067bc914SBaolin Wang help 490067bc914SBaolin Wang Enables support for the Spreadtrum timer driver. 491067bc914SBaolin Wang 492fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_MTU2 493fd3f1270SMagnus Damm bool 494fd3f1270SMagnus Damm 495fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_TMU 496fd3f1270SMagnus Damm bool 497fd3f1270SMagnus Damm 498fd3f1270SMagnus Dammconfig SYS_SUPPORTS_EM_STI 499fd3f1270SMagnus Damm bool 500fd3f1270SMagnus Damm 5019995f4f1SRich Felkerconfig CLKSRC_JCORE_PIT 5029995f4f1SRich Felker bool "J-Core PIT timer driver" if COMPILE_TEST 5039995f4f1SRich Felker depends on OF 5049995f4f1SRich Felker depends on HAS_IOMEM 5059995f4f1SRich Felker select CLKSRC_MMIO 5069995f4f1SRich Felker help 5079995f4f1SRich Felker This enables build of clocksource and clockevent driver for 5089995f4f1SRich Felker the integrated PIT in the J-Core synthesizable, open source SoC. 5099995f4f1SRich Felker 510fd3f1270SMagnus Dammconfig SH_TIMER_CMT 511fd3f1270SMagnus Damm bool "Renesas CMT timer driver" if COMPILE_TEST 51211bc26feSRichard Weinberger depends on HAS_IOMEM 513fd3f1270SMagnus Damm default SYS_SUPPORTS_SH_CMT 514fd3f1270SMagnus Damm help 515fd3f1270SMagnus Damm This enables build of a clocksource and clockevent driver for 516fd3f1270SMagnus Damm the Compare Match Timer (CMT) hardware available in 16/32/48-bit 517fd3f1270SMagnus Damm variants on a wide range of Mobile and Automotive SoCs from Renesas. 518fd3f1270SMagnus Damm 519fd3f1270SMagnus Dammconfig SH_TIMER_MTU2 520fd3f1270SMagnus Damm bool "Renesas MTU2 timer driver" if COMPILE_TEST 52111bc26feSRichard Weinberger depends on HAS_IOMEM 522fd3f1270SMagnus Damm default SYS_SUPPORTS_SH_MTU2 523fd3f1270SMagnus Damm help 524fd3f1270SMagnus Damm This enables build of a clockevent driver for the Multi-Function 5257e139187SKuninori Morimoto Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas. 52606293463SRandy Dunlap This hardware comes with 16-bit timer registers. 527fd3f1270SMagnus Damm 528fb6002a8SChris Brandtconfig RENESAS_OSTM 529fb6002a8SChris Brandt bool "Renesas OSTM timer driver" if COMPILE_TEST 530fb6002a8SChris Brandt select CLKSRC_MMIO 53122731423SGeert Uytterhoeven select TIMER_OF 532fb6002a8SChris Brandt help 533fb6002a8SChris Brandt Enables the support for the Renesas OSTM. 534fb6002a8SChris Brandt 535fd3f1270SMagnus Dammconfig SH_TIMER_TMU 536fd3f1270SMagnus Damm bool "Renesas TMU timer driver" if COMPILE_TEST 53711bc26feSRichard Weinberger depends on HAS_IOMEM 538fd3f1270SMagnus Damm default SYS_SUPPORTS_SH_TMU 539fd3f1270SMagnus Damm help 540fd3f1270SMagnus Damm This enables build of a clocksource and clockevent driver for 541fd3f1270SMagnus Damm the 32-bit Timer Unit (TMU) hardware available on a wide range 542fd3f1270SMagnus Damm SoCs from Renesas. 543fd3f1270SMagnus Damm 544fd3f1270SMagnus Dammconfig EM_TIMER_STI 545fd3f1270SMagnus Damm bool "Renesas STI timer driver" if COMPILE_TEST 5462f8a26c1SArnd Bergmann depends on HAS_IOMEM 547fd3f1270SMagnus Damm default SYS_SUPPORTS_EM_STI 548fd3f1270SMagnus Damm help 549fd3f1270SMagnus Damm This enables build of a clocksource and clockevent driver for 550fd3f1270SMagnus Damm the 48-bit System Timer (STI) hardware available on a SoCs 551fd3f1270SMagnus Damm such as EMEV2 from former NEC Electronics. 552dfc25e45SLinus Torvalds 5533f8e8ceeSKumar Galaconfig CLKSRC_QCOM 5543dc0e9f6SDaniel Lezcano bool "Qualcomm MSM timer" if COMPILE_TEST 5553dc0e9f6SDaniel Lezcano depends on ARM 556bb0eb050SDaniel Lezcano select TIMER_OF 5573dc0e9f6SDaniel Lezcano help 5583dc0e9f6SDaniel Lezcano This enables the clocksource and the per CPU clockevent driver for the 5593dc0e9f6SDaniel Lezcano Qualcomm SoCs. 560220e2a8dSPawel Moll 561220e2a8dSPawel Mollconfig CLKSRC_VERSATILE 5625cc87a4dSDaniel Lezcano bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST 5635cc87a4dSDaniel Lezcano depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET 564bb0eb050SDaniel Lezcano select TIMER_OF 565220e2a8dSPawel Moll default y if MFD_VEXPRESS_SYSREG 566220e2a8dSPawel Moll help 567220e2a8dSPawel Moll This option enables clock source based on free running 568220e2a8dSPawel Moll counter available in the "System Registers" block of 569220e2a8dSPawel Moll ARM Versatile, RealView and Versatile Express reference 570220e2a8dSPawel Moll platforms. 57158394271SJean Delvare 572fa5635a2SAndrew Brestickerconfig CLKSRC_MIPS_GIC 573fa5635a2SAndrew Bresticker bool 574fa5635a2SAndrew Bresticker depends on MIPS_GIC 575bb0eb050SDaniel Lezcano select TIMER_OF 576fa5635a2SAndrew Bresticker 577ccd63ce4SMarc Gonzalezconfig CLKSRC_TANGO_XTAL 5785a7351f0SDaniel Lezcano bool "Clocksource for Tango SoC" if COMPILE_TEST 5795a7351f0SDaniel Lezcano depends on ARM 580bb0eb050SDaniel Lezcano select TIMER_OF 5810881841fSDaniel Lezcano select CLKSRC_MMIO 5825a7351f0SDaniel Lezcano help 58306293463SRandy Dunlap This enables the clocksource for Tango SoC. 584ccd63ce4SMarc Gonzalez 585e074ff86SDmitry Eremin-Solenikovconfig CLKSRC_PXA 5865ae996cbSDaniel Lezcano bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST 587d7023e62SRichard Weinberger depends on HAS_IOMEM 5885ae996cbSDaniel Lezcano select CLKSRC_MMIO 589e074ff86SDmitry Eremin-Solenikov help 590e074ff86SDmitry Eremin-Solenikov This enables OST0 support available on PXA and SA-11x0 591e074ff86SDmitry Eremin-Solenikov platforms. 592618b902dSYoshinori Sato 59397a23bebSDaniel Lezcanoconfig H8300_TMR8 59446e7c3c6SDaniel Lezcano bool "Clockevent timer for the H8300 platform" if COMPILE_TEST 5952f8a26c1SArnd Bergmann depends on HAS_IOMEM 59646e7c3c6SDaniel Lezcano help 59746e7c3c6SDaniel Lezcano This enables the 8 bits timer for the H8300 platform. 59897a23bebSDaniel Lezcano 599618b902dSYoshinori Satoconfig H8300_TMR16 60046e7c3c6SDaniel Lezcano bool "Clockevent timer for the H83069 platform" if COMPILE_TEST 6012f8a26c1SArnd Bergmann depends on HAS_IOMEM 60246e7c3c6SDaniel Lezcano help 60346e7c3c6SDaniel Lezcano This enables the 16 bits timer for the H8300 platform with the 60406293463SRandy Dunlap H83069 CPU. 605618b902dSYoshinori Sato 606618b902dSYoshinori Satoconfig H8300_TPU 60746e7c3c6SDaniel Lezcano bool "Clocksource for the H8300 platform" if COMPILE_TEST 6082f8a26c1SArnd Bergmann depends on HAS_IOMEM 60946e7c3c6SDaniel Lezcano help 61046e7c3c6SDaniel Lezcano This enables the clocksource for the H8300 platform with the 61106293463SRandy Dunlap H8S2678 CPU. 612618b902dSYoshinori Sato 613bea5af41SShawn Guoconfig CLKSRC_IMX_GPT 614bea5af41SShawn Guo bool "Clocksource using i.MX GPT" if COMPILE_TEST 615df181e38SAnson Huang depends on (ARM || ARM64) && CLKDEV_LOOKUP 616bea5af41SShawn Guo select CLKSRC_MMIO 617bea5af41SShawn Guo 618059ab7b8SDong Aishengconfig CLKSRC_IMX_TPM 619059ab7b8SDong Aisheng bool "Clocksource using i.MX TPM" if COMPILE_TEST 6202f8a26c1SArnd Bergmann depends on ARM && CLKDEV_LOOKUP 621059ab7b8SDong Aisheng select CLKSRC_MMIO 622059ab7b8SDong Aisheng help 623059ab7b8SDong Aisheng Enable this option to use IMX Timer/PWM Module (TPM) timer as 624059ab7b8SDong Aisheng clocksource. 625059ab7b8SDong Aisheng 6267117a44bSBai Pingconfig TIMER_IMX_SYS_CTR 6277117a44bSBai Ping bool "i.MX system counter timer" if COMPILE_TEST 6287117a44bSBai Ping select TIMER_OF 6297117a44bSBai Ping help 6307117a44bSBai Ping Enable this option to use i.MX system counter timer as a 6317117a44bSBai Ping clockevent. 6327117a44bSBai Ping 63370bef01cSLee Jonesconfig CLKSRC_ST_LPC 634baacaf83SDaniel Lezcano bool "Low power clocksource found in the LPC" if COMPILE_TEST 635bb0eb050SDaniel Lezcano select TIMER_OF if OF 636863ee050SRichard Weinberger depends on HAS_IOMEM 6372be6d9bfSArnd Bergmann select CLKSRC_MMIO 63870bef01cSLee Jones help 63970bef01cSLee Jones Enable this option to use the Low Power controller timer 64070bef01cSLee Jones as clocksource. 64170bef01cSLee Jones 64235dbb74aSRick Chenconfig ATCPIT100_TIMER 64335dbb74aSRick Chen bool "ATCPIT100 timer driver" 64435dbb74aSRick Chen depends on NDS32 || COMPILE_TEST 64535dbb74aSRick Chen depends on HAS_IOMEM 64635dbb74aSRick Chen select TIMER_OF 64735dbb74aSRick Chen default NDS32 64835dbb74aSRick Chen help 64935dbb74aSRick Chen This option enables support for the Andestech ATCPIT100 timers. 65035dbb74aSRick Chen 65162b01943SPalmer Dabbeltconfig RISCV_TIMER 65262b01943SPalmer Dabbelt bool "Timer for the RISC-V platform" 65392e0d143SAnup Patel depends on GENERIC_SCHED_CLOCK && RISCV 65462b01943SPalmer Dabbelt default y 65562b01943SPalmer Dabbelt select TIMER_PROBE 65662b01943SPalmer Dabbelt select TIMER_OF 65762b01943SPalmer Dabbelt help 65862b01943SPalmer Dabbelt This enables the per-hart timer built into all RISC-V systems, which 65962b01943SPalmer Dabbelt is accessed via both the SBI and the rdcycle instruction. This is 66062b01943SPalmer Dabbelt required for all RISC-V systems. 66162b01943SPalmer Dabbelt 662a7ad38b0SGuo Renconfig CSKY_MP_TIMER 663a7ad38b0SGuo Ren bool "SMP Timer for the C-SKY platform" if COMPILE_TEST 664a7ad38b0SGuo Ren depends on CSKY 665a7ad38b0SGuo Ren select TIMER_OF 666a7ad38b0SGuo Ren help 667a7ad38b0SGuo Ren Say yes here to enable C-SKY SMP timer driver used for C-SKY SMP 668a7ad38b0SGuo Ren system. 66906293463SRandy Dunlap csky,mptimer is not only used in SMP system, it also could be used in 67006293463SRandy Dunlap single core system. It's not a mmio reg and it uses mtcr/mfcr instruction. 671a7ad38b0SGuo Ren 67233745c3cSGuo Renconfig GX6605S_TIMER 67333745c3cSGuo Ren bool "Gx6605s SOC system timer driver" if COMPILE_TEST 67433745c3cSGuo Ren depends on CSKY 67533745c3cSGuo Ren select CLKSRC_MMIO 67633745c3cSGuo Ren select TIMER_OF 67733745c3cSGuo Ren help 67833745c3cSGuo Ren This option enables support for gx6605s SOC's timer. 67933745c3cSGuo Ren 680b58f28f3SSugaya Taichiconfig MILBEAUT_TIMER 681b58f28f3SSugaya Taichi bool "Milbeaut timer driver" if COMPILE_TEST 682b58f28f3SSugaya Taichi depends on OF 683b58f28f3SSugaya Taichi depends on ARM 684b58f28f3SSugaya Taichi select TIMER_OF 685b58f28f3SSugaya Taichi select CLKSRC_MMIO 686b58f28f3SSugaya Taichi help 687b58f28f3SSugaya Taichi Enables the support for Milbeaut timer driver. 688b58f28f3SSugaya Taichi 68934e93683SPaul Cercueilconfig INGENIC_TIMER 69034e93683SPaul Cercueil bool "Clocksource/timer using the TCU in Ingenic JZ SoCs" 69134e93683SPaul Cercueil default MACH_INGENIC 69234e93683SPaul Cercueil depends on MIPS || COMPILE_TEST 69334e93683SPaul Cercueil depends on COMMON_CLK 69434e93683SPaul Cercueil select MFD_SYSCON 69534e93683SPaul Cercueil select TIMER_OF 69634e93683SPaul Cercueil select IRQ_DOMAIN 69734e93683SPaul Cercueil help 69834e93683SPaul Cercueil Support for the timer/counter unit of the Ingenic JZ SoCs. 69934e93683SPaul Cercueil 700ca7b72b5SMaarten ter Huurneconfig INGENIC_OST 701ca7b72b5SMaarten ter Huurne bool "Clocksource for Ingenic OS Timer" 702ca7b72b5SMaarten ter Huurne depends on MIPS || COMPILE_TEST 703ca7b72b5SMaarten ter Huurne depends on COMMON_CLK 704ca7b72b5SMaarten ter Huurne select MFD_SYSCON 705ca7b72b5SMaarten ter Huurne help 706ca7b72b5SMaarten ter Huurne Support for the Operating System Timer of the Ingenic JZ SoCs. 707ca7b72b5SMaarten ter Huurne 708625022a5SClaudiu Bezneaconfig MICROCHIP_PIT64B 709625022a5SClaudiu Beznea bool "Microchip PIT64B support" 710625022a5SClaudiu Beznea depends on OF || COMPILE_TEST 711625022a5SClaudiu Beznea select CLKSRC_MMIO 71225259f7aSMichael Ellerman select TIMER_OF 713625022a5SClaudiu Beznea help 714625022a5SClaudiu Beznea This option enables Microchip PIT64B timer for Atmel 715625022a5SClaudiu Beznea based system. It supports the oneshot, the periodic 716625022a5SClaudiu Beznea modes and high resolution. It is used as a clocksource 717625022a5SClaudiu Beznea and a clockevent. 718625022a5SClaudiu Beznea 71958394271SJean Delvareendmenu 720