Kconfig 12 KB

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