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