Kconfig 11 KB

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