]>
Commit | Line | Data |
---|---|---|
0c2498f1 | 1 | menuconfig PWM |
b817bf5c | 2 | bool "Pulse-Width Modulation (PWM) Support" |
0c2498f1 | 3 | help |
b817bf5c | 4 | Generic Pulse-Width Modulation (PWM) support. |
0c2498f1 | 5 | |
b817bf5c TR |
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. | |
0c2498f1 SH |
28 | |
29 | if PWM | |
30 | ||
76abbdde HS |
31 | config PWM_SYSFS |
32 | bool | |
33 | default y if SYSFS | |
34 | ||
6173f8f4 TR |
35 | config 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 | ||
32b16d46 BS |
44 | config 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 | ||
9421bade | 53 | config PWM_ATMEL_TCB |
b133d2a1 | 54 | tristate "Atmel TC Block PWM support" |
9421bade BB |
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 | ||
a4315e3c TR |
65 | config 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 | ||
7eb3f6ff AS |
74 | config 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 | ||
a2308698 HS |
83 | config 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 | ||
b505183b XL |
92 | config 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 | ||
29693248 | 102 | config PWM_IMX |
b133d2a1 | 103 | tristate "i.MX PWM support" |
29693248 SH |
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 | ||
f6b8a570 TR |
111 | config 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 | ||
af66b3c0 MK |
121 | config 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 | ||
2132fa8d APS |
131 | config 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 | ||
d16a5aa9 MW |
141 | config 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 | ||
4dce82c1 SG |
151 | config PWM_MXS |
152 | tristate "Freescale MXS PWM support" | |
153 | depends on ARCH_MXS && OF | |
01bf32e9 | 154 | select STMP_DEVICE |
4dce82c1 SG |
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 | ||
88b613e6 ST |
161 | config PWM_PCA9685 |
162 | tristate "NXP PCA9685 PWM driver" | |
2c80a492 AL |
163 | depends on OF && I2C |
164 | select REGMAP_I2C | |
88b613e6 ST |
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 | ||
79c11b6f TR |
171 | config 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 | ||
17b2b478 TR |
180 | config 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 | ||
99b82abb LP |
189 | config PWM_RENESAS_TPU |
190 | tristate "Renesas TPU PWM support" | |
94d88d63 | 191 | depends on ARCH_SHMOBILE || COMPILE_TEST |
2974b098 | 192 | depends on HAS_IOMEM |
99b82abb LP |
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 | ||
215c29d3 | 200 | config PWM_SAMSUNG |
b133d2a1 | 201 | tristate "Samsung PWM support" |
215c29d3 SH |
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 | ||
ce20364b SH |
209 | config 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 | ||
0134b932 TR |
220 | config 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 | ||
8e0cb05b PA |
230 | config PWM_TIECAP |
231 | tristate "ECAP PWM support" | |
1bf0f20b | 232 | depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX |
8e0cb05b PA |
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 | ||
19891b20 PA |
240 | config PWM_TIEHRPWM |
241 | tristate "EHRPWM PWM support" | |
1bf0f20b | 242 | depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX |
19891b20 PA |
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 | ||
af0ba001 PA |
250 | config PWM_TIPWMSS |
251 | bool | |
1bf0f20b | 252 | default y if SOC_AM33XX && (PWM_TIECAP || PWM_TIEHRPWM) |
af0ba001 PA |
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 | ||
3744c263 PU |
259 | config 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 | ||
aa765647 PU |
268 | config 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 | ||
a245cceb | 277 | config PWM_VT8500 |
b133d2a1 | 278 | tristate "vt8500 PWM support" |
a245cceb SH |
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 | ||
0c2498f1 | 286 | endif |