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 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 help 87 Generic PWM framework driver for Cirrus Logic CLPS711X. 88 89 To compile this driver as a module, choose M here: the module 90 will be called pwm-clps711x. 91 92config PWM_EP93XX 93 tristate "Cirrus Logic EP93xx PWM support" 94 depends on ARCH_EP93XX 95 help 96 Generic PWM framework driver for Cirrus Logic EP93xx. 97 98 To compile this driver as a module, choose M here: the module 99 will be called pwm-ep93xx. 100 101config PWM_FSL_FTM 102 tristate "Freescale FlexTimer Module (FTM) PWM support" 103 depends on OF 104 help 105 Generic FTM PWM framework driver for Freescale VF610 and 106 Layerscape LS-1 SoCs. 107 108 To compile this driver as a module, choose M here: the module 109 will be called pwm-fsl-ftm. 110 111config PWM_IMX 112 tristate "i.MX PWM support" 113 depends on ARCH_MXC 114 help 115 Generic PWM framework driver for i.MX. 116 117 To compile this driver as a module, choose M here: the module 118 will be called pwm-imx. 119 120config PWM_JZ4740 121 tristate "Ingenic JZ4740 PWM support" 122 depends on MACH_JZ4740 123 help 124 Generic PWM framework driver for Ingenic JZ4740 based 125 machines. 126 127 To compile this driver as a module, choose M here: the module 128 will be called pwm-jz4740. 129 130config PWM_LP3943 131 tristate "TI/National Semiconductor LP3943 PWM support" 132 depends on MFD_LP3943 133 help 134 Generic PWM framework driver for LP3943 which supports two PWM 135 channels. 136 137 To compile this driver as a module, choose M here: the module 138 will be called pwm-lp3943. 139 140config PWM_LPC32XX 141 tristate "LPC32XX PWM support" 142 depends on ARCH_LPC32XX 143 help 144 Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two 145 PWM controllers. 146 147 To compile this driver as a module, choose M here: the module 148 will be called pwm-lpc32xx. 149 150config PWM_LPSS 151 tristate "Intel LPSS PWM support" 152 depends on ACPI 153 help 154 Generic PWM framework driver for Intel Low Power Subsystem PWM 155 controller. 156 157 To compile this driver as a module, choose M here: the module 158 will be called pwm-lpss. 159 160config PWM_MXS 161 tristate "Freescale MXS PWM support" 162 depends on ARCH_MXS && OF 163 select STMP_DEVICE 164 help 165 Generic PWM framework driver for Freescale MXS. 166 167 To compile this driver as a module, choose M here: the module 168 will be called pwm-mxs. 169 170config PWM_PCA9685 171 tristate "NXP PCA9685 PWM driver" 172 depends on OF && I2C 173 select REGMAP_I2C 174 help 175 Generic PWM framework driver for NXP PCA9685 LED controller. 176 177 To compile this driver as a module, choose M here: the module 178 will be called pwm-pca9685. 179 180config PWM_PUV3 181 tristate "PKUnity NetBook-0916 PWM support" 182 depends on ARCH_PUV3 183 help 184 Generic PWM framework driver for PKUnity NetBook-0916. 185 186 To compile this driver as a module, choose M here: the module 187 will be called pwm-puv3. 188 189config PWM_PXA 190 tristate "PXA PWM support" 191 depends on ARCH_PXA 192 help 193 Generic PWM framework driver for PXA. 194 195 To compile this driver as a module, choose M here: the module 196 will be called pwm-pxa. 197 198config PWM_RENESAS_TPU 199 tristate "Renesas TPU PWM support" 200 depends on ARCH_SHMOBILE || COMPILE_TEST 201 depends on HAS_IOMEM 202 help 203 This driver exposes the Timer Pulse Unit (TPU) PWM controller found 204 in Renesas chips through the PWM API. 205 206 To compile this driver as a module, choose M here: the module 207 will be called pwm-renesas-tpu. 208 209config PWM_SAMSUNG 210 tristate "Samsung PWM support" 211 depends on PLAT_SAMSUNG 212 help 213 Generic PWM framework driver for Samsung. 214 215 To compile this driver as a module, choose M here: the module 216 will be called pwm-samsung. 217 218config PWM_SPEAR 219 tristate "STMicroelectronics SPEAr PWM support" 220 depends on PLAT_SPEAR 221 depends on OF 222 help 223 Generic PWM framework driver for the PWM controller on ST 224 SPEAr SoCs. 225 226 To compile this driver as a module, choose M here: the module 227 will be called pwm-spear. 228 229config PWM_TEGRA 230 tristate "NVIDIA Tegra PWM support" 231 depends on ARCH_TEGRA 232 help 233 Generic PWM framework driver for the PWFM controller found on NVIDIA 234 Tegra SoCs. 235 236 To compile this driver as a module, choose M here: the module 237 will be called pwm-tegra. 238 239config PWM_TIECAP 240 tristate "ECAP PWM support" 241 depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX 242 help 243 PWM driver support for the ECAP APWM controller found on AM33XX 244 TI SOC 245 246 To compile this driver as a module, choose M here: the module 247 will be called pwm-tiecap. 248 249config PWM_TIEHRPWM 250 tristate "EHRPWM PWM support" 251 depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX 252 help 253 PWM driver support for the EHRPWM controller found on AM33XX 254 TI SOC 255 256 To compile this driver as a module, choose M here: the module 257 will be called pwm-tiehrpwm. 258 259config PWM_TIPWMSS 260 bool 261 default y if SOC_AM33XX && (PWM_TIECAP || PWM_TIEHRPWM) 262 help 263 PWM Subsystem driver support for AM33xx SOC. 264 265 PWM submodules require PWM config space access from submodule 266 drivers and require common parent driver support. 267 268config PWM_TWL 269 tristate "TWL4030/6030 PWM support" 270 depends on TWL4030_CORE 271 help 272 Generic PWM framework driver for TWL4030/6030. 273 274 To compile this driver as a module, choose M here: the module 275 will be called pwm-twl. 276 277config PWM_TWL_LED 278 tristate "TWL4030/6030 PWM support for LED drivers" 279 depends on TWL4030_CORE 280 help 281 Generic PWM framework driver for TWL4030/6030 LED terminals. 282 283 To compile this driver as a module, choose M here: the module 284 will be called pwm-twl-led. 285 286config PWM_VT8500 287 tristate "vt8500 PWM support" 288 depends on ARCH_VT8500 289 help 290 Generic PWM framework driver for vt8500. 291 292 To compile this driver as a module, choose M here: the module 293 will be called pwm-vt8500. 294 295endif 296