Kconfig 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602
  1. menu "Clock Source drivers"
  2. depends on !ARCH_USES_GETTIMEOFFSET
  3. config CLKSRC_OF
  4. bool
  5. select CLKSRC_PROBE
  6. config CLKEVT_OF
  7. bool
  8. select CLKEVT_PROBE
  9. config CLKSRC_ACPI
  10. bool
  11. select CLKSRC_PROBE
  12. config CLKSRC_PROBE
  13. bool
  14. config CLKEVT_PROBE
  15. bool
  16. config CLKSRC_I8253
  17. bool
  18. config CLKEVT_I8253
  19. bool
  20. config I8253_LOCK
  21. bool
  22. config CLKBLD_I8253
  23. def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
  24. config CLKSRC_MMIO
  25. bool
  26. config BCM2835_TIMER
  27. bool "BCM2835 timer driver" if COMPILE_TEST
  28. depends on GENERIC_CLOCKEVENTS
  29. select CLKSRC_MMIO
  30. help
  31. Enables the support for the BCM2835 timer driver.
  32. config BCM_KONA_TIMER
  33. bool "BCM mobile timer driver" if COMPILE_TEST
  34. depends on GENERIC_CLOCKEVENTS
  35. select CLKSRC_MMIO
  36. help
  37. Enables the support for the BCM Kona mobile timer driver.
  38. config DIGICOLOR_TIMER
  39. bool "Digicolor timer driver" if COMPILE_TEST
  40. depends on GENERIC_CLOCKEVENTS
  41. select CLKSRC_MMIO
  42. depends on HAS_IOMEM
  43. help
  44. Enables the support for the digicolor timer driver.
  45. config DW_APB_TIMER
  46. bool "DW APB timer driver" if COMPILE_TEST
  47. depends on GENERIC_CLOCKEVENTS
  48. help
  49. Enables the support for the dw_apb timer.
  50. config DW_APB_TIMER_OF
  51. bool
  52. select DW_APB_TIMER
  53. select CLKSRC_OF
  54. config GEMINI_TIMER
  55. bool "Cortina Gemini timer driver" if COMPILE_TEST
  56. depends on GENERIC_CLOCKEVENTS
  57. depends on HAS_IOMEM
  58. select CLKSRC_MMIO
  59. select CLKSRC_OF
  60. select MFD_SYSCON
  61. help
  62. Enables support for the Gemini timer
  63. config ROCKCHIP_TIMER
  64. bool "Rockchip timer driver" if COMPILE_TEST
  65. depends on ARM || ARM64
  66. select CLKSRC_OF
  67. help
  68. Enables the support for the rockchip timer driver.
  69. config ARMADA_370_XP_TIMER
  70. bool "Armada 370 and XP timer driver" if COMPILE_TEST
  71. depends on ARM
  72. select CLKSRC_OF
  73. select CLKSRC_MMIO
  74. help
  75. Enables the support for the Armada 370 and XP timer driver.
  76. config MESON6_TIMER
  77. bool "Meson6 timer driver" if COMPILE_TEST
  78. depends on GENERIC_CLOCKEVENTS
  79. select CLKSRC_MMIO
  80. help
  81. Enables the support for the Meson6 timer driver.
  82. config ORION_TIMER
  83. bool "Orion timer driver" if COMPILE_TEST
  84. depends on ARM
  85. select CLKSRC_OF
  86. select CLKSRC_MMIO
  87. help
  88. Enables the support for the Orion timer driver
  89. config SUN4I_TIMER
  90. bool "Sun4i timer driver" if COMPILE_TEST
  91. depends on GENERIC_CLOCKEVENTS
  92. depends on HAS_IOMEM
  93. select CLKSRC_MMIO
  94. help
  95. Enables support for the Sun4i timer.
  96. config SUN5I_HSTIMER
  97. bool "Sun5i timer driver" if COMPILE_TEST
  98. select CLKSRC_MMIO
  99. depends on COMMON_CLK
  100. help
  101. Enables support the Sun5i timer.
  102. config TEGRA_TIMER
  103. bool "Tegra timer driver" if COMPILE_TEST
  104. select CLKSRC_MMIO
  105. depends on ARM
  106. help
  107. Enables support for the Tegra driver.
  108. config VT8500_TIMER
  109. bool "VT8500 timer driver" if COMPILE_TEST
  110. depends on GENERIC_CLOCKEVENTS
  111. depends on HAS_IOMEM
  112. help
  113. Enables support for the VT8500 driver.
  114. config CADENCE_TTC_TIMER
  115. bool "Cadence TTC timer driver" if COMPILE_TEST
  116. depends on COMMON_CLK
  117. help
  118. Enables support for the cadence ttc driver.
  119. config ASM9260_TIMER
  120. bool "ASM9260 timer driver" if COMPILE_TEST
  121. depends on GENERIC_CLOCKEVENTS
  122. select CLKSRC_MMIO
  123. select CLKSRC_OF
  124. help
  125. Enables support for the ASM9260 timer.
  126. config CLKSRC_NOMADIK_MTU
  127. bool "Nomakdik clocksource driver" if COMPILE_TEST
  128. depends on ARM
  129. select CLKSRC_MMIO
  130. help
  131. Support for Multi Timer Unit. MTU provides access
  132. to multiple interrupt generating programmable
  133. 32-bit free running decrementing counters.
  134. config CLKSRC_NOMADIK_MTU_SCHED_CLOCK
  135. bool
  136. depends on CLKSRC_NOMADIK_MTU
  137. help
  138. Use the Multi Timer Unit as the sched_clock.
  139. config CLKSRC_DBX500_PRCMU
  140. bool "Clocksource PRCMU Timer" if COMPILE_TEST
  141. depends on GENERIC_CLOCKEVENTS
  142. depends on HAS_IOMEM
  143. help
  144. Use the always on PRCMU Timer as clocksource
  145. config CLPS711X_TIMER
  146. bool "Cirrus logic timer driver" if COMPILE_TEST
  147. depends on GENERIC_CLOCKEVENTS
  148. select CLKSRC_MMIO
  149. help
  150. Enables support for the Cirrus Logic PS711 timer.
  151. config ATLAS7_TIMER
  152. bool "Atlas7 timer driver" if COMPILE_TEST
  153. depends on GENERIC_CLOCKEVENTS
  154. select CLKSRC_MMIO
  155. help
  156. Enables support for the Atlas7 timer.
  157. config MOXART_TIMER
  158. bool "Moxart timer driver" if COMPILE_TEST
  159. depends on GENERIC_CLOCKEVENTS
  160. select CLKSRC_MMIO
  161. help
  162. Enables support for the Moxart timer.
  163. config MXS_TIMER
  164. bool "Mxs timer driver" if COMPILE_TEST
  165. depends on GENERIC_CLOCKEVENTS
  166. select CLKSRC_MMIO
  167. select STMP_DEVICE
  168. help
  169. Enables support for the Mxs timer.
  170. config PRIMA2_TIMER
  171. bool "Prima2 timer driver" if COMPILE_TEST
  172. depends on GENERIC_CLOCKEVENTS
  173. select CLKSRC_MMIO
  174. help
  175. Enables support for the Prima2 timer.
  176. config U300_TIMER
  177. bool "U300 timer driver" if COMPILE_TEST
  178. depends on GENERIC_CLOCKEVENTS
  179. depends on ARM
  180. select CLKSRC_MMIO
  181. help
  182. Enables support for the U300 timer.
  183. config NSPIRE_TIMER
  184. bool "NSpire timer driver" if COMPILE_TEST
  185. depends on GENERIC_CLOCKEVENTS
  186. select CLKSRC_MMIO
  187. help
  188. Enables support for the Nspire timer.
  189. config KEYSTONE_TIMER
  190. bool "Keystone timer driver" if COMPILE_TEST
  191. depends on GENERIC_CLOCKEVENTS
  192. depends on ARM || ARM64
  193. select CLKSRC_MMIO
  194. help
  195. Enables support for the Keystone timer.
  196. config INTEGRATOR_AP_TIMER
  197. bool "Integrator-ap timer driver" if COMPILE_TEST
  198. depends on GENERIC_CLOCKEVENTS
  199. select CLKSRC_MMIO
  200. help
  201. Enables support for the Integrator-ap timer.
  202. config CLKSRC_DBX500_PRCMU_SCHED_CLOCK
  203. bool "Clocksource PRCMU Timer sched_clock"
  204. depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK)
  205. default y
  206. help
  207. Use the always on PRCMU Timer as sched_clock
  208. config CLKSRC_EFM32
  209. bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
  210. depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
  211. select CLKSRC_MMIO
  212. default ARCH_EFM32
  213. help
  214. Support to use the timers of EFM32 SoCs as clock source and clock
  215. event device.
  216. config CLKSRC_LPC32XX
  217. bool "Clocksource for LPC32XX" if COMPILE_TEST
  218. depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
  219. depends on ARM
  220. select CLKSRC_MMIO
  221. select CLKSRC_OF
  222. help
  223. Support for the LPC32XX clocksource.
  224. config CLKSRC_PISTACHIO
  225. bool "Clocksource for Pistachio SoC" if COMPILE_TEST
  226. depends on HAS_IOMEM
  227. select CLKSRC_OF
  228. help
  229. Enables the clocksource for the Pistachio SoC.
  230. config CLKSRC_TI_32K
  231. bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
  232. depends on GENERIC_SCHED_CLOCK
  233. select CLKSRC_OF if OF
  234. help
  235. This option enables support for Texas Instruments 32.768 Hz clocksource
  236. available on many OMAP-like platforms.
  237. config CLKSRC_NPS
  238. bool "NPS400 clocksource driver" if COMPILE_TEST
  239. depends on !PHYS_ADDR_T_64BIT
  240. select CLKSRC_MMIO
  241. select CLKSRC_OF if OF
  242. help
  243. NPS400 clocksource support.
  244. Got 64 bit counter with update rate up to 1000MHz.
  245. This counter is accessed via couple of 32 bit memory mapped registers.
  246. config CLKSRC_STM32
  247. bool "Clocksource for STM32 SoCs" if !ARCH_STM32
  248. depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
  249. select CLKSRC_MMIO
  250. config CLKSRC_MPS2
  251. bool "Clocksource for MPS2 SoCs" if COMPILE_TEST
  252. depends on GENERIC_SCHED_CLOCK
  253. select CLKSRC_MMIO
  254. select CLKSRC_OF
  255. config ARC_TIMERS
  256. bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST
  257. depends on GENERIC_CLOCKEVENTS
  258. select CLKSRC_OF
  259. help
  260. These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores
  261. (ARC700 as well as ARC HS38).
  262. TIMER0 serves as clockevent while TIMER1 provides clocksource
  263. config ARC_TIMERS_64BIT
  264. bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST
  265. depends on GENERIC_CLOCKEVENTS
  266. depends on ARC_TIMERS
  267. select CLKSRC_OF
  268. help
  269. This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP)
  270. RTC is implemented inside the core, while GFRC sits outside the core in
  271. ARConnect IP block. Driver automatically picks one of them for clocksource
  272. as appropriate.
  273. config ARM_ARCH_TIMER
  274. bool
  275. select CLKSRC_OF if OF
  276. select CLKSRC_ACPI if ACPI
  277. config ARM_ARCH_TIMER_EVTSTREAM
  278. bool "Enable ARM architected timer event stream generation by default"
  279. default y if ARM_ARCH_TIMER
  280. depends on ARM_ARCH_TIMER
  281. help
  282. This option enables support by default for event stream generation
  283. based on the ARM architected timer. It is used for waking up CPUs
  284. executing the wfe instruction at a frequency represented as a
  285. power-of-2 divisor of the clock rate. The behaviour can also be
  286. overridden on the command line using the
  287. clocksource.arm_arch_timer.evtstream parameter.
  288. The main use of the event stream is wfe-based timeouts of userspace
  289. locking implementations. It might also be useful for imposing timeout
  290. on wfe to safeguard against any programming errors in case an expected
  291. event is not generated.
  292. This must be disabled for hardware validation purposes to detect any
  293. hardware anomalies of missing events.
  294. config ARM_ARCH_TIMER_OOL_WORKAROUND
  295. bool
  296. config FSL_ERRATUM_A008585
  297. bool "Workaround for Freescale/NXP Erratum A-008585"
  298. default y
  299. depends on ARM_ARCH_TIMER && ARM64
  300. select ARM_ARCH_TIMER_OOL_WORKAROUND
  301. help
  302. This option enables a workaround for Freescale/NXP Erratum
  303. A-008585 ("ARM generic timer may contain an erroneous
  304. value"). The workaround will only be active if the
  305. fsl,erratum-a008585 property is found in the timer node.
  306. config HISILICON_ERRATUM_161010101
  307. bool "Workaround for Hisilicon Erratum 161010101"
  308. default y
  309. select ARM_ARCH_TIMER_OOL_WORKAROUND
  310. depends on ARM_ARCH_TIMER && ARM64
  311. help
  312. This option enables a workaround for Hisilicon Erratum
  313. 161010101. The workaround will be active if the hisilicon,erratum-161010101
  314. property is found in the timer node.
  315. config ARM_GLOBAL_TIMER
  316. bool "Support for the ARM global timer" if COMPILE_TEST
  317. select CLKSRC_OF if OF
  318. depends on ARM
  319. help
  320. This options enables support for the ARM global timer unit
  321. config ARM_TIMER_SP804
  322. bool "Support for Dual Timer SP804 module"
  323. depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
  324. select CLKSRC_MMIO
  325. select CLKSRC_OF if OF
  326. config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
  327. bool
  328. depends on ARM_GLOBAL_TIMER
  329. default y
  330. help
  331. Use ARM global timer clock source as sched_clock
  332. config ARMV7M_SYSTICK
  333. bool "Support for the ARMv7M system time" if COMPILE_TEST
  334. select CLKSRC_OF if OF
  335. select CLKSRC_MMIO
  336. help
  337. This options enables support for the ARMv7M system timer unit
  338. config ATMEL_PIT
  339. select CLKSRC_OF if OF
  340. def_bool SOC_AT91SAM9 || SOC_SAMA5
  341. config ATMEL_ST
  342. bool "Atmel ST timer support" if COMPILE_TEST
  343. depends on GENERIC_CLOCKEVENTS
  344. select CLKSRC_OF
  345. select MFD_SYSCON
  346. help
  347. Support for the Atmel ST timer.
  348. config CLKSRC_METAG_GENERIC
  349. def_bool y if METAG
  350. help
  351. This option enables support for the Meta per-thread timers.
  352. config CLKSRC_EXYNOS_MCT
  353. bool "Exynos multi core timer driver" if COMPILE_TEST
  354. depends on ARM || ARM64
  355. help
  356. Support for Multi Core Timer controller on Exynos SoCs.
  357. config CLKSRC_SAMSUNG_PWM
  358. bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
  359. depends on GENERIC_CLOCKEVENTS
  360. depends on HAS_IOMEM
  361. help
  362. This is a new clocksource driver for the PWM timer found in
  363. Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
  364. for all devicetree enabled platforms. This driver will be
  365. needed only on systems that do not have the Exynos MCT available.
  366. config FSL_FTM_TIMER
  367. bool "Freescale FlexTimer Module driver" if COMPILE_TEST
  368. depends on GENERIC_CLOCKEVENTS
  369. depends on HAS_IOMEM
  370. select CLKSRC_MMIO
  371. help
  372. Support for Freescale FlexTimer Module (FTM) timer.
  373. config VF_PIT_TIMER
  374. bool
  375. select CLKSRC_MMIO
  376. help
  377. Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
  378. config OXNAS_RPS_TIMER
  379. bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
  380. depends on GENERIC_CLOCKEVENTS
  381. select CLKSRC_OF
  382. select CLKSRC_MMIO
  383. help
  384. This enables support for the Oxford Semiconductor OXNAS RPS timers.
  385. config SYS_SUPPORTS_SH_CMT
  386. bool
  387. config MTK_TIMER
  388. bool "Mediatek timer driver" if COMPILE_TEST
  389. depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
  390. select CLKSRC_OF
  391. select CLKSRC_MMIO
  392. help
  393. Support for Mediatek timer driver.
  394. config SYS_SUPPORTS_SH_MTU2
  395. bool
  396. config SYS_SUPPORTS_SH_TMU
  397. bool
  398. config SYS_SUPPORTS_EM_STI
  399. bool
  400. config CLKSRC_JCORE_PIT
  401. bool "J-Core PIT timer driver" if COMPILE_TEST
  402. depends on OF
  403. depends on GENERIC_CLOCKEVENTS
  404. depends on HAS_IOMEM
  405. select CLKSRC_MMIO
  406. help
  407. This enables build of clocksource and clockevent driver for
  408. the integrated PIT in the J-Core synthesizable, open source SoC.
  409. config SH_TIMER_CMT
  410. bool "Renesas CMT timer driver" if COMPILE_TEST
  411. depends on GENERIC_CLOCKEVENTS
  412. depends on HAS_IOMEM
  413. default SYS_SUPPORTS_SH_CMT
  414. help
  415. This enables build of a clocksource and clockevent driver for
  416. the Compare Match Timer (CMT) hardware available in 16/32/48-bit
  417. variants on a wide range of Mobile and Automotive SoCs from Renesas.
  418. config SH_TIMER_MTU2
  419. bool "Renesas MTU2 timer driver" if COMPILE_TEST
  420. depends on GENERIC_CLOCKEVENTS
  421. depends on HAS_IOMEM
  422. default SYS_SUPPORTS_SH_MTU2
  423. help
  424. This enables build of a clockevent driver for the Multi-Function
  425. Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
  426. This hardware comes with 16 bit-timer registers.
  427. config RENESAS_OSTM
  428. bool "Renesas OSTM timer driver" if COMPILE_TEST
  429. depends on GENERIC_CLOCKEVENTS
  430. select CLKSRC_MMIO
  431. help
  432. Enables the support for the Renesas OSTM.
  433. config SH_TIMER_TMU
  434. bool "Renesas TMU timer driver" if COMPILE_TEST
  435. depends on GENERIC_CLOCKEVENTS
  436. depends on HAS_IOMEM
  437. default SYS_SUPPORTS_SH_TMU
  438. help
  439. This enables build of a clocksource and clockevent driver for
  440. the 32-bit Timer Unit (TMU) hardware available on a wide range
  441. SoCs from Renesas.
  442. config EM_TIMER_STI
  443. bool "Renesas STI timer driver" if COMPILE_TEST
  444. depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
  445. default SYS_SUPPORTS_EM_STI
  446. help
  447. This enables build of a clocksource and clockevent driver for
  448. the 48-bit System Timer (STI) hardware available on a SoCs
  449. such as EMEV2 from former NEC Electronics.
  450. config CLKSRC_QCOM
  451. bool "Qualcomm MSM timer" if COMPILE_TEST
  452. depends on ARM
  453. select CLKSRC_OF
  454. help
  455. This enables the clocksource and the per CPU clockevent driver for the
  456. Qualcomm SoCs.
  457. config CLKSRC_VERSATILE
  458. bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
  459. depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
  460. select CLKSRC_OF
  461. default y if MFD_VEXPRESS_SYSREG
  462. help
  463. This option enables clock source based on free running
  464. counter available in the "System Registers" block of
  465. ARM Versatile, RealView and Versatile Express reference
  466. platforms.
  467. config CLKSRC_MIPS_GIC
  468. bool
  469. depends on MIPS_GIC
  470. select CLKSRC_OF
  471. config CLKSRC_TANGO_XTAL
  472. bool "Clocksource for Tango SoC" if COMPILE_TEST
  473. depends on ARM
  474. select CLKSRC_OF
  475. select CLKSRC_MMIO
  476. help
  477. This enables the clocksource for Tango SoC
  478. config CLKSRC_PXA
  479. bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
  480. depends on GENERIC_CLOCKEVENTS
  481. depends on HAS_IOMEM
  482. select CLKSRC_MMIO
  483. help
  484. This enables OST0 support available on PXA and SA-11x0
  485. platforms.
  486. config H8300_TMR8
  487. bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
  488. depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
  489. help
  490. This enables the 8 bits timer for the H8300 platform.
  491. config H8300_TMR16
  492. bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
  493. depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
  494. help
  495. This enables the 16 bits timer for the H8300 platform with the
  496. H83069 cpu.
  497. config H8300_TPU
  498. bool "Clocksource for the H8300 platform" if COMPILE_TEST
  499. depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
  500. help
  501. This enables the clocksource for the H8300 platform with the
  502. H8S2678 cpu.
  503. config CLKSRC_IMX_GPT
  504. bool "Clocksource using i.MX GPT" if COMPILE_TEST
  505. depends on ARM && CLKDEV_LOOKUP
  506. select CLKSRC_MMIO
  507. config CLKSRC_ST_LPC
  508. bool "Low power clocksource found in the LPC" if COMPILE_TEST
  509. select CLKSRC_OF if OF
  510. depends on HAS_IOMEM
  511. select CLKSRC_MMIO
  512. help
  513. Enable this option to use the Low Power controller timer
  514. as clocksource.
  515. endmenu