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 237dfdb1652SDaniel Lezcano bool "Clocksource for Pistachio SoC" if COMPILE_TEST 2382f8a26c1SArnd Bergmann depends on HAS_IOMEM 239bb0eb050SDaniel Lezcano select TIMER_OF 240dfdb1652SDaniel Lezcano help 241dfdb1652SDaniel Lezcano Enables the clocksource for the Pistachio SoC. 24284583983SEzequiel Garcia 243fe851f56SFelipe Balbiconfig CLKSRC_TI_32K 244fe851f56SFelipe Balbi bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST 245dfedaf10SFelipe Balbi depends on GENERIC_SCHED_CLOCK 246bb0eb050SDaniel Lezcano select TIMER_OF if OF 247fe851f56SFelipe Balbi help 248fe851f56SFelipe Balbi This option enables support for Texas Instruments 32.768 Hz clocksource 249fe851f56SFelipe Balbi available on many OMAP-like platforms. 250fe851f56SFelipe Balbi 251e37e4593SMaxime Coquelinconfig CLKSRC_STM32 2521cb6c215SPaul Gortmaker bool "Clocksource for STM32 SoCs" if !ARCH_STM32 2531cb6c215SPaul Gortmaker depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST) 254e37e4593SMaxime Coquelin select CLKSRC_MMIO 255d04af490SBenjamin Gaignard select TIMER_OF 256e37e4593SMaxime Coquelin 25748b41c5eSBenjamin Gaignardconfig CLKSRC_STM32_LP 25848b41c5eSBenjamin Gaignard bool "Low power clocksource for STM32 SoCs" 25948b41c5eSBenjamin Gaignard depends on MFD_STM32_LPTIMER || COMPILE_TEST 26048b41c5eSBenjamin Gaignard 2610302637fSVladimir Murzinconfig CLKSRC_MPS2 2620302637fSVladimir Murzin bool "Clocksource for MPS2 SoCs" if COMPILE_TEST 2630302637fSVladimir Murzin depends on GENERIC_SCHED_CLOCK 2640302637fSVladimir Murzin select CLKSRC_MMIO 265bb0eb050SDaniel Lezcano select TIMER_OF 2660302637fSVladimir Murzin 267c4c9a040SVineet Guptaconfig ARC_TIMERS 268c4c9a040SVineet Gupta bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST 269bf287607SAlexey Brodkin depends on GENERIC_SCHED_CLOCK 270bb0eb050SDaniel Lezcano select TIMER_OF 271c4c9a040SVineet Gupta help 272c4c9a040SVineet Gupta These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores 273c4c9a040SVineet Gupta (ARC700 as well as ARC HS38). 27406293463SRandy Dunlap TIMER0 serves as clockevent while TIMER1 provides clocksource. 275c4c9a040SVineet Gupta 276c4c9a040SVineet Guptaconfig ARC_TIMERS_64BIT 277c4c9a040SVineet Gupta bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST 278c4c9a040SVineet Gupta depends on ARC_TIMERS 279bb0eb050SDaniel Lezcano select TIMER_OF 280c4c9a040SVineet Gupta help 28106293463SRandy Dunlap This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP). 282c4c9a040SVineet Gupta RTC is implemented inside the core, while GFRC sits outside the core in 283c4c9a040SVineet Gupta ARConnect IP block. Driver automatically picks one of them for clocksource 284c4c9a040SVineet Gupta as appropriate. 285c4c9a040SVineet Gupta 2868a4da6e3SMark Rutlandconfig ARM_ARCH_TIMER 2878a4da6e3SMark Rutland bool 288bb0eb050SDaniel Lezcano select TIMER_OF if OF 289fa1bffabSDaniel Lezcano select TIMER_ACPI if ACPI 290a2c5d4edSJames Hogan 291037f6377SWill Deaconconfig ARM_ARCH_TIMER_EVTSTREAM 29246fd5c6bSWill Deacon bool "Enable ARM architected timer event stream generation by default" 293037f6377SWill Deacon default y if ARM_ARCH_TIMER 29477f7ce9aSStephen Boyd depends on ARM_ARCH_TIMER 295037f6377SWill Deacon help 29646fd5c6bSWill Deacon This option enables support by default for event stream generation 29746fd5c6bSWill Deacon based on the ARM architected timer. It is used for waking up CPUs 29846fd5c6bSWill Deacon executing the wfe instruction at a frequency represented as a 29946fd5c6bSWill Deacon power-of-2 divisor of the clock rate. The behaviour can also be 30046fd5c6bSWill Deacon overridden on the command line using the 30146fd5c6bSWill Deacon clocksource.arm_arch_timer.evtstream parameter. 302037f6377SWill Deacon The main use of the event stream is wfe-based timeouts of userspace 303037f6377SWill Deacon locking implementations. It might also be useful for imposing timeout 304037f6377SWill Deacon on wfe to safeguard against any programming errors in case an expected 305037f6377SWill Deacon event is not generated. 306037f6377SWill Deacon This must be disabled for hardware validation purposes to detect any 307037f6377SWill Deacon hardware anomalies of missing events. 308037f6377SWill Deacon 30916d10ef2SDing Tianhongconfig ARM_ARCH_TIMER_OOL_WORKAROUND 31016d10ef2SDing Tianhong bool 31116d10ef2SDing Tianhong 312f6dc1576SScott Woodconfig FSL_ERRATUM_A008585 313f6dc1576SScott Wood bool "Workaround for Freescale/NXP Erratum A-008585" 314f6dc1576SScott Wood default y 315f6dc1576SScott Wood depends on ARM_ARCH_TIMER && ARM64 31616d10ef2SDing Tianhong select ARM_ARCH_TIMER_OOL_WORKAROUND 317f6dc1576SScott Wood help 318f6dc1576SScott Wood This option enables a workaround for Freescale/NXP Erratum 319f6dc1576SScott Wood A-008585 ("ARM generic timer may contain an erroneous 320f6dc1576SScott Wood value"). The workaround will only be active if the 321f6dc1576SScott Wood fsl,erratum-a008585 property is found in the timer node. 322f6dc1576SScott Wood 323bb42ca47SDing Tianhongconfig HISILICON_ERRATUM_161010101 324bb42ca47SDing Tianhong bool "Workaround for Hisilicon Erratum 161010101" 325bb42ca47SDing Tianhong default y 326bb42ca47SDing Tianhong select ARM_ARCH_TIMER_OOL_WORKAROUND 327bb42ca47SDing Tianhong depends on ARM_ARCH_TIMER && ARM64 328bb42ca47SDing Tianhong help 329bb42ca47SDing Tianhong This option enables a workaround for Hisilicon Erratum 330bb42ca47SDing Tianhong 161010101. The workaround will be active if the hisilicon,erratum-161010101 331bb42ca47SDing Tianhong property is found in the timer node. 332bb42ca47SDing Tianhong 333fa8d815fSMarc Zyngierconfig ARM64_ERRATUM_858921 334fa8d815fSMarc Zyngier bool "Workaround for Cortex-A73 erratum 858921" 335fa8d815fSMarc Zyngier default y 336fa8d815fSMarc Zyngier select ARM_ARCH_TIMER_OOL_WORKAROUND 337fa8d815fSMarc Zyngier depends on ARM_ARCH_TIMER && ARM64 338fa8d815fSMarc Zyngier help 339fa8d815fSMarc Zyngier This option enables a workaround applicable to Cortex-A73 340fa8d815fSMarc Zyngier (all versions), whose counter may return incorrect values. 341fa8d815fSMarc Zyngier The workaround will be dynamically enabled when an affected 342fa8d815fSMarc Zyngier core is detected. 343fa8d815fSMarc Zyngier 344c950ca8cSSamuel Hollandconfig SUN50I_ERRATUM_UNKNOWN1 345c950ca8cSSamuel Holland bool "Workaround for Allwinner A64 erratum UNKNOWN1" 346c950ca8cSSamuel Holland default y 347c950ca8cSSamuel Holland depends on ARM_ARCH_TIMER && ARM64 && ARCH_SUNXI 348c950ca8cSSamuel Holland select ARM_ARCH_TIMER_OOL_WORKAROUND 349c950ca8cSSamuel Holland help 350c950ca8cSSamuel Holland This option enables a workaround for instability in the timer on 351c950ca8cSSamuel Holland the Allwinner A64 SoC. The workaround will only be active if the 352c950ca8cSSamuel Holland allwinner,erratum-unknown1 property is found in the timer node. 353c950ca8cSSamuel Holland 354c1b40e44SStuart Menefyconfig ARM_GLOBAL_TIMER 35567a87a43SDaniel Lezcano bool "Support for the ARM global timer" if COMPILE_TEST 356bb0eb050SDaniel Lezcano select TIMER_OF if OF 35767a87a43SDaniel Lezcano depends on ARM 358c1b40e44SStuart Menefy help 35906293463SRandy Dunlap This option enables support for the ARM global timer unit. 360c1b40e44SStuart Menefy 361171b45a4SAndrea Merelloconfig ARM_GT_INITIAL_PRESCALER_VAL 362171b45a4SAndrea Merello int "ARM global timer initial prescaler value" 363*68e2215eSAndrea Merello default 2 if ARCH_ZYNQ 364171b45a4SAndrea Merello default 1 365171b45a4SAndrea Merello depends on ARM_GLOBAL_TIMER 366171b45a4SAndrea Merello help 367171b45a4SAndrea Merello When the ARM global timer initializes, its current rate is declared 368171b45a4SAndrea Merello to the kernel and maintained forever. Should it's parent clock 369171b45a4SAndrea Merello change, the driver tries to fix the timer's internal prescaler. 370171b45a4SAndrea Merello On some machs (i.e. Zynq) the initial prescaler value thus poses 371171b45a4SAndrea Merello bounds about how much the parent clock is allowed to decrease or 372171b45a4SAndrea Merello increase wrt the initial clock value. 373171b45a4SAndrea Merello This affects CPU_FREQ max delta from the initial frequency. 374171b45a4SAndrea Merello 3750b7402dcSSudeep Hollaconfig ARM_TIMER_SP804 376dfc82faaSDavid Abdurachmanov bool "Support for Dual Timer SP804 module" if COMPILE_TEST 377002af195SGuenter Roeck depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP 3780b7402dcSSudeep Holla select CLKSRC_MMIO 379bb0eb050SDaniel Lezcano select TIMER_OF if OF 3800b7402dcSSudeep Holla 381c1b40e44SStuart Menefyconfig CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK 382c1b40e44SStuart Menefy bool 383c1b40e44SStuart Menefy depends on ARM_GLOBAL_TIMER 384c1b40e44SStuart Menefy default y 385c1b40e44SStuart Menefy help 38606293463SRandy Dunlap Use ARM global timer clock source as sched_clock. 387c1b40e44SStuart Menefy 3884958ebb3SMaxime Coquelinconfig ARMV7M_SYSTICK 389e2146d86SDaniel Lezcano bool "Support for the ARMv7M system time" if COMPILE_TEST 390bb0eb050SDaniel Lezcano select TIMER_OF if OF 3914958ebb3SMaxime Coquelin select CLKSRC_MMIO 3924958ebb3SMaxime Coquelin help 39306293463SRandy Dunlap This option enables support for the ARMv7M system timer unit. 3944958ebb3SMaxime Coquelin 395b052ff30SMaxime Ripardconfig ATMEL_PIT 3962f982703SAlexandre Belloni bool "Atmel PIT support" if COMPILE_TEST 3972f982703SAlexandre Belloni depends on HAS_IOMEM 398bb0eb050SDaniel Lezcano select TIMER_OF if OF 3992f982703SAlexandre Belloni help 4002f982703SAlexandre Belloni Support for the Periodic Interval Timer found on Atmel SoCs. 401b052ff30SMaxime Ripard 402b53cdd03SAlexandre Belloniconfig ATMEL_ST 403b988d3f0SDaniel Lezcano bool "Atmel ST timer support" if COMPILE_TEST 404bd2746f0SMasahiro Yamada depends on HAS_IOMEM 405bb0eb050SDaniel Lezcano select TIMER_OF 4067ab7ef74SAlexandre Belloni select MFD_SYSCON 407b988d3f0SDaniel Lezcano help 408b988d3f0SDaniel Lezcano Support for the Atmel ST timer. 409b53cdd03SAlexandre Belloni 4106275f494SAlexandre Belloniconfig ATMEL_TCB_CLKSRC 4116275f494SAlexandre Belloni bool "Atmel TC Block timer driver" if COMPILE_TEST 4121ce861ceSAlexandre Belloni depends on ARM && HAS_IOMEM 4136275f494SAlexandre Belloni select TIMER_OF if OF 4146275f494SAlexandre Belloni help 4156275f494SAlexandre Belloni Support for Timer Counter Blocks on Atmel SoCs. 4166275f494SAlexandre Belloni 4176938d75aSThomas Abrahamconfig CLKSRC_EXYNOS_MCT 41839366ef4SDaniel Lezcano bool "Exynos multi core timer driver" if COMPILE_TEST 419f1a4c1f3SChanwoo Choi depends on ARM || ARM64 4206938d75aSThomas Abraham help 4216938d75aSThomas Abraham Support for Multi Core Timer controller on Exynos SoCs. 422241a9871SArnd Bergmann 423f1189989STomasz Figaconfig CLKSRC_SAMSUNG_PWM 424de37b0b5SAlexandre Belloni bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST 425d7023e62SRichard Weinberger depends on HAS_IOMEM 426f1189989STomasz Figa help 427f1189989STomasz Figa This is a new clocksource driver for the PWM timer found in 428f1189989STomasz Figa Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver 429f1189989STomasz Figa for all devicetree enabled platforms. This driver will be 430f1189989STomasz Figa needed only on systems that do not have the Exynos MCT available. 431c1967249SJingchang Lu 4322529c3a3SXiubo Liconfig FSL_FTM_TIMER 433ef49336bSDaniel Lezcano bool "Freescale FlexTimer Module driver" if COMPILE_TEST 434d7023e62SRichard Weinberger depends on HAS_IOMEM 43503724ac3SDaniel Lezcano select CLKSRC_MMIO 4362529c3a3SXiubo Li help 4372529c3a3SXiubo Li Support for Freescale FlexTimer Module (FTM) timer. 4382529c3a3SXiubo Li 439c1967249SJingchang Luconfig VF_PIT_TIMER 440c1967249SJingchang Lu bool 4412be6d9bfSArnd Bergmann select CLKSRC_MMIO 442c1967249SJingchang Lu help 44306293463SRandy Dunlap Support for Periodic Interrupt Timer on Freescale Vybrid Family SoCs. 444fd3f1270SMagnus Damm 44589355274SNeil Armstrongconfig OXNAS_RPS_TIMER 44689355274SNeil Armstrong bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST 447bb0eb050SDaniel Lezcano select TIMER_OF 44889355274SNeil Armstrong select CLKSRC_MMIO 44989355274SNeil Armstrong help 45089355274SNeil Armstrong This enables support for the Oxford Semiconductor OXNAS RPS timers. 45189355274SNeil Armstrong 452fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_CMT 453fd3f1270SMagnus Damm bool 454fd3f1270SMagnus Damm 455ecb3530dSMatthias Bruggerconfig MTK_TIMER 456fbca9eabSDaniel Lezcano bool "Mediatek timer driver" if COMPILE_TEST 4572f8a26c1SArnd Bergmann depends on HAS_IOMEM 458bb0eb050SDaniel Lezcano select TIMER_OF 459ecb3530dSMatthias Brugger select CLKSRC_MMIO 460fbca9eabSDaniel Lezcano help 461fbca9eabSDaniel Lezcano Support for Mediatek timer driver. 462ecb3530dSMatthias Brugger 463067bc914SBaolin Wangconfig SPRD_TIMER 4648a1ece26SChunyan Zhang bool "Spreadtrum timer driver" if EXPERT 465067bc914SBaolin Wang depends on HAS_IOMEM 4668a1ece26SChunyan Zhang depends on (ARCH_SPRD || COMPILE_TEST) 4678a1ece26SChunyan Zhang default ARCH_SPRD 468067bc914SBaolin Wang select TIMER_OF 469067bc914SBaolin Wang help 470067bc914SBaolin Wang Enables support for the Spreadtrum timer driver. 471067bc914SBaolin Wang 472fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_MTU2 473fd3f1270SMagnus Damm bool 474fd3f1270SMagnus Damm 475fd3f1270SMagnus Dammconfig SYS_SUPPORTS_SH_TMU 476fd3f1270SMagnus Damm bool 477fd3f1270SMagnus Damm 478fd3f1270SMagnus Dammconfig SYS_SUPPORTS_EM_STI 479fd3f1270SMagnus Damm bool 480fd3f1270SMagnus Damm 4819995f4f1SRich Felkerconfig CLKSRC_JCORE_PIT 4829995f4f1SRich Felker bool "J-Core PIT timer driver" if COMPILE_TEST 4839995f4f1SRich Felker depends on OF 4849995f4f1SRich Felker depends on HAS_IOMEM 4859995f4f1SRich Felker select CLKSRC_MMIO 4869995f4f1SRich Felker help 4879995f4f1SRich Felker This enables build of clocksource and clockevent driver for 4889995f4f1SRich Felker the integrated PIT in the J-Core synthesizable, open source SoC. 4899995f4f1SRich Felker 490fd3f1270SMagnus Dammconfig SH_TIMER_CMT 491fd3f1270SMagnus Damm bool "Renesas CMT timer driver" if COMPILE_TEST 49211bc26feSRichard Weinberger depends on HAS_IOMEM 493fd3f1270SMagnus Damm default SYS_SUPPORTS_SH_CMT 494fd3f1270SMagnus Damm help 495fd3f1270SMagnus Damm This enables build of a clocksource and clockevent driver for 496fd3f1270SMagnus Damm the Compare Match Timer (CMT) hardware available in 16/32/48-bit 497fd3f1270SMagnus Damm variants on a wide range of Mobile and Automotive SoCs from Renesas. 498fd3f1270SMagnus Damm 499fd3f1270SMagnus Dammconfig SH_TIMER_MTU2 500fd3f1270SMagnus Damm bool "Renesas MTU2 timer driver" if COMPILE_TEST 50111bc26feSRichard Weinberger depends on HAS_IOMEM 502fd3f1270SMagnus Damm default SYS_SUPPORTS_SH_MTU2 503fd3f1270SMagnus Damm help 504fd3f1270SMagnus Damm This enables build of a clockevent driver for the Multi-Function 5057e139187SKuninori Morimoto Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas. 50606293463SRandy Dunlap This hardware comes with 16-bit timer registers. 507fd3f1270SMagnus Damm 508fb6002a8SChris Brandtconfig RENESAS_OSTM 509fb6002a8SChris Brandt bool "Renesas OSTM timer driver" if COMPILE_TEST 510fb6002a8SChris Brandt select CLKSRC_MMIO 51122731423SGeert Uytterhoeven select TIMER_OF 512fb6002a8SChris Brandt help 513fb6002a8SChris Brandt Enables the support for the Renesas OSTM. 514fb6002a8SChris Brandt 515fd3f1270SMagnus Dammconfig SH_TIMER_TMU 516fd3f1270SMagnus Damm bool "Renesas TMU timer driver" if COMPILE_TEST 51711bc26feSRichard Weinberger depends on HAS_IOMEM 518fd3f1270SMagnus Damm default SYS_SUPPORTS_SH_TMU 519fd3f1270SMagnus Damm help 520fd3f1270SMagnus Damm This enables build of a clocksource and clockevent driver for 521fd3f1270SMagnus Damm the 32-bit Timer Unit (TMU) hardware available on a wide range 522fd3f1270SMagnus Damm SoCs from Renesas. 523fd3f1270SMagnus Damm 524fd3f1270SMagnus Dammconfig EM_TIMER_STI 525fd3f1270SMagnus Damm bool "Renesas STI timer driver" if COMPILE_TEST 5262f8a26c1SArnd Bergmann depends on HAS_IOMEM 527fd3f1270SMagnus Damm default SYS_SUPPORTS_EM_STI 528fd3f1270SMagnus Damm help 529fd3f1270SMagnus Damm This enables build of a clocksource and clockevent driver for 530fd3f1270SMagnus Damm the 48-bit System Timer (STI) hardware available on a SoCs 531fd3f1270SMagnus Damm such as EMEV2 from former NEC Electronics. 532dfc25e45SLinus Torvalds 5333f8e8ceeSKumar Galaconfig CLKSRC_QCOM 5343dc0e9f6SDaniel Lezcano bool "Qualcomm MSM timer" if COMPILE_TEST 5353dc0e9f6SDaniel Lezcano depends on ARM 536bb0eb050SDaniel Lezcano select TIMER_OF 5373dc0e9f6SDaniel Lezcano help 5383dc0e9f6SDaniel Lezcano This enables the clocksource and the per CPU clockevent driver for the 5393dc0e9f6SDaniel Lezcano Qualcomm SoCs. 540220e2a8dSPawel Moll 541220e2a8dSPawel Mollconfig CLKSRC_VERSATILE 5425cc87a4dSDaniel Lezcano bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST 54377f6c0b8SArnd Bergmann depends on GENERIC_SCHED_CLOCK 544bb0eb050SDaniel Lezcano select TIMER_OF 545bfed0edeSRob Herring default y if (ARCH_VEXPRESS || ARCH_VERSATILE) && ARM 546220e2a8dSPawel Moll help 547220e2a8dSPawel Moll This option enables clock source based on free running 548220e2a8dSPawel Moll counter available in the "System Registers" block of 549bfed0edeSRob Herring ARM Versatile and Versatile Express reference platforms. 55058394271SJean Delvare 551fa5635a2SAndrew Brestickerconfig CLKSRC_MIPS_GIC 552fa5635a2SAndrew Bresticker bool 553fa5635a2SAndrew Bresticker depends on MIPS_GIC 5547d7de1a6SSerge Semin select CLOCKSOURCE_WATCHDOG 555bb0eb050SDaniel Lezcano select TIMER_OF 556fa5635a2SAndrew Bresticker 557e074ff86SDmitry Eremin-Solenikovconfig CLKSRC_PXA 5585ae996cbSDaniel Lezcano bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST 559d7023e62SRichard Weinberger depends on HAS_IOMEM 5605ae996cbSDaniel Lezcano select CLKSRC_MMIO 561e074ff86SDmitry Eremin-Solenikov help 562e074ff86SDmitry Eremin-Solenikov This enables OST0 support available on PXA and SA-11x0 563e074ff86SDmitry Eremin-Solenikov platforms. 564618b902dSYoshinori Sato 56597a23bebSDaniel Lezcanoconfig H8300_TMR8 56646e7c3c6SDaniel Lezcano bool "Clockevent timer for the H8300 platform" if COMPILE_TEST 5672f8a26c1SArnd Bergmann depends on HAS_IOMEM 56846e7c3c6SDaniel Lezcano help 56946e7c3c6SDaniel Lezcano This enables the 8 bits timer for the H8300 platform. 57097a23bebSDaniel Lezcano 571618b902dSYoshinori Satoconfig H8300_TMR16 57246e7c3c6SDaniel Lezcano bool "Clockevent timer for the H83069 platform" if COMPILE_TEST 5732f8a26c1SArnd Bergmann depends on HAS_IOMEM 57446e7c3c6SDaniel Lezcano help 57546e7c3c6SDaniel Lezcano This enables the 16 bits timer for the H8300 platform with the 57606293463SRandy Dunlap H83069 CPU. 577618b902dSYoshinori Sato 578618b902dSYoshinori Satoconfig H8300_TPU 57946e7c3c6SDaniel Lezcano bool "Clocksource for the H8300 platform" if COMPILE_TEST 5802f8a26c1SArnd Bergmann depends on HAS_IOMEM 58146e7c3c6SDaniel Lezcano help 58246e7c3c6SDaniel Lezcano This enables the clocksource for the H8300 platform with the 58306293463SRandy Dunlap H8S2678 CPU. 584618b902dSYoshinori Sato 585bea5af41SShawn Guoconfig CLKSRC_IMX_GPT 586bea5af41SShawn Guo bool "Clocksource using i.MX GPT" if COMPILE_TEST 587df181e38SAnson Huang depends on (ARM || ARM64) && CLKDEV_LOOKUP 588bea5af41SShawn Guo select CLKSRC_MMIO 589bea5af41SShawn Guo 590059ab7b8SDong Aishengconfig CLKSRC_IMX_TPM 591059ab7b8SDong Aisheng bool "Clocksource using i.MX TPM" if COMPILE_TEST 592a6d0812aSAnson Huang depends on (ARM || ARM64) && CLKDEV_LOOKUP 593059ab7b8SDong Aisheng select CLKSRC_MMIO 594a6d0812aSAnson Huang select TIMER_OF 595059ab7b8SDong Aisheng help 596059ab7b8SDong Aisheng Enable this option to use IMX Timer/PWM Module (TPM) timer as 597059ab7b8SDong Aisheng clocksource. 598059ab7b8SDong Aisheng 5997117a44bSBai Pingconfig TIMER_IMX_SYS_CTR 6007117a44bSBai Ping bool "i.MX system counter timer" if COMPILE_TEST 6017117a44bSBai Ping select TIMER_OF 6027117a44bSBai Ping help 6037117a44bSBai Ping Enable this option to use i.MX system counter timer as a 6047117a44bSBai Ping clockevent. 6057117a44bSBai Ping 60670bef01cSLee Jonesconfig CLKSRC_ST_LPC 607baacaf83SDaniel Lezcano bool "Low power clocksource found in the LPC" if COMPILE_TEST 608bb0eb050SDaniel Lezcano select TIMER_OF if OF 609863ee050SRichard Weinberger depends on HAS_IOMEM 6102be6d9bfSArnd Bergmann select CLKSRC_MMIO 61170bef01cSLee Jones help 61270bef01cSLee Jones Enable this option to use the Low Power controller timer 61370bef01cSLee Jones as clocksource. 61470bef01cSLee Jones 61535dbb74aSRick Chenconfig ATCPIT100_TIMER 61635dbb74aSRick Chen bool "ATCPIT100 timer driver" 61735dbb74aSRick Chen depends on NDS32 || COMPILE_TEST 61835dbb74aSRick Chen depends on HAS_IOMEM 61935dbb74aSRick Chen select TIMER_OF 62035dbb74aSRick Chen default NDS32 62135dbb74aSRick Chen help 62235dbb74aSRick Chen This option enables support for the Andestech ATCPIT100 timers. 62335dbb74aSRick Chen 62462b01943SPalmer Dabbeltconfig RISCV_TIMER 6252bc3fc87SAnup Patel bool "Timer for the RISC-V platform" if COMPILE_TEST 626ab310544SKefeng Wang depends on GENERIC_SCHED_CLOCK && RISCV && RISCV_SBI 62762b01943SPalmer Dabbelt select TIMER_PROBE 62862b01943SPalmer Dabbelt select TIMER_OF 62962b01943SPalmer Dabbelt help 63062b01943SPalmer Dabbelt This enables the per-hart timer built into all RISC-V systems, which 63162b01943SPalmer Dabbelt is accessed via both the SBI and the rdcycle instruction. This is 63262b01943SPalmer Dabbelt required for all RISC-V systems. 63362b01943SPalmer Dabbelt 6342ac6795fSAnup Patelconfig CLINT_TIMER 6352ac6795fSAnup Patel bool "CLINT Timer for the RISC-V platform" if COMPILE_TEST 6362ac6795fSAnup Patel depends on GENERIC_SCHED_CLOCK && RISCV 6372ac6795fSAnup Patel select TIMER_PROBE 6382ac6795fSAnup Patel select TIMER_OF 6392ac6795fSAnup Patel help 6402ac6795fSAnup Patel This option enables the CLINT timer for RISC-V systems. The CLINT 6412ac6795fSAnup Patel driver is usually used for NoMMU RISC-V systems. 6422ac6795fSAnup Patel 643a7ad38b0SGuo Renconfig CSKY_MP_TIMER 644a7ad38b0SGuo Ren bool "SMP Timer for the C-SKY platform" if COMPILE_TEST 645a7ad38b0SGuo Ren depends on CSKY 646a7ad38b0SGuo Ren select TIMER_OF 647a7ad38b0SGuo Ren help 648a7ad38b0SGuo Ren Say yes here to enable C-SKY SMP timer driver used for C-SKY SMP 649a7ad38b0SGuo Ren system. 65006293463SRandy Dunlap csky,mptimer is not only used in SMP system, it also could be used in 65106293463SRandy Dunlap single core system. It's not a mmio reg and it uses mtcr/mfcr instruction. 652a7ad38b0SGuo Ren 65333745c3cSGuo Renconfig GX6605S_TIMER 65433745c3cSGuo Ren bool "Gx6605s SOC system timer driver" if COMPILE_TEST 65533745c3cSGuo Ren depends on CSKY 65633745c3cSGuo Ren select CLKSRC_MMIO 65733745c3cSGuo Ren select TIMER_OF 65833745c3cSGuo Ren help 65933745c3cSGuo Ren This option enables support for gx6605s SOC's timer. 66033745c3cSGuo Ren 661b58f28f3SSugaya Taichiconfig MILBEAUT_TIMER 662b58f28f3SSugaya Taichi bool "Milbeaut timer driver" if COMPILE_TEST 663b58f28f3SSugaya Taichi depends on OF 664b58f28f3SSugaya Taichi depends on ARM 665b58f28f3SSugaya Taichi select TIMER_OF 666b58f28f3SSugaya Taichi select CLKSRC_MMIO 667b58f28f3SSugaya Taichi help 668b58f28f3SSugaya Taichi Enables the support for Milbeaut timer driver. 669b58f28f3SSugaya Taichi 67034e93683SPaul Cercueilconfig INGENIC_TIMER 67134e93683SPaul Cercueil bool "Clocksource/timer using the TCU in Ingenic JZ SoCs" 67234e93683SPaul Cercueil default MACH_INGENIC 67334e93683SPaul Cercueil depends on MIPS || COMPILE_TEST 67434e93683SPaul Cercueil depends on COMMON_CLK 67534e93683SPaul Cercueil select MFD_SYSCON 67634e93683SPaul Cercueil select TIMER_OF 67734e93683SPaul Cercueil select IRQ_DOMAIN 67834e93683SPaul Cercueil help 67934e93683SPaul Cercueil Support for the timer/counter unit of the Ingenic JZ SoCs. 68034e93683SPaul Cercueil 6815ecafc12S周琰杰 (Zhou Yanjie)config INGENIC_SYSOST 6825ecafc12S周琰杰 (Zhou Yanjie) bool "Clocksource/timer using the SYSOST in Ingenic X SoCs" 6835ecafc12S周琰杰 (Zhou Yanjie) depends on MIPS || COMPILE_TEST 6845ecafc12S周琰杰 (Zhou Yanjie) depends on COMMON_CLK 6855ecafc12S周琰杰 (Zhou Yanjie) select MFD_SYSCON 6865ecafc12S周琰杰 (Zhou Yanjie) select TIMER_OF 6875ecafc12S周琰杰 (Zhou Yanjie) select IRQ_DOMAIN 6885ecafc12S周琰杰 (Zhou Yanjie) help 6895ecafc12S周琰杰 (Zhou Yanjie) Support for the SYSOST of the Ingenic X Series SoCs. 6905ecafc12S周琰杰 (Zhou Yanjie) 691ca7b72b5SMaarten ter Huurneconfig INGENIC_OST 6925ecafc12S周琰杰 (Zhou Yanjie) bool "Clocksource using the OST in Ingenic JZ SoCs" 693ca7b72b5SMaarten ter Huurne depends on MIPS || COMPILE_TEST 694ca7b72b5SMaarten ter Huurne depends on COMMON_CLK 695ca7b72b5SMaarten ter Huurne select MFD_SYSCON 696ca7b72b5SMaarten ter Huurne help 697ca7b72b5SMaarten ter Huurne Support for the Operating System Timer of the Ingenic JZ SoCs. 698ca7b72b5SMaarten ter Huurne 699625022a5SClaudiu Bezneaconfig MICROCHIP_PIT64B 700625022a5SClaudiu Beznea bool "Microchip PIT64B support" 701625022a5SClaudiu Beznea depends on OF || COMPILE_TEST 702625022a5SClaudiu Beznea select CLKSRC_MMIO 70325259f7aSMichael Ellerman select TIMER_OF 704625022a5SClaudiu Beznea help 705625022a5SClaudiu Beznea This option enables Microchip PIT64B timer for Atmel 706625022a5SClaudiu Beznea based system. It supports the oneshot, the periodic 707625022a5SClaudiu Beznea modes and high resolution. It is used as a clocksource 708625022a5SClaudiu Beznea and a clockevent. 709625022a5SClaudiu Beznea 71058394271SJean Delvareendmenu 711