Kconfig 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483
  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 || AVR32
  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
  64. help
  65. Generic PWM framework driver for Broadcom iProc PWM block. This
  66. block is used in Broadcom iProc SoC's.
  67. To compile this driver as a module, choose M here: the module
  68. will be called pwm-bcm-iproc.
  69. config PWM_BCM_KONA
  70. tristate "Kona PWM support"
  71. depends on ARCH_BCM_MOBILE
  72. help
  73. Generic PWM framework driver for Broadcom Kona PWM block.
  74. To compile this driver as a module, choose M here: the module
  75. will be called pwm-bcm-kona.
  76. config PWM_BCM2835
  77. tristate "BCM2835 PWM support"
  78. depends on ARCH_BCM2835
  79. help
  80. PWM framework driver for BCM2835 controller (Raspberry Pi)
  81. To compile this driver as a module, choose M here: the module
  82. will be called pwm-bcm2835.
  83. config PWM_BERLIN
  84. tristate "Marvell Berlin PWM support"
  85. depends on ARCH_BERLIN
  86. help
  87. PWM framework driver for Marvell Berlin SoCs.
  88. To compile this driver as a module, choose M here: the module
  89. will be called pwm-berlin.
  90. config PWM_BFIN
  91. tristate "Blackfin PWM support"
  92. depends on BFIN_GPTIMERS
  93. help
  94. Generic PWM framework driver for Blackfin.
  95. To compile this driver as a module, choose M here: the module
  96. will be called pwm-bfin.
  97. config PWM_BRCMSTB
  98. tristate "Broadcom STB PWM support"
  99. depends on ARCH_BRCMSTB || BMIPS_GENERIC
  100. help
  101. Generic PWM framework driver for the Broadcom Set-top-Box
  102. SoCs (BCM7xxx).
  103. To compile this driver as a module, choose M Here: the module
  104. will be called pwm-brcmstb.c.
  105. config PWM_CLPS711X
  106. tristate "CLPS711X PWM support"
  107. depends on ARCH_CLPS711X || COMPILE_TEST
  108. depends on HAS_IOMEM
  109. help
  110. Generic PWM framework driver for Cirrus Logic CLPS711X.
  111. To compile this driver as a module, choose M here: the module
  112. will be called pwm-clps711x.
  113. config PWM_CRC
  114. bool "Intel Crystalcove (CRC) PWM support"
  115. depends on X86 && INTEL_SOC_PMIC
  116. help
  117. Generic PWM framework driver for Crystalcove (CRC) PMIC based PWM
  118. control.
  119. config PWM_CROS_EC
  120. tristate "ChromeOS EC PWM driver"
  121. depends on MFD_CROS_EC
  122. help
  123. PWM driver for exposing a PWM attached to the ChromeOS Embedded
  124. Controller.
  125. config PWM_EP93XX
  126. tristate "Cirrus Logic EP93xx PWM support"
  127. depends on ARCH_EP93XX
  128. help
  129. Generic PWM framework driver for Cirrus Logic EP93xx.
  130. To compile this driver as a module, choose M here: the module
  131. will be called pwm-ep93xx.
  132. config PWM_FSL_FTM
  133. tristate "Freescale FlexTimer Module (FTM) PWM support"
  134. depends on HAS_IOMEM
  135. depends on OF
  136. select REGMAP_MMIO
  137. help
  138. Generic FTM PWM framework driver for Freescale VF610 and
  139. Layerscape LS-1 SoCs.
  140. To compile this driver as a module, choose M here: the module
  141. will be called pwm-fsl-ftm.
  142. config PWM_HIBVT
  143. tristate "HiSilicon BVT PWM support"
  144. depends on ARCH_HISI || COMPILE_TEST
  145. help
  146. Generic PWM framework driver for HiSilicon BVT SoCs.
  147. To compile this driver as a module, choose M here: the module
  148. will be called pwm-hibvt.
  149. config PWM_IMG
  150. tristate "Imagination Technologies PWM driver"
  151. depends on HAS_IOMEM
  152. depends on MFD_SYSCON
  153. depends on COMMON_CLK
  154. depends on MIPS || COMPILE_TEST
  155. help
  156. Generic PWM framework driver for Imagination Technologies
  157. PWM block which supports 4 channels.
  158. To compile this driver as a module, choose M here: the module
  159. will be called pwm-img
  160. config PWM_IMX
  161. tristate "i.MX PWM support"
  162. depends on ARCH_MXC
  163. help
  164. Generic PWM framework driver for i.MX.
  165. To compile this driver as a module, choose M here: the module
  166. will be called pwm-imx.
  167. config PWM_JZ4740
  168. tristate "Ingenic JZ4740 PWM support"
  169. depends on MACH_JZ4740
  170. help
  171. Generic PWM framework driver for Ingenic JZ4740 based
  172. machines.
  173. To compile this driver as a module, choose M here: the module
  174. will be called pwm-jz4740.
  175. config PWM_LP3943
  176. tristate "TI/National Semiconductor LP3943 PWM support"
  177. depends on MFD_LP3943
  178. help
  179. Generic PWM framework driver for LP3943 which supports two PWM
  180. channels.
  181. To compile this driver as a module, choose M here: the module
  182. will be called pwm-lp3943.
  183. config PWM_LPC18XX_SCT
  184. tristate "LPC18xx/43xx PWM/SCT support"
  185. depends on ARCH_LPC18XX
  186. help
  187. Generic PWM framework driver for NXP LPC18xx PWM/SCT which
  188. supports 16 channels.
  189. A maximum of 15 channels can be requested simultaneously and
  190. must have the same period.
  191. To compile this driver as a module, choose M here: the module
  192. will be called pwm-lpc18xx-sct.
  193. config PWM_LPC32XX
  194. tristate "LPC32XX PWM support"
  195. depends on ARCH_LPC32XX
  196. help
  197. Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two
  198. PWM controllers.
  199. To compile this driver as a module, choose M here: the module
  200. will be called pwm-lpc32xx.
  201. config PWM_LPSS
  202. tristate
  203. config PWM_LPSS_PCI
  204. tristate "Intel LPSS PWM PCI driver"
  205. depends on X86 && PCI
  206. select PWM_LPSS
  207. help
  208. The PCI driver for Intel Low Power Subsystem PWM controller.
  209. To compile this driver as a module, choose M here: the module
  210. will be called pwm-lpss-pci.
  211. config PWM_LPSS_PLATFORM
  212. tristate "Intel LPSS PWM platform driver"
  213. depends on X86 && ACPI
  214. select PWM_LPSS
  215. help
  216. The platform driver for Intel Low Power Subsystem PWM controller.
  217. To compile this driver as a module, choose M here: the module
  218. will be called pwm-lpss-platform.
  219. config PWM_MESON
  220. tristate "Amlogic Meson PWM driver"
  221. depends on ARCH_MESON
  222. help
  223. The platform driver for Amlogic Meson PWM controller.
  224. To compile this driver as a module, choose M here: the module
  225. will be called pwm-meson.
  226. config PWM_MTK_DISP
  227. tristate "MediaTek display PWM driver"
  228. depends on ARCH_MEDIATEK || COMPILE_TEST
  229. depends on HAS_IOMEM
  230. help
  231. Generic PWM framework driver for MediaTek disp-pwm device.
  232. The PWM is used to control the backlight brightness for display.
  233. To compile this driver as a module, choose M here: the module
  234. will be called pwm-mtk-disp.
  235. config PWM_MXS
  236. tristate "Freescale MXS PWM support"
  237. depends on ARCH_MXS && OF
  238. select STMP_DEVICE
  239. help
  240. Generic PWM framework driver for Freescale MXS.
  241. To compile this driver as a module, choose M here: the module
  242. will be called pwm-mxs.
  243. config PWM_OMAP_DMTIMER
  244. tristate "OMAP Dual-Mode Timer PWM support"
  245. depends on OF && ARCH_OMAP && OMAP_DM_TIMER
  246. help
  247. Generic PWM framework driver for OMAP Dual-Mode Timer PWM output
  248. To compile this driver as a module, choose M here: the module
  249. will be called pwm-omap-dmtimer
  250. config PWM_PCA9685
  251. tristate "NXP PCA9685 PWM driver"
  252. depends on I2C
  253. select REGMAP_I2C
  254. help
  255. Generic PWM framework driver for NXP PCA9685 LED controller.
  256. To compile this driver as a module, choose M here: the module
  257. will be called pwm-pca9685.
  258. config PWM_PUV3
  259. tristate "PKUnity NetBook-0916 PWM support"
  260. depends on ARCH_PUV3
  261. help
  262. Generic PWM framework driver for PKUnity NetBook-0916.
  263. To compile this driver as a module, choose M here: the module
  264. will be called pwm-puv3.
  265. config PWM_PXA
  266. tristate "PXA PWM support"
  267. depends on ARCH_PXA
  268. help
  269. Generic PWM framework driver for PXA.
  270. To compile this driver as a module, choose M here: the module
  271. will be called pwm-pxa.
  272. config PWM_RCAR
  273. tristate "Renesas R-Car PWM support"
  274. depends on ARCH_RENESAS || COMPILE_TEST
  275. depends on HAS_IOMEM
  276. help
  277. This driver exposes the PWM Timer controller found in Renesas
  278. R-Car chips through the PWM API.
  279. To compile this driver as a module, choose M here: the module
  280. will be called pwm-rcar.
  281. config PWM_RENESAS_TPU
  282. tristate "Renesas TPU PWM support"
  283. depends on ARCH_RENESAS || COMPILE_TEST
  284. depends on HAS_IOMEM
  285. help
  286. This driver exposes the Timer Pulse Unit (TPU) PWM controller found
  287. in Renesas chips through the PWM API.
  288. To compile this driver as a module, choose M here: the module
  289. will be called pwm-renesas-tpu.
  290. config PWM_ROCKCHIP
  291. tristate "Rockchip PWM support"
  292. depends on ARCH_ROCKCHIP
  293. help
  294. Generic PWM framework driver for the PWM controller found on
  295. Rockchip SoCs.
  296. config PWM_SAMSUNG
  297. tristate "Samsung PWM support"
  298. depends on PLAT_SAMSUNG || ARCH_EXYNOS
  299. help
  300. Generic PWM framework driver for Samsung.
  301. To compile this driver as a module, choose M here: the module
  302. will be called pwm-samsung.
  303. config PWM_SPEAR
  304. tristate "STMicroelectronics SPEAr PWM support"
  305. depends on PLAT_SPEAR
  306. depends on OF
  307. help
  308. Generic PWM framework driver for the PWM controller on ST
  309. SPEAr SoCs.
  310. To compile this driver as a module, choose M here: the module
  311. will be called pwm-spear.
  312. config PWM_STI
  313. tristate "STiH4xx PWM support"
  314. depends on ARCH_STI
  315. depends on OF
  316. help
  317. Generic PWM framework driver for STiH4xx SoCs.
  318. To compile this driver as a module, choose M here: the module
  319. will be called pwm-sti.
  320. config PWM_STMPE
  321. bool "STMPE expander PWM export"
  322. depends on MFD_STMPE
  323. help
  324. This enables support for the PWMs found in the STMPE I/O
  325. expanders.
  326. config PWM_SUN4I
  327. tristate "Allwinner PWM support"
  328. depends on ARCH_SUNXI || COMPILE_TEST
  329. depends on HAS_IOMEM && COMMON_CLK
  330. help
  331. Generic PWM framework driver for Allwinner SoCs.
  332. To compile this driver as a module, choose M here: the module
  333. will be called pwm-sun4i.
  334. config PWM_TEGRA
  335. tristate "NVIDIA Tegra PWM support"
  336. depends on ARCH_TEGRA
  337. help
  338. Generic PWM framework driver for the PWFM controller found on NVIDIA
  339. Tegra SoCs.
  340. To compile this driver as a module, choose M here: the module
  341. will be called pwm-tegra.
  342. config PWM_TIECAP
  343. tristate "ECAP PWM support"
  344. depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX
  345. help
  346. PWM driver support for the ECAP APWM controller found on AM33XX
  347. TI SOC
  348. To compile this driver as a module, choose M here: the module
  349. will be called pwm-tiecap.
  350. config PWM_TIEHRPWM
  351. tristate "EHRPWM PWM support"
  352. depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX
  353. help
  354. PWM driver support for the EHRPWM controller found on AM33XX
  355. TI SOC
  356. To compile this driver as a module, choose M here: the module
  357. will be called pwm-tiehrpwm.
  358. config PWM_TIPWMSS
  359. bool
  360. default y if (ARCH_OMAP2PLUS) && (PWM_TIECAP || PWM_TIEHRPWM)
  361. help
  362. PWM Subsystem driver support for AM33xx SOC.
  363. PWM submodules require PWM config space access from submodule
  364. drivers and require common parent driver support.
  365. config PWM_TWL
  366. tristate "TWL4030/6030 PWM support"
  367. depends on TWL4030_CORE
  368. help
  369. Generic PWM framework driver for TWL4030/6030.
  370. To compile this driver as a module, choose M here: the module
  371. will be called pwm-twl.
  372. config PWM_TWL_LED
  373. tristate "TWL4030/6030 PWM support for LED drivers"
  374. depends on TWL4030_CORE
  375. help
  376. Generic PWM framework driver for TWL4030/6030 LED terminals.
  377. To compile this driver as a module, choose M here: the module
  378. will be called pwm-twl-led.
  379. config PWM_VT8500
  380. tristate "vt8500 PWM support"
  381. depends on ARCH_VT8500
  382. help
  383. Generic PWM framework driver for vt8500.
  384. To compile this driver as a module, choose M here: the module
  385. will be called pwm-vt8500.
  386. endif