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