Kconfig 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  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_TCB
  43. tristate "Atmel TC Block PWM support"
  44. depends on ATMEL_TCLIB && OF
  45. help
  46. Generic PWM framework driver for Atmel Timer Counter Block.
  47. A Timer Counter Block provides 6 PWM devices grouped by 2.
  48. Devices in a given group must have the same period.
  49. To compile this driver as a module, choose M here: the module
  50. will be called pwm-atmel-tcb.
  51. config PWM_BCM_KONA
  52. tristate "Kona PWM support"
  53. depends on ARCH_BCM_MOBILE
  54. help
  55. Generic PWM framework driver for Broadcom Kona PWM block.
  56. To compile this driver as a module, choose M here: the module
  57. will be called pwm-bcm-kona.
  58. config PWM_BFIN
  59. tristate "Blackfin PWM support"
  60. depends on BFIN_GPTIMERS
  61. help
  62. Generic PWM framework driver for Blackfin.
  63. To compile this driver as a module, choose M here: the module
  64. will be called pwm-bfin.
  65. config PWM_CLPS711X
  66. tristate "CLPS711X PWM support"
  67. depends on ARCH_CLPS711X || COMPILE_TEST
  68. help
  69. Generic PWM framework driver for Cirrus Logic CLPS711X.
  70. To compile this driver as a module, choose M here: the module
  71. will be called pwm-clps711x.
  72. config PWM_EP93XX
  73. tristate "Cirrus Logic EP93xx PWM support"
  74. depends on ARCH_EP93XX
  75. help
  76. Generic PWM framework driver for Cirrus Logic EP93xx.
  77. To compile this driver as a module, choose M here: the module
  78. will be called pwm-ep93xx.
  79. config PWM_FSL_FTM
  80. tristate "Freescale FlexTimer Module (FTM) PWM support"
  81. depends on OF
  82. help
  83. Generic FTM PWM framework driver for Freescale VF610 and
  84. Layerscape LS-1 SoCs.
  85. To compile this driver as a module, choose M here: the module
  86. will be called pwm-fsl-ftm.
  87. config PWM_IMX
  88. tristate "i.MX PWM support"
  89. depends on ARCH_MXC
  90. help
  91. Generic PWM framework driver for i.MX.
  92. To compile this driver as a module, choose M here: the module
  93. will be called pwm-imx.
  94. config PWM_JZ4740
  95. tristate "Ingenic JZ4740 PWM support"
  96. depends on MACH_JZ4740
  97. help
  98. Generic PWM framework driver for Ingenic JZ4740 based
  99. machines.
  100. To compile this driver as a module, choose M here: the module
  101. will be called pwm-jz4740.
  102. config PWM_LP3943
  103. tristate "TI/National Semiconductor LP3943 PWM support"
  104. depends on MFD_LP3943
  105. help
  106. Generic PWM framework driver for LP3943 which supports two PWM
  107. channels.
  108. To compile this driver as a module, choose M here: the module
  109. will be called pwm-lp3943.
  110. config PWM_LPC32XX
  111. tristate "LPC32XX PWM support"
  112. depends on ARCH_LPC32XX
  113. help
  114. Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two
  115. PWM controllers.
  116. To compile this driver as a module, choose M here: the module
  117. will be called pwm-lpc32xx.
  118. config PWM_LPSS
  119. tristate "Intel LPSS PWM support"
  120. depends on ACPI
  121. help
  122. Generic PWM framework driver for Intel Low Power Subsystem PWM
  123. controller.
  124. To compile this driver as a module, choose M here: the module
  125. will be called pwm-lpss.
  126. config PWM_MXS
  127. tristate "Freescale MXS PWM support"
  128. depends on ARCH_MXS && OF
  129. select STMP_DEVICE
  130. help
  131. Generic PWM framework driver for Freescale MXS.
  132. To compile this driver as a module, choose M here: the module
  133. will be called pwm-mxs.
  134. config PWM_PCA9685
  135. tristate "NXP PCA9685 PWM driver"
  136. depends on OF && I2C
  137. select REGMAP_I2C
  138. help
  139. Generic PWM framework driver for NXP PCA9685 LED controller.
  140. To compile this driver as a module, choose M here: the module
  141. will be called pwm-pca9685.
  142. config PWM_PUV3
  143. tristate "PKUnity NetBook-0916 PWM support"
  144. depends on ARCH_PUV3
  145. help
  146. Generic PWM framework driver for PKUnity NetBook-0916.
  147. To compile this driver as a module, choose M here: the module
  148. will be called pwm-puv3.
  149. config PWM_PXA
  150. tristate "PXA PWM support"
  151. depends on ARCH_PXA
  152. help
  153. Generic PWM framework driver for PXA.
  154. To compile this driver as a module, choose M here: the module
  155. will be called pwm-pxa.
  156. config PWM_RENESAS_TPU
  157. tristate "Renesas TPU PWM support"
  158. depends on ARCH_SHMOBILE || COMPILE_TEST
  159. depends on HAS_IOMEM
  160. help
  161. This driver exposes the Timer Pulse Unit (TPU) PWM controller found
  162. in Renesas chips through the PWM API.
  163. To compile this driver as a module, choose M here: the module
  164. will be called pwm-renesas-tpu.
  165. config PWM_SAMSUNG
  166. tristate "Samsung PWM support"
  167. depends on PLAT_SAMSUNG
  168. help
  169. Generic PWM framework driver for Samsung.
  170. To compile this driver as a module, choose M here: the module
  171. will be called pwm-samsung.
  172. config PWM_SPEAR
  173. tristate "STMicroelectronics SPEAr PWM support"
  174. depends on PLAT_SPEAR
  175. depends on OF
  176. help
  177. Generic PWM framework driver for the PWM controller on ST
  178. SPEAr SoCs.
  179. To compile this driver as a module, choose M here: the module
  180. will be called pwm-spear.
  181. config PWM_TEGRA
  182. tristate "NVIDIA Tegra PWM support"
  183. depends on ARCH_TEGRA
  184. help
  185. Generic PWM framework driver for the PWFM controller found on NVIDIA
  186. Tegra SoCs.
  187. To compile this driver as a module, choose M here: the module
  188. will be called pwm-tegra.
  189. config PWM_TIECAP
  190. tristate "ECAP PWM support"
  191. depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX
  192. help
  193. PWM driver support for the ECAP APWM controller found on AM33XX
  194. TI SOC
  195. To compile this driver as a module, choose M here: the module
  196. will be called pwm-tiecap.
  197. config PWM_TIEHRPWM
  198. tristate "EHRPWM PWM support"
  199. depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX
  200. help
  201. PWM driver support for the EHRPWM controller found on AM33XX
  202. TI SOC
  203. To compile this driver as a module, choose M here: the module
  204. will be called pwm-tiehrpwm.
  205. config PWM_TIPWMSS
  206. bool
  207. default y if SOC_AM33XX && (PWM_TIECAP || PWM_TIEHRPWM)
  208. help
  209. PWM Subsystem driver support for AM33xx SOC.
  210. PWM submodules require PWM config space access from submodule
  211. drivers and require common parent driver support.
  212. config PWM_TWL
  213. tristate "TWL4030/6030 PWM support"
  214. depends on TWL4030_CORE
  215. help
  216. Generic PWM framework driver for TWL4030/6030.
  217. To compile this driver as a module, choose M here: the module
  218. will be called pwm-twl.
  219. config PWM_TWL_LED
  220. tristate "TWL4030/6030 PWM support for LED drivers"
  221. depends on TWL4030_CORE
  222. help
  223. Generic PWM framework driver for TWL4030/6030 LED terminals.
  224. To compile this driver as a module, choose M here: the module
  225. will be called pwm-twl-led.
  226. config PWM_VT8500
  227. tristate "vt8500 PWM support"
  228. depends on ARCH_VT8500
  229. help
  230. Generic PWM framework driver for vt8500.
  231. To compile this driver as a module, choose M here: the module
  232. will be called pwm-vt8500.
  233. endif