Kconfig 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544
  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 FSL_ERRATUM_A008585
  263. bool "Workaround for Freescale/NXP Erratum A-008585"
  264. default y
  265. depends on ARM_ARCH_TIMER && ARM64
  266. help
  267. This option enables a workaround for Freescale/NXP Erratum
  268. A-008585 ("ARM generic timer may contain an erroneous
  269. value"). The workaround will only be active if the
  270. fsl,erratum-a008585 property is found in the timer node.
  271. config ARM_GLOBAL_TIMER
  272. bool "Support for the ARM global timer"
  273. select CLKSRC_OF if OF
  274. depends on ARM
  275. help
  276. This options enables support for the ARM global timer unit
  277. config ARM_TIMER_SP804
  278. bool "Support for Dual Timer SP804 module"
  279. depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
  280. select CLKSRC_MMIO
  281. select CLKSRC_OF if OF
  282. config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
  283. bool
  284. depends on ARM_GLOBAL_TIMER
  285. default y
  286. help
  287. Use ARM global timer clock source as sched_clock
  288. config ARMV7M_SYSTICK
  289. bool "Support for the ARMv7M system time" if COMPILE_TEST
  290. select CLKSRC_OF if OF
  291. select CLKSRC_MMIO
  292. help
  293. This options enables support for the ARMv7M system timer unit
  294. config ATMEL_PIT
  295. select CLKSRC_OF if OF
  296. def_bool SOC_AT91SAM9 || SOC_SAMA5
  297. config ATMEL_ST
  298. bool "Atmel ST timer support" if COMPILE_TEST
  299. depends on GENERIC_CLOCKEVENTS
  300. select CLKSRC_OF
  301. select MFD_SYSCON
  302. help
  303. Support for the Atmel ST timer.
  304. config CLKSRC_METAG_GENERIC
  305. def_bool y if METAG
  306. help
  307. This option enables support for the Meta per-thread timers.
  308. config CLKSRC_EXYNOS_MCT
  309. bool "Exynos multi core timer driver" if COMPILE_TEST
  310. depends on ARM || ARM64
  311. help
  312. Support for Multi Core Timer controller on Exynos SoCs.
  313. config CLKSRC_SAMSUNG_PWM
  314. bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
  315. depends on GENERIC_CLOCKEVENTS
  316. depends on HAS_IOMEM
  317. help
  318. This is a new clocksource driver for the PWM timer found in
  319. Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
  320. for all devicetree enabled platforms. This driver will be
  321. needed only on systems that do not have the Exynos MCT available.
  322. config FSL_FTM_TIMER
  323. bool "Freescale FlexTimer Module driver" if COMPILE_TEST
  324. depends on GENERIC_CLOCKEVENTS
  325. depends on HAS_IOMEM
  326. select CLKSRC_MMIO
  327. help
  328. Support for Freescale FlexTimer Module (FTM) timer.
  329. config VF_PIT_TIMER
  330. bool
  331. select CLKSRC_MMIO
  332. help
  333. Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
  334. config OXNAS_RPS_TIMER
  335. bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
  336. depends on GENERIC_CLOCKEVENTS
  337. select CLKSRC_OF
  338. select CLKSRC_MMIO
  339. help
  340. This enables support for the Oxford Semiconductor OXNAS RPS timers.
  341. config SYS_SUPPORTS_SH_CMT
  342. bool
  343. config MTK_TIMER
  344. bool "Mediatek timer driver" if COMPILE_TEST
  345. depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
  346. select CLKSRC_OF
  347. select CLKSRC_MMIO
  348. help
  349. Support for Mediatek timer driver.
  350. config SYS_SUPPORTS_SH_MTU2
  351. bool
  352. config SYS_SUPPORTS_SH_TMU
  353. bool
  354. config SYS_SUPPORTS_EM_STI
  355. bool
  356. config CLKSRC_JCORE_PIT
  357. bool "J-Core PIT timer driver" if COMPILE_TEST
  358. depends on OF
  359. depends on GENERIC_CLOCKEVENTS
  360. depends on HAS_IOMEM
  361. select CLKSRC_MMIO
  362. help
  363. This enables build of clocksource and clockevent driver for
  364. the integrated PIT in the J-Core synthesizable, open source SoC.
  365. config SH_TIMER_CMT
  366. bool "Renesas CMT timer driver" if COMPILE_TEST
  367. depends on GENERIC_CLOCKEVENTS
  368. depends on HAS_IOMEM
  369. default SYS_SUPPORTS_SH_CMT
  370. help
  371. This enables build of a clocksource and clockevent driver for
  372. the Compare Match Timer (CMT) hardware available in 16/32/48-bit
  373. variants on a wide range of Mobile and Automotive SoCs from Renesas.
  374. config SH_TIMER_MTU2
  375. bool "Renesas MTU2 timer driver" if COMPILE_TEST
  376. depends on GENERIC_CLOCKEVENTS
  377. depends on HAS_IOMEM
  378. default SYS_SUPPORTS_SH_MTU2
  379. help
  380. This enables build of a clockevent driver for the Multi-Function
  381. Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
  382. This hardware comes with 16 bit-timer registers.
  383. config SH_TIMER_TMU
  384. bool "Renesas TMU timer driver" if COMPILE_TEST
  385. depends on GENERIC_CLOCKEVENTS
  386. depends on HAS_IOMEM
  387. default SYS_SUPPORTS_SH_TMU
  388. help
  389. This enables build of a clocksource and clockevent driver for
  390. the 32-bit Timer Unit (TMU) hardware available on a wide range
  391. SoCs from Renesas.
  392. config EM_TIMER_STI
  393. bool "Renesas STI timer driver" if COMPILE_TEST
  394. depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
  395. default SYS_SUPPORTS_EM_STI
  396. help
  397. This enables build of a clocksource and clockevent driver for
  398. the 48-bit System Timer (STI) hardware available on a SoCs
  399. such as EMEV2 from former NEC Electronics.
  400. config CLKSRC_QCOM
  401. bool "Qualcomm MSM timer" if COMPILE_TEST
  402. depends on ARM
  403. select CLKSRC_OF
  404. help
  405. This enables the clocksource and the per CPU clockevent driver for the
  406. Qualcomm SoCs.
  407. config CLKSRC_VERSATILE
  408. bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
  409. depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
  410. select CLKSRC_OF
  411. default y if MFD_VEXPRESS_SYSREG
  412. help
  413. This option enables clock source based on free running
  414. counter available in the "System Registers" block of
  415. ARM Versatile, RealView and Versatile Express reference
  416. platforms.
  417. config CLKSRC_MIPS_GIC
  418. bool
  419. depends on MIPS_GIC
  420. select CLKSRC_OF
  421. config CLKSRC_TANGO_XTAL
  422. bool "Clocksource for Tango SoC" if COMPILE_TEST
  423. depends on ARM
  424. select CLKSRC_OF
  425. select CLKSRC_MMIO
  426. help
  427. This enables the clocksource for Tango SoC
  428. config CLKSRC_PXA
  429. bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
  430. depends on GENERIC_CLOCKEVENTS
  431. depends on HAS_IOMEM
  432. select CLKSRC_MMIO
  433. help
  434. This enables OST0 support available on PXA and SA-11x0
  435. platforms.
  436. config H8300_TMR8
  437. bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
  438. depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
  439. help
  440. This enables the 8 bits timer for the H8300 platform.
  441. config H8300_TMR16
  442. bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
  443. depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
  444. help
  445. This enables the 16 bits timer for the H8300 platform with the
  446. H83069 cpu.
  447. config H8300_TPU
  448. bool "Clocksource for the H8300 platform" if COMPILE_TEST
  449. depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
  450. help
  451. This enables the clocksource for the H8300 platform with the
  452. H8S2678 cpu.
  453. config CLKSRC_IMX_GPT
  454. bool "Clocksource using i.MX GPT" if COMPILE_TEST
  455. depends on ARM && CLKDEV_LOOKUP
  456. select CLKSRC_MMIO
  457. config CLKSRC_ST_LPC
  458. bool "Low power clocksource found in the LPC" if COMPILE_TEST
  459. select CLKSRC_OF if OF
  460. depends on HAS_IOMEM
  461. select CLKSRC_MMIO
  462. help
  463. Enable this option to use the Low Power controller timer
  464. as clocksource.
  465. endmenu