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