Kconfig 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514
  1. menuconfig PWM
  2. bool "Pulse-Width Modulation (PWM) Support"
  3. help
  4. Generic Pulse-Width Modulation (PWM) support.
  5. In Pulse-Width Modulation, a variation of the width of pulses
  6. in a rectangular pulse signal is used as a means to alter the
  7. average power of the signal. Applications include efficient
  8. power delivery and voltage regulation. In computer systems,
  9. PWMs are commonly used to control fans or the brightness of
  10. display backlights.
  11. This framework provides a generic interface to PWM devices
  12. within the Linux kernel. On the driver side it provides an API
  13. to register and unregister a PWM chip, an abstraction of a PWM
  14. controller, that supports one or more PWM devices. Client
  15. drivers can request PWM devices and use the generic framework
  16. to configure as well as enable and disable them.
  17. This generic framework replaces the legacy PWM framework which
  18. allows only a single driver implementing the required API. Not
  19. all legacy implementations have been ported to the framework
  20. yet. The framework provides an API that is backward compatible
  21. with the legacy framework so that existing client drivers
  22. continue to work as expected.
  23. If unsure, say no.
  24. if PWM
  25. config PWM_SYSFS
  26. bool
  27. default y if SYSFS
  28. config PWM_AB8500
  29. tristate "AB8500 PWM support"
  30. depends on AB8500_CORE && ARCH_U8500
  31. help
  32. Generic PWM framework driver for Analog Baseband AB8500.
  33. To compile this driver as a module, choose M here: the module
  34. will be called pwm-ab8500.
  35. config PWM_ATMEL
  36. tristate "Atmel PWM support"
  37. depends on ARCH_AT91
  38. help
  39. Generic PWM framework driver for Atmel SoC.
  40. To compile this driver as a module, choose M here: the module
  41. will be called pwm-atmel.
  42. config PWM_ATMEL_HLCDC_PWM
  43. tristate "Atmel HLCDC PWM support"
  44. depends on MFD_ATMEL_HLCDC
  45. depends on HAVE_CLK
  46. help
  47. Generic PWM framework driver for the PWM output of the HLCDC
  48. (Atmel High-end LCD Controller). This PWM output is mainly used
  49. to control the LCD backlight.
  50. To compile this driver as a module, choose M here: the module
  51. will be called pwm-atmel-hlcdc.
  52. config PWM_ATMEL_TCB
  53. tristate "Atmel TC Block PWM support"
  54. depends on ATMEL_TCLIB && OF
  55. help
  56. Generic PWM framework driver for Atmel Timer Counter Block.
  57. A Timer Counter Block provides 6 PWM devices grouped by 2.
  58. Devices in a given group must have the same period.
  59. To compile this driver as a module, choose M here: the module
  60. will be called pwm-atmel-tcb.
  61. config PWM_BCM_IPROC
  62. tristate "iProc PWM support"
  63. depends on ARCH_BCM_IPROC || COMPILE_TEST
  64. depends on COMMON_CLK
  65. default ARCH_BCM_IPROC
  66. help
  67. Generic PWM framework driver for Broadcom iProc PWM block. This
  68. block is used in Broadcom iProc SoC's.
  69. To compile this driver as a module, choose M here: the module
  70. will be called pwm-bcm-iproc.
  71. config PWM_BCM_KONA
  72. tristate "Kona PWM support"
  73. depends on ARCH_BCM_MOBILE
  74. help
  75. Generic PWM framework driver for Broadcom Kona PWM block.
  76. To compile this driver as a module, choose M here: the module
  77. will be called pwm-bcm-kona.
  78. config PWM_BCM2835
  79. tristate "BCM2835 PWM support"
  80. depends on ARCH_BCM2835
  81. help
  82. PWM framework driver for BCM2835 controller (Raspberry Pi)
  83. To compile this driver as a module, choose M here: the module
  84. will be called pwm-bcm2835.
  85. config PWM_BERLIN
  86. tristate "Marvell Berlin PWM support"
  87. depends on ARCH_BERLIN
  88. help
  89. PWM framework driver for Marvell Berlin SoCs.
  90. To compile this driver as a module, choose M here: the module
  91. will be called pwm-berlin.
  92. config PWM_BRCMSTB
  93. tristate "Broadcom STB PWM support"
  94. depends on ARCH_BRCMSTB || BMIPS_GENERIC
  95. help
  96. Generic PWM framework driver for the Broadcom Set-top-Box
  97. SoCs (BCM7xxx).
  98. To compile this driver as a module, choose M Here: the module
  99. will be called pwm-brcmstb.c.
  100. config PWM_CLPS711X
  101. tristate "CLPS711X PWM support"
  102. depends on ARCH_CLPS711X || COMPILE_TEST
  103. depends on HAS_IOMEM
  104. help
  105. Generic PWM framework driver for Cirrus Logic CLPS711X.
  106. To compile this driver as a module, choose M here: the module
  107. will be called pwm-clps711x.
  108. config PWM_CRC
  109. bool "Intel Crystalcove (CRC) PWM support"
  110. depends on X86 && INTEL_SOC_PMIC
  111. help
  112. Generic PWM framework driver for Crystalcove (CRC) PMIC based PWM
  113. control.
  114. config PWM_CROS_EC
  115. tristate "ChromeOS EC PWM driver"
  116. depends on MFD_CROS_EC
  117. help
  118. PWM driver for exposing a PWM attached to the ChromeOS Embedded
  119. Controller.
  120. config PWM_EP93XX
  121. tristate "Cirrus Logic EP93xx PWM support"
  122. depends on ARCH_EP93XX
  123. help
  124. Generic PWM framework driver for Cirrus Logic EP93xx.
  125. To compile this driver as a module, choose M here: the module
  126. will be called pwm-ep93xx.
  127. config PWM_FSL_FTM
  128. tristate "Freescale FlexTimer Module (FTM) PWM support"
  129. depends on HAS_IOMEM
  130. depends on OF
  131. select REGMAP_MMIO
  132. help
  133. Generic FTM PWM framework driver for Freescale VF610 and
  134. Layerscape LS-1 SoCs.
  135. To compile this driver as a module, choose M here: the module
  136. will be called pwm-fsl-ftm.
  137. config PWM_HIBVT
  138. tristate "HiSilicon BVT PWM support"
  139. depends on ARCH_HISI || COMPILE_TEST
  140. help
  141. Generic PWM framework driver for HiSilicon BVT SoCs.
  142. To compile this driver as a module, choose M here: the module
  143. will be called pwm-hibvt.
  144. config PWM_IMG
  145. tristate "Imagination Technologies PWM driver"
  146. depends on HAS_IOMEM
  147. depends on MFD_SYSCON
  148. depends on COMMON_CLK
  149. depends on MIPS || COMPILE_TEST
  150. help
  151. Generic PWM framework driver for Imagination Technologies
  152. PWM block which supports 4 channels.
  153. To compile this driver as a module, choose M here: the module
  154. will be called pwm-img
  155. config PWM_IMX
  156. tristate "i.MX PWM support"
  157. depends on ARCH_MXC
  158. help
  159. Generic PWM framework driver for i.MX.
  160. To compile this driver as a module, choose M here: the module
  161. will be called pwm-imx.
  162. config PWM_JZ4740
  163. tristate "Ingenic JZ47xx PWM support"
  164. depends on MACH_INGENIC
  165. help
  166. Generic PWM framework driver for Ingenic JZ47xx based
  167. machines.
  168. To compile this driver as a module, choose M here: the module
  169. will be called pwm-jz4740.
  170. config PWM_LP3943
  171. tristate "TI/National Semiconductor LP3943 PWM support"
  172. depends on MFD_LP3943
  173. help
  174. Generic PWM framework driver for LP3943 which supports two PWM
  175. channels.
  176. To compile this driver as a module, choose M here: the module
  177. will be called pwm-lp3943.
  178. config PWM_LPC18XX_SCT
  179. tristate "LPC18xx/43xx PWM/SCT support"
  180. depends on ARCH_LPC18XX
  181. help
  182. Generic PWM framework driver for NXP LPC18xx PWM/SCT which
  183. supports 16 channels.
  184. A maximum of 15 channels can be requested simultaneously and
  185. must have the same period.
  186. To compile this driver as a module, choose M here: the module
  187. will be called pwm-lpc18xx-sct.
  188. config PWM_LPC32XX
  189. tristate "LPC32XX PWM support"
  190. depends on ARCH_LPC32XX
  191. help
  192. Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two
  193. PWM controllers.
  194. To compile this driver as a module, choose M here: the module
  195. will be called pwm-lpc32xx.
  196. config PWM_LPSS
  197. tristate
  198. config PWM_LPSS_PCI
  199. tristate "Intel LPSS PWM PCI driver"
  200. depends on X86 && PCI
  201. select PWM_LPSS
  202. help
  203. The PCI driver for Intel Low Power Subsystem PWM controller.
  204. To compile this driver as a module, choose M here: the module
  205. will be called pwm-lpss-pci.
  206. config PWM_LPSS_PLATFORM
  207. tristate "Intel LPSS PWM platform driver"
  208. depends on X86 && ACPI
  209. select PWM_LPSS
  210. help
  211. The platform driver for Intel Low Power Subsystem PWM controller.
  212. To compile this driver as a module, choose M here: the module
  213. will be called pwm-lpss-platform.
  214. config PWM_MESON
  215. tristate "Amlogic Meson PWM driver"
  216. depends on ARCH_MESON
  217. help
  218. The platform driver for Amlogic Meson PWM controller.
  219. To compile this driver as a module, choose M here: the module
  220. will be called pwm-meson.
  221. config PWM_MTK_DISP
  222. tristate "MediaTek display PWM driver"
  223. depends on ARCH_MEDIATEK || COMPILE_TEST
  224. depends on HAS_IOMEM
  225. help
  226. Generic PWM framework driver for MediaTek disp-pwm device.
  227. The PWM is used to control the backlight brightness for display.
  228. To compile this driver as a module, choose M here: the module
  229. will be called pwm-mtk-disp.
  230. config PWM_MEDIATEK
  231. tristate "MediaTek PWM support"
  232. depends on ARCH_MEDIATEK || RALINK || COMPILE_TEST
  233. help
  234. Generic PWM framework driver for Mediatek ARM SoC.
  235. To compile this driver as a module, choose M here: the module
  236. will be called pwm-mediatek.
  237. config PWM_MXS
  238. tristate "Freescale MXS PWM support"
  239. depends on ARCH_MXS && OF
  240. select STMP_DEVICE
  241. help
  242. Generic PWM framework driver for Freescale MXS.
  243. To compile this driver as a module, choose M here: the module
  244. will be called pwm-mxs.
  245. config PWM_OMAP_DMTIMER
  246. tristate "OMAP Dual-Mode Timer PWM support"
  247. depends on OF && ARCH_OMAP && OMAP_DM_TIMER
  248. help
  249. Generic PWM framework driver for OMAP Dual-Mode Timer PWM output
  250. To compile this driver as a module, choose M here: the module
  251. will be called pwm-omap-dmtimer
  252. config PWM_PCA9685
  253. tristate "NXP PCA9685 PWM driver"
  254. depends on I2C
  255. select REGMAP_I2C
  256. help
  257. Generic PWM framework driver for NXP PCA9685 LED controller.
  258. To compile this driver as a module, choose M here: the module
  259. will be called pwm-pca9685.
  260. config PWM_PUV3
  261. tristate "PKUnity NetBook-0916 PWM support"
  262. depends on ARCH_PUV3
  263. help
  264. Generic PWM framework driver for PKUnity NetBook-0916.
  265. To compile this driver as a module, choose M here: the module
  266. will be called pwm-puv3.
  267. config PWM_PXA
  268. tristate "PXA PWM support"
  269. depends on ARCH_PXA
  270. help
  271. Generic PWM framework driver for PXA.
  272. To compile this driver as a module, choose M here: the module
  273. will be called pwm-pxa.
  274. config PWM_RCAR
  275. tristate "Renesas R-Car PWM support"
  276. depends on ARCH_RENESAS || COMPILE_TEST
  277. depends on HAS_IOMEM
  278. help
  279. This driver exposes the PWM Timer controller found in Renesas
  280. R-Car chips through the PWM API.
  281. To compile this driver as a module, choose M here: the module
  282. will be called pwm-rcar.
  283. config PWM_RENESAS_TPU
  284. tristate "Renesas TPU PWM support"
  285. depends on ARCH_RENESAS || COMPILE_TEST
  286. depends on HAS_IOMEM
  287. help
  288. This driver exposes the Timer Pulse Unit (TPU) PWM controller found
  289. in Renesas chips through the PWM API.
  290. To compile this driver as a module, choose M here: the module
  291. will be called pwm-renesas-tpu.
  292. config PWM_ROCKCHIP
  293. tristate "Rockchip PWM support"
  294. depends on ARCH_ROCKCHIP
  295. help
  296. Generic PWM framework driver for the PWM controller found on
  297. Rockchip SoCs.
  298. config PWM_SAMSUNG
  299. tristate "Samsung PWM support"
  300. depends on PLAT_SAMSUNG || ARCH_EXYNOS
  301. help
  302. Generic PWM framework driver for Samsung.
  303. To compile this driver as a module, choose M here: the module
  304. will be called pwm-samsung.
  305. config PWM_SPEAR
  306. tristate "STMicroelectronics SPEAr PWM support"
  307. depends on PLAT_SPEAR
  308. depends on OF
  309. help
  310. Generic PWM framework driver for the PWM controller on ST
  311. SPEAr SoCs.
  312. To compile this driver as a module, choose M here: the module
  313. will be called pwm-spear.
  314. config PWM_STI
  315. tristate "STiH4xx PWM support"
  316. depends on ARCH_STI
  317. depends on OF
  318. help
  319. Generic PWM framework driver for STiH4xx SoCs.
  320. To compile this driver as a module, choose M here: the module
  321. will be called pwm-sti.
  322. config PWM_STM32
  323. tristate "STMicroelectronics STM32 PWM"
  324. depends on MFD_STM32_TIMERS
  325. help
  326. Generic PWM framework driver for STM32 SoCs.
  327. To compile this driver as a module, choose M here: the module
  328. will be called pwm-stm32.
  329. config PWM_STM32_LP
  330. tristate "STMicroelectronics STM32 PWM LP"
  331. depends on MFD_STM32_LPTIMER || COMPILE_TEST
  332. help
  333. Generic PWM framework driver for STMicroelectronics STM32 SoCs
  334. with Low-Power Timer (LPTIM).
  335. To compile this driver as a module, choose M here: the module
  336. will be called pwm-stm32-lp.
  337. config PWM_STMPE
  338. bool "STMPE expander PWM export"
  339. depends on MFD_STMPE
  340. help
  341. This enables support for the PWMs found in the STMPE I/O
  342. expanders.
  343. config PWM_SUN4I
  344. tristate "Allwinner PWM support"
  345. depends on ARCH_SUNXI || COMPILE_TEST
  346. depends on HAS_IOMEM && COMMON_CLK
  347. help
  348. Generic PWM framework driver for Allwinner SoCs.
  349. To compile this driver as a module, choose M here: the module
  350. will be called pwm-sun4i.
  351. config PWM_TEGRA
  352. tristate "NVIDIA Tegra PWM support"
  353. depends on ARCH_TEGRA
  354. help
  355. Generic PWM framework driver for the PWFM controller found on NVIDIA
  356. Tegra SoCs.
  357. To compile this driver as a module, choose M here: the module
  358. will be called pwm-tegra.
  359. config PWM_TIECAP
  360. tristate "ECAP PWM support"
  361. depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE
  362. help
  363. PWM driver support for the ECAP APWM controller found on AM33XX
  364. TI SOC
  365. To compile this driver as a module, choose M here: the module
  366. will be called pwm-tiecap.
  367. config PWM_TIEHRPWM
  368. tristate "EHRPWM PWM support"
  369. depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX
  370. help
  371. PWM driver support for the EHRPWM controller found on AM33XX
  372. TI SOC
  373. To compile this driver as a module, choose M here: the module
  374. will be called pwm-tiehrpwm.
  375. config PWM_TIPWMSS
  376. bool
  377. default y if (ARCH_OMAP2PLUS) && (PWM_TIECAP || PWM_TIEHRPWM)
  378. help
  379. PWM Subsystem driver support for AM33xx SOC.
  380. PWM submodules require PWM config space access from submodule
  381. drivers and require common parent driver support.
  382. config PWM_TWL
  383. tristate "TWL4030/6030 PWM support"
  384. depends on TWL4030_CORE
  385. help
  386. Generic PWM framework driver for TWL4030/6030.
  387. To compile this driver as a module, choose M here: the module
  388. will be called pwm-twl.
  389. config PWM_TWL_LED
  390. tristate "TWL4030/6030 PWM support for LED drivers"
  391. depends on TWL4030_CORE
  392. help
  393. Generic PWM framework driver for TWL4030/6030 LED terminals.
  394. To compile this driver as a module, choose M here: the module
  395. will be called pwm-twl-led.
  396. config PWM_VT8500
  397. tristate "vt8500 PWM support"
  398. depends on ARCH_VT8500
  399. help
  400. Generic PWM framework driver for vt8500.
  401. To compile this driver as a module, choose M here: the module
  402. will be called pwm-vt8500.
  403. config PWM_ZX
  404. tristate "ZTE ZX PWM support"
  405. depends on ARCH_ZX
  406. help
  407. Generic PWM framework driver for ZTE ZX family SoCs.
  408. To compile this driver as a module, choose M here: the module
  409. will be called pwm-zx.
  410. endif