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_EP93XX 75 tristate "Cirrus Logic EP93xx PWM support" 76 depends on ARCH_EP93XX 77 help 78 Generic PWM framework driver for Cirrus Logic EP93xx. 79 80 To compile this driver as a module, choose M here: the module 81 will be called pwm-ep93xx. 82 83config PWM_IMX 84 tristate "i.MX PWM support" 85 depends on ARCH_MXC 86 help 87 Generic PWM framework driver for i.MX. 88 89 To compile this driver as a module, choose M here: the module 90 will be called pwm-imx. 91 92config PWM_JZ4740 93 tristate "Ingenic JZ4740 PWM support" 94 depends on MACH_JZ4740 95 help 96 Generic PWM framework driver for Ingenic JZ4740 based 97 machines. 98 99 To compile this driver as a module, choose M here: the module 100 will be called pwm-jz4740. 101 102config 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 109 To compile this driver as a module, choose M here: the module 110 will be called pwm-lp3943. 111 112config PWM_LPC32XX 113 tristate "LPC32XX PWM support" 114 depends on ARCH_LPC32XX 115 help 116 Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two 117 PWM controllers. 118 119 To compile this driver as a module, choose M here: the module 120 will be called pwm-lpc32xx. 121 122config PWM_MXS 123 tristate "Freescale MXS PWM support" 124 depends on ARCH_MXS && OF 125 select STMP_DEVICE 126 help 127 Generic PWM framework driver for Freescale MXS. 128 129 To compile this driver as a module, choose M here: the module 130 will be called pwm-mxs. 131 132config PWM_PCA9685 133 tristate "NXP PCA9685 PWM driver" 134 depends on OF && I2C 135 select REGMAP_I2C 136 help 137 Generic PWM framework driver for NXP PCA9685 LED controller. 138 139 To compile this driver as a module, choose M here: the module 140 will be called pwm-pca9685. 141 142config 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 148 To compile this driver as a module, choose M here: the module 149 will be called pwm-puv3. 150 151config PWM_PXA 152 tristate "PXA PWM support" 153 depends on ARCH_PXA 154 help 155 Generic PWM framework driver for PXA. 156 157 To compile this driver as a module, choose M here: the module 158 will be called pwm-pxa. 159 160config PWM_RENESAS_TPU 161 tristate "Renesas TPU PWM support" 162 depends on ARCH_SHMOBILE || COMPILE_TEST 163 help 164 This driver exposes the Timer Pulse Unit (TPU) PWM controller found 165 in Renesas chips through the PWM API. 166 167 To compile this driver as a module, choose M here: the module 168 will be called pwm-renesas-tpu. 169 170config PWM_SAMSUNG 171 tristate "Samsung PWM support" 172 depends on PLAT_SAMSUNG 173 help 174 Generic PWM framework driver for Samsung. 175 176 To compile this driver as a module, choose M here: the module 177 will be called pwm-samsung. 178 179config PWM_SPEAR 180 tristate "STMicroelectronics SPEAr PWM support" 181 depends on PLAT_SPEAR 182 depends on OF 183 help 184 Generic PWM framework driver for the PWM controller on ST 185 SPEAr SoCs. 186 187 To compile this driver as a module, choose M here: the module 188 will be called pwm-spear. 189 190config PWM_TEGRA 191 tristate "NVIDIA Tegra PWM support" 192 depends on ARCH_TEGRA 193 help 194 Generic PWM framework driver for the PWFM controller found on NVIDIA 195 Tegra SoCs. 196 197 To compile this driver as a module, choose M here: the module 198 will be called pwm-tegra. 199 200config PWM_TIECAP 201 tristate "ECAP PWM support" 202 depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX 203 help 204 PWM driver support for the ECAP APWM controller found on AM33XX 205 TI SOC 206 207 To compile this driver as a module, choose M here: the module 208 will be called pwm-tiecap. 209 210config PWM_TIEHRPWM 211 tristate "EHRPWM PWM support" 212 depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX 213 help 214 PWM driver support for the EHRPWM controller found on AM33XX 215 TI SOC 216 217 To compile this driver as a module, choose M here: the module 218 will be called pwm-tiehrpwm. 219 220config PWM_TIPWMSS 221 bool 222 default y if SOC_AM33XX && (PWM_TIECAP || PWM_TIEHRPWM) 223 help 224 PWM Subsystem driver support for AM33xx SOC. 225 226 PWM submodules require PWM config space access from submodule 227 drivers and require common parent driver support. 228 229config PWM_TWL 230 tristate "TWL4030/6030 PWM support" 231 depends on TWL4030_CORE 232 help 233 Generic PWM framework driver for TWL4030/6030. 234 235 To compile this driver as a module, choose M here: the module 236 will be called pwm-twl. 237 238config PWM_TWL_LED 239 tristate "TWL4030/6030 PWM support for LED drivers" 240 depends on TWL4030_CORE 241 help 242 Generic PWM framework driver for TWL4030/6030 LED terminals. 243 244 To compile this driver as a module, choose M here: the module 245 will be called pwm-twl-led. 246 247config PWM_VT8500 248 tristate "vt8500 PWM support" 249 depends on ARCH_VT8500 250 help 251 Generic PWM framework driver for vt8500. 252 253 To compile this driver as a module, choose M here: the module 254 will be called pwm-vt8500. 255 256endif 257