Kconfig 13 KB

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