xref: /linux/drivers/pwm/Kconfig (revision c75c5ab575af7db707689cdbb5a5c458e9a034bb)
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_AB8500
32	tristate "AB8500 PWM support"
33	depends on AB8500_CORE && ARCH_U8500
34	help
35	  Generic PWM framework driver for Analog Baseband AB8500.
36
37	  To compile this driver as a module, choose M here: the module
38	  will be called pwm-ab8500.
39
40config PWM_ATMEL_TCB
41	tristate "Atmel TC Block PWM support"
42	depends on ATMEL_TCLIB && OF
43	help
44	  Generic PWM framework driver for Atmel Timer Counter Block.
45
46	  A Timer Counter Block provides 6 PWM devices grouped by 2.
47	  Devices in a given group must have the same period.
48
49	  To compile this driver as a module, choose M here: the module
50	  will be called pwm-atmel-tcb.
51
52config PWM_BFIN
53	tristate "Blackfin PWM support"
54	depends on BFIN_GPTIMERS
55	help
56	  Generic PWM framework driver for Blackfin.
57
58	  To compile this driver as a module, choose M here: the module
59	  will be called pwm-bfin.
60
61config PWM_IMX
62	tristate "i.MX PWM support"
63	depends on ARCH_MXC
64	help
65	  Generic PWM framework driver for i.MX.
66
67	  To compile this driver as a module, choose M here: the module
68	  will be called pwm-imx.
69
70config PWM_JZ4740
71	tristate "Ingenic JZ4740 PWM support"
72	depends on MACH_JZ4740
73	help
74	  Generic PWM framework driver for Ingenic JZ4740 based
75	  machines.
76
77	  To compile this driver as a module, choose M here: the module
78	  will be called pwm-jz4740.
79
80config PWM_LPC32XX
81	tristate "LPC32XX PWM support"
82	depends on ARCH_LPC32XX
83	help
84	  Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two
85	  PWM controllers.
86
87	  To compile this driver as a module, choose M here: the module
88	  will be called pwm-lpc32xx.
89
90config PWM_MXS
91	tristate "Freescale MXS PWM support"
92	depends on ARCH_MXS && OF
93	select STMP_DEVICE
94	help
95	  Generic PWM framework driver for Freescale MXS.
96
97	  To compile this driver as a module, choose M here: the module
98	  will be called pwm-mxs.
99
100config PWM_PUV3
101	tristate "PKUnity NetBook-0916 PWM support"
102	depends on ARCH_PUV3
103	help
104	  Generic PWM framework driver for PKUnity NetBook-0916.
105
106	  To compile this driver as a module, choose M here: the module
107	  will be called pwm-puv3.
108
109config PWM_PXA
110	tristate "PXA PWM support"
111	depends on ARCH_PXA
112	help
113	  Generic PWM framework driver for PXA.
114
115	  To compile this driver as a module, choose M here: the module
116	  will be called pwm-pxa.
117
118config PWM_SAMSUNG
119	tristate "Samsung PWM support"
120	depends on PLAT_SAMSUNG
121	help
122	  Generic PWM framework driver for Samsung.
123
124	  To compile this driver as a module, choose M here: the module
125	  will be called pwm-samsung.
126
127config PWM_SPEAR
128	tristate "STMicroelectronics SPEAr PWM support"
129	depends on PLAT_SPEAR
130	depends on OF
131	help
132	  Generic PWM framework driver for the PWM controller on ST
133	  SPEAr SoCs.
134
135	  To compile this driver as a module, choose M here: the module
136	  will be called pwm-spear.
137
138config PWM_TEGRA
139	tristate "NVIDIA Tegra PWM support"
140	depends on ARCH_TEGRA
141	help
142	  Generic PWM framework driver for the PWFM controller found on NVIDIA
143	  Tegra SoCs.
144
145	  To compile this driver as a module, choose M here: the module
146	  will be called pwm-tegra.
147
148config  PWM_TIECAP
149	tristate "ECAP PWM support"
150	depends on SOC_AM33XX
151	select PWM_TIPWMSS
152	help
153	  PWM driver support for the ECAP APWM controller found on AM33XX
154	  TI SOC
155
156	  To compile this driver as a module, choose M here: the module
157	  will be called pwm-tiecap.
158
159config  PWM_TIEHRPWM
160	tristate "EHRPWM PWM support"
161	depends on SOC_AM33XX
162	select PWM_TIPWMSS
163	help
164	  PWM driver support for the EHRPWM controller found on AM33XX
165	  TI SOC
166
167	  To compile this driver as a module, choose M here: the module
168	  will be called pwm-tiehrpwm.
169
170config  PWM_TIPWMSS
171	bool
172	depends on SOC_AM33XX && (PWM_TIEHRPWM || PWM_TIECAP)
173	help
174	  PWM Subsystem driver support for AM33xx SOC.
175
176	  PWM submodules require PWM config space access from submodule
177	  drivers and require common parent driver support.
178
179config PWM_TWL
180	tristate "TWL4030/6030 PWM support"
181	depends on TWL4030_CORE
182	help
183	  Generic PWM framework driver for TWL4030/6030.
184
185	  To compile this driver as a module, choose M here: the module
186	  will be called pwm-twl.
187
188config PWM_TWL_LED
189	tristate "TWL4030/6030 PWM support for LED drivers"
190	depends on TWL4030_CORE
191	help
192	  Generic PWM framework driver for TWL4030/6030 LED terminals.
193
194	  To compile this driver as a module, choose M here: the module
195	  will be called pwm-twl-led.
196
197config PWM_VT8500
198	tristate "vt8500 PWM support"
199	depends on ARCH_VT8500
200	help
201	  Generic PWM framework driver for vt8500.
202
203	  To compile this driver as a module, choose M here: the module
204	  will be called pwm-vt8500.
205
206endif
207