1menuconfig PWM 2 bool "Pulse-Width Modulation (PWM) Support" 3 help 4 Generic Pulse-Width Modulation (PWM) support. 5 6 In Pulse-Width Modulation, a variation of the width of pulses 7 in a rectangular pulse signal is used as a means to alter the 8 average power of the signal. Applications include efficient 9 power delivery and voltage regulation. In computer systems, 10 PWMs are commonly used to control fans or the brightness of 11 display backlights. 12 13 This framework provides a generic interface to PWM devices 14 within the Linux kernel. On the driver side it provides an API 15 to register and unregister a PWM chip, an abstraction of a PWM 16 controller, that supports one or more PWM devices. Client 17 drivers can request PWM devices and use the generic framework 18 to configure as well as enable and disable them. 19 20 This generic framework replaces the legacy PWM framework which 21 allows only a single driver implementing the required API. Not 22 all legacy implementations have been ported to the framework 23 yet. The framework provides an API that is backward compatible 24 with the legacy framework so that existing client drivers 25 continue to work as expected. 26 27 If unsure, say no. 28 29if PWM 30 31config PWM_SYSFS 32 bool 33 default y if SYSFS 34 35config PWM_AB8500 36 tristate "AB8500 PWM support" 37 depends on AB8500_CORE && ARCH_U8500 38 help 39 Generic PWM framework driver for Analog Baseband AB8500. 40 41 To compile this driver as a module, choose M here: the module 42 will be called pwm-ab8500. 43 44config PWM_ATMEL 45 tristate "Atmel PWM support" 46 depends on ARCH_AT91 || AVR32 47 help 48 Generic PWM framework driver for Atmel SoC. 49 50 To compile this driver as a module, choose M here: the module 51 will be called pwm-atmel. 52 53config PWM_ATMEL_TCB 54 tristate "Atmel TC Block PWM support" 55 depends on ATMEL_TCLIB && OF 56 help 57 Generic PWM framework driver for Atmel Timer Counter Block. 58 59 A Timer Counter Block provides 6 PWM devices grouped by 2. 60 Devices in a given group must have the same period. 61 62 To compile this driver as a module, choose M here: the module 63 will be called pwm-atmel-tcb. 64 65config PWM_BCM_KONA 66 tristate "Kona PWM support" 67 depends on ARCH_BCM_MOBILE 68 help 69 Generic PWM framework driver for Broadcom Kona PWM block. 70 71 To compile this driver as a module, choose M here: the module 72 will be called pwm-bcm-kona. 73 74config PWM_BFIN 75 tristate "Blackfin PWM support" 76 depends on BFIN_GPTIMERS 77 help 78 Generic PWM framework driver for Blackfin. 79 80 To compile this driver as a module, choose M here: the module 81 will be called pwm-bfin. 82 83config PWM_CLPS711X 84 tristate "CLPS711X PWM support" 85 depends on ARCH_CLPS711X || COMPILE_TEST 86 depends on HAS_IOMEM 87 help 88 Generic PWM framework driver for Cirrus Logic CLPS711X. 89 90 To compile this driver as a module, choose M here: the module 91 will be called pwm-clps711x. 92 93config PWM_EP93XX 94 tristate "Cirrus Logic EP93xx PWM support" 95 depends on ARCH_EP93XX 96 help 97 Generic PWM framework driver for Cirrus Logic EP93xx. 98 99 To compile this driver as a module, choose M here: the module 100 will be called pwm-ep93xx. 101 102config PWM_FSL_FTM 103 tristate "Freescale FlexTimer Module (FTM) PWM support" 104 depends on OF 105 select REGMAP_MMIO 106 help 107 Generic FTM PWM framework driver for Freescale VF610 and 108 Layerscape LS-1 SoCs. 109 110 To compile this driver as a module, choose M here: the module 111 will be called pwm-fsl-ftm. 112 113config PWM_IMX 114 tristate "i.MX PWM support" 115 depends on ARCH_MXC 116 help 117 Generic PWM framework driver for i.MX. 118 119 To compile this driver as a module, choose M here: the module 120 will be called pwm-imx. 121 122config PWM_JZ4740 123 tristate "Ingenic JZ4740 PWM support" 124 depends on MACH_JZ4740 125 help 126 Generic PWM framework driver for Ingenic JZ4740 based 127 machines. 128 129 To compile this driver as a module, choose M here: the module 130 will be called pwm-jz4740. 131 132config PWM_LP3943 133 tristate "TI/National Semiconductor LP3943 PWM support" 134 depends on MFD_LP3943 135 help 136 Generic PWM framework driver for LP3943 which supports two PWM 137 channels. 138 139 To compile this driver as a module, choose M here: the module 140 will be called pwm-lp3943. 141 142config PWM_LPC32XX 143 tristate "LPC32XX PWM support" 144 depends on ARCH_LPC32XX 145 help 146 Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two 147 PWM controllers. 148 149 To compile this driver as a module, choose M here: the module 150 will be called pwm-lpc32xx. 151 152config PWM_LPSS 153 tristate "Intel LPSS PWM support" 154 depends on X86 155 help 156 Generic PWM framework driver for Intel Low Power Subsystem PWM 157 controller. 158 159 To compile this driver as a module, choose M here: the module 160 will be called pwm-lpss. 161 162config PWM_LPSS_PCI 163 tristate "Intel LPSS PWM PCI driver" 164 depends on PWM_LPSS && PCI 165 help 166 The PCI driver for Intel Low Power Subsystem PWM controller. 167 168 To compile this driver as a module, choose M here: the module 169 will be called pwm-lpss-pci. 170 171config PWM_LPSS_PLATFORM 172 tristate "Intel LPSS PWM platform driver" 173 depends on PWM_LPSS && ACPI 174 help 175 The platform driver for Intel Low Power Subsystem PWM controller. 176 177 To compile this driver as a module, choose M here: the module 178 will be called pwm-lpss-platform. 179 180config PWM_MXS 181 tristate "Freescale MXS PWM support" 182 depends on ARCH_MXS && OF 183 select STMP_DEVICE 184 help 185 Generic PWM framework driver for Freescale MXS. 186 187 To compile this driver as a module, choose M here: the module 188 will be called pwm-mxs. 189 190config PWM_PCA9685 191 tristate "NXP PCA9685 PWM driver" 192 depends on OF && I2C 193 select REGMAP_I2C 194 help 195 Generic PWM framework driver for NXP PCA9685 LED controller. 196 197 To compile this driver as a module, choose M here: the module 198 will be called pwm-pca9685. 199 200config PWM_PUV3 201 tristate "PKUnity NetBook-0916 PWM support" 202 depends on ARCH_PUV3 203 help 204 Generic PWM framework driver for PKUnity NetBook-0916. 205 206 To compile this driver as a module, choose M here: the module 207 will be called pwm-puv3. 208 209config PWM_PXA 210 tristate "PXA PWM support" 211 depends on ARCH_PXA 212 help 213 Generic PWM framework driver for PXA. 214 215 To compile this driver as a module, choose M here: the module 216 will be called pwm-pxa. 217 218config PWM_RENESAS_TPU 219 tristate "Renesas TPU PWM support" 220 depends on ARCH_SHMOBILE || COMPILE_TEST 221 depends on HAS_IOMEM 222 help 223 This driver exposes the Timer Pulse Unit (TPU) PWM controller found 224 in Renesas chips through the PWM API. 225 226 To compile this driver as a module, choose M here: the module 227 will be called pwm-renesas-tpu. 228 229config PWM_ROCKCHIP 230 tristate "Rockchip PWM support" 231 depends on ARCH_ROCKCHIP 232 help 233 Generic PWM framework driver for the PWM controller found on 234 Rockchip SoCs. 235 236config PWM_SAMSUNG 237 tristate "Samsung PWM support" 238 depends on PLAT_SAMSUNG 239 help 240 Generic PWM framework driver for Samsung. 241 242 To compile this driver as a module, choose M here: the module 243 will be called pwm-samsung. 244 245config PWM_SPEAR 246 tristate "STMicroelectronics SPEAr PWM support" 247 depends on PLAT_SPEAR 248 depends on OF 249 help 250 Generic PWM framework driver for the PWM controller on ST 251 SPEAr SoCs. 252 253 To compile this driver as a module, choose M here: the module 254 will be called pwm-spear. 255 256config PWM_STI 257 tristate "STiH4xx PWM support" 258 depends on ARCH_STI 259 depends on OF 260 help 261 Generic PWM framework driver for STiH4xx SoCs. 262 263 To compile this driver as a module, choose M here: the module 264 will be called pwm-sti. 265 266config PWM_TEGRA 267 tristate "NVIDIA Tegra PWM support" 268 depends on ARCH_TEGRA 269 help 270 Generic PWM framework driver for the PWFM controller found on NVIDIA 271 Tegra SoCs. 272 273 To compile this driver as a module, choose M here: the module 274 will be called pwm-tegra. 275 276config PWM_TIECAP 277 tristate "ECAP PWM support" 278 depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX 279 help 280 PWM driver support for the ECAP APWM controller found on AM33XX 281 TI SOC 282 283 To compile this driver as a module, choose M here: the module 284 will be called pwm-tiecap. 285 286config PWM_TIEHRPWM 287 tristate "EHRPWM PWM support" 288 depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX 289 help 290 PWM driver support for the EHRPWM controller found on AM33XX 291 TI SOC 292 293 To compile this driver as a module, choose M here: the module 294 will be called pwm-tiehrpwm. 295 296config PWM_TIPWMSS 297 bool 298 default y if SOC_AM33XX && (PWM_TIECAP || PWM_TIEHRPWM) 299 help 300 PWM Subsystem driver support for AM33xx SOC. 301 302 PWM submodules require PWM config space access from submodule 303 drivers and require common parent driver support. 304 305config PWM_TWL 306 tristate "TWL4030/6030 PWM support" 307 depends on TWL4030_CORE 308 help 309 Generic PWM framework driver for TWL4030/6030. 310 311 To compile this driver as a module, choose M here: the module 312 will be called pwm-twl. 313 314config PWM_TWL_LED 315 tristate "TWL4030/6030 PWM support for LED drivers" 316 depends on TWL4030_CORE 317 help 318 Generic PWM framework driver for TWL4030/6030 LED terminals. 319 320 To compile this driver as a module, choose M here: the module 321 will be called pwm-twl-led. 322 323config PWM_VT8500 324 tristate "vt8500 PWM support" 325 depends on ARCH_VT8500 326 help 327 Generic PWM framework driver for vt8500. 328 329 To compile this driver as a module, choose M here: the module 330 will be called pwm-vt8500. 331 332endif 333