Kconfig 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564
  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 ARC_TIMERS
  242. bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST
  243. depends on GENERIC_CLOCKEVENTS
  244. select CLKSRC_OF
  245. help
  246. These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores
  247. (ARC700 as well as ARC HS38).
  248. TIMER0 serves as clockevent while TIMER1 provides clocksource
  249. config ARC_TIMERS_64BIT
  250. bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST
  251. depends on GENERIC_CLOCKEVENTS
  252. depends on ARC_TIMERS
  253. select CLKSRC_OF
  254. help
  255. This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP)
  256. RTC is implemented inside the core, while GFRC sits outside the core in
  257. ARConnect IP block. Driver automatically picks one of them for clocksource
  258. as appropriate.
  259. config ARM_ARCH_TIMER
  260. bool
  261. select CLKSRC_OF if OF
  262. select CLKSRC_ACPI if ACPI
  263. config ARM_ARCH_TIMER_EVTSTREAM
  264. bool "Enable ARM architected timer event stream generation by default"
  265. default y if ARM_ARCH_TIMER
  266. depends on ARM_ARCH_TIMER
  267. help
  268. This option enables support by default for event stream generation
  269. based on the ARM architected timer. It is used for waking up CPUs
  270. executing the wfe instruction at a frequency represented as a
  271. power-of-2 divisor of the clock rate. The behaviour can also be
  272. overridden on the command line using the
  273. clocksource.arm_arch_timer.evtstream parameter.
  274. The main use of the event stream is wfe-based timeouts of userspace
  275. locking implementations. It might also be useful for imposing timeout
  276. on wfe to safeguard against any programming errors in case an expected
  277. event is not generated.
  278. This must be disabled for hardware validation purposes to detect any
  279. hardware anomalies of missing events.
  280. config FSL_ERRATUM_A008585
  281. bool "Workaround for Freescale/NXP Erratum A-008585"
  282. default y
  283. depends on ARM_ARCH_TIMER && ARM64
  284. help
  285. This option enables a workaround for Freescale/NXP Erratum
  286. A-008585 ("ARM generic timer may contain an erroneous
  287. value"). The workaround will only be active if the
  288. fsl,erratum-a008585 property is found in the timer node.
  289. config ARM_GLOBAL_TIMER
  290. bool "Support for the ARM global timer" if COMPILE_TEST
  291. select CLKSRC_OF if OF
  292. depends on ARM
  293. help
  294. This options enables support for the ARM global timer unit
  295. config ARM_TIMER_SP804
  296. bool "Support for Dual Timer SP804 module"
  297. depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP
  298. select CLKSRC_MMIO
  299. select CLKSRC_OF if OF
  300. config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
  301. bool
  302. depends on ARM_GLOBAL_TIMER
  303. default y
  304. help
  305. Use ARM global timer clock source as sched_clock
  306. config ARMV7M_SYSTICK
  307. bool "Support for the ARMv7M system time" if COMPILE_TEST
  308. select CLKSRC_OF if OF
  309. select CLKSRC_MMIO
  310. help
  311. This options enables support for the ARMv7M system timer unit
  312. config ATMEL_PIT
  313. select CLKSRC_OF if OF
  314. def_bool SOC_AT91SAM9 || SOC_SAMA5
  315. config ATMEL_ST
  316. bool "Atmel ST timer support" if COMPILE_TEST
  317. depends on GENERIC_CLOCKEVENTS
  318. select CLKSRC_OF
  319. select MFD_SYSCON
  320. help
  321. Support for the Atmel ST timer.
  322. config CLKSRC_METAG_GENERIC
  323. def_bool y if METAG
  324. help
  325. This option enables support for the Meta per-thread timers.
  326. config CLKSRC_EXYNOS_MCT
  327. bool "Exynos multi core timer driver" if COMPILE_TEST
  328. depends on ARM || ARM64
  329. help
  330. Support for Multi Core Timer controller on Exynos SoCs.
  331. config CLKSRC_SAMSUNG_PWM
  332. bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
  333. depends on GENERIC_CLOCKEVENTS
  334. depends on HAS_IOMEM
  335. help
  336. This is a new clocksource driver for the PWM timer found in
  337. Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
  338. for all devicetree enabled platforms. This driver will be
  339. needed only on systems that do not have the Exynos MCT available.
  340. config FSL_FTM_TIMER
  341. bool "Freescale FlexTimer Module driver" if COMPILE_TEST
  342. depends on GENERIC_CLOCKEVENTS
  343. depends on HAS_IOMEM
  344. select CLKSRC_MMIO
  345. help
  346. Support for Freescale FlexTimer Module (FTM) timer.
  347. config VF_PIT_TIMER
  348. bool
  349. select CLKSRC_MMIO
  350. help
  351. Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
  352. config OXNAS_RPS_TIMER
  353. bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST
  354. depends on GENERIC_CLOCKEVENTS
  355. select CLKSRC_OF
  356. select CLKSRC_MMIO
  357. help
  358. This enables support for the Oxford Semiconductor OXNAS RPS timers.
  359. config SYS_SUPPORTS_SH_CMT
  360. bool
  361. config MTK_TIMER
  362. bool "Mediatek timer driver" if COMPILE_TEST
  363. depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
  364. select CLKSRC_OF
  365. select CLKSRC_MMIO
  366. help
  367. Support for Mediatek timer driver.
  368. config SYS_SUPPORTS_SH_MTU2
  369. bool
  370. config SYS_SUPPORTS_SH_TMU
  371. bool
  372. config SYS_SUPPORTS_EM_STI
  373. bool
  374. config CLKSRC_JCORE_PIT
  375. bool "J-Core PIT timer driver" if COMPILE_TEST
  376. depends on OF
  377. depends on GENERIC_CLOCKEVENTS
  378. depends on HAS_IOMEM
  379. select CLKSRC_MMIO
  380. help
  381. This enables build of clocksource and clockevent driver for
  382. the integrated PIT in the J-Core synthesizable, open source SoC.
  383. config SH_TIMER_CMT
  384. bool "Renesas CMT timer driver" if COMPILE_TEST
  385. depends on GENERIC_CLOCKEVENTS
  386. depends on HAS_IOMEM
  387. default SYS_SUPPORTS_SH_CMT
  388. help
  389. This enables build of a clocksource and clockevent driver for
  390. the Compare Match Timer (CMT) hardware available in 16/32/48-bit
  391. variants on a wide range of Mobile and Automotive SoCs from Renesas.
  392. config SH_TIMER_MTU2
  393. bool "Renesas MTU2 timer driver" if COMPILE_TEST
  394. depends on GENERIC_CLOCKEVENTS
  395. depends on HAS_IOMEM
  396. default SYS_SUPPORTS_SH_MTU2
  397. help
  398. This enables build of a clockevent driver for the Multi-Function
  399. Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas.
  400. This hardware comes with 16 bit-timer registers.
  401. config SH_TIMER_TMU
  402. bool "Renesas TMU timer driver" if COMPILE_TEST
  403. depends on GENERIC_CLOCKEVENTS
  404. depends on HAS_IOMEM
  405. default SYS_SUPPORTS_SH_TMU
  406. help
  407. This enables build of a clocksource and clockevent driver for
  408. the 32-bit Timer Unit (TMU) hardware available on a wide range
  409. SoCs from Renesas.
  410. config EM_TIMER_STI
  411. bool "Renesas STI timer driver" if COMPILE_TEST
  412. depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
  413. default SYS_SUPPORTS_EM_STI
  414. help
  415. This enables build of a clocksource and clockevent driver for
  416. the 48-bit System Timer (STI) hardware available on a SoCs
  417. such as EMEV2 from former NEC Electronics.
  418. config CLKSRC_QCOM
  419. bool "Qualcomm MSM timer" if COMPILE_TEST
  420. depends on ARM
  421. select CLKSRC_OF
  422. help
  423. This enables the clocksource and the per CPU clockevent driver for the
  424. Qualcomm SoCs.
  425. config CLKSRC_VERSATILE
  426. bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST
  427. depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET
  428. select CLKSRC_OF
  429. default y if MFD_VEXPRESS_SYSREG
  430. help
  431. This option enables clock source based on free running
  432. counter available in the "System Registers" block of
  433. ARM Versatile, RealView and Versatile Express reference
  434. platforms.
  435. config CLKSRC_MIPS_GIC
  436. bool
  437. depends on MIPS_GIC
  438. select CLKSRC_OF
  439. config CLKSRC_TANGO_XTAL
  440. bool "Clocksource for Tango SoC" if COMPILE_TEST
  441. depends on ARM
  442. select CLKSRC_OF
  443. select CLKSRC_MMIO
  444. help
  445. This enables the clocksource for Tango SoC
  446. config CLKSRC_PXA
  447. bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST
  448. depends on GENERIC_CLOCKEVENTS
  449. depends on HAS_IOMEM
  450. select CLKSRC_MMIO
  451. help
  452. This enables OST0 support available on PXA and SA-11x0
  453. platforms.
  454. config H8300_TMR8
  455. bool "Clockevent timer for the H8300 platform" if COMPILE_TEST
  456. depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
  457. help
  458. This enables the 8 bits timer for the H8300 platform.
  459. config H8300_TMR16
  460. bool "Clockevent timer for the H83069 platform" if COMPILE_TEST
  461. depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
  462. help
  463. This enables the 16 bits timer for the H8300 platform with the
  464. H83069 cpu.
  465. config H8300_TPU
  466. bool "Clocksource for the H8300 platform" if COMPILE_TEST
  467. depends on GENERIC_CLOCKEVENTS && HAS_IOMEM
  468. help
  469. This enables the clocksource for the H8300 platform with the
  470. H8S2678 cpu.
  471. config CLKSRC_IMX_GPT
  472. bool "Clocksource using i.MX GPT" if COMPILE_TEST
  473. depends on ARM && CLKDEV_LOOKUP
  474. select CLKSRC_MMIO
  475. config CLKSRC_ST_LPC
  476. bool "Low power clocksource found in the LPC" if COMPILE_TEST
  477. select CLKSRC_OF if OF
  478. depends on HAS_IOMEM
  479. select CLKSRC_MMIO
  480. help
  481. Enable this option to use the Low Power controller timer
  482. as clocksource.
  483. endmenu