pwm: add pca9685 driver
[firefly-linux-kernel-4.4.55.git] / drivers / pwm / Kconfig
1 menuconfig 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
29 if PWM
30
31 config 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
40 config 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
52 config 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
61 config 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
70 config 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
80 config 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
90 config 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
100 config PWM_PCA9685
101         tristate "NXP PCA9685 PWM driver"
102         depends on OF && REGMAP_I2C
103         help
104           Generic PWM framework driver for NXP PCA9685 LED controller.
105
106           To compile this driver as a module, choose M here: the module
107           will be called pwm-pca9685.
108
109 config PWM_PUV3
110         tristate "PKUnity NetBook-0916 PWM support"
111         depends on ARCH_PUV3
112         help
113           Generic PWM framework driver for PKUnity NetBook-0916.
114
115           To compile this driver as a module, choose M here: the module
116           will be called pwm-puv3.
117
118 config PWM_PXA
119         tristate "PXA PWM support"
120         depends on ARCH_PXA
121         help
122           Generic PWM framework driver for PXA.
123
124           To compile this driver as a module, choose M here: the module
125           will be called pwm-pxa.
126
127 config PWM_SAMSUNG
128         tristate "Samsung PWM support"
129         depends on PLAT_SAMSUNG
130         help
131           Generic PWM framework driver for Samsung.
132
133           To compile this driver as a module, choose M here: the module
134           will be called pwm-samsung.
135
136 config PWM_SPEAR
137         tristate "STMicroelectronics SPEAr PWM support"
138         depends on PLAT_SPEAR
139         depends on OF
140         help
141           Generic PWM framework driver for the PWM controller on ST
142           SPEAr SoCs.
143
144           To compile this driver as a module, choose M here: the module
145           will be called pwm-spear.
146
147 config PWM_TEGRA
148         tristate "NVIDIA Tegra PWM support"
149         depends on ARCH_TEGRA
150         help
151           Generic PWM framework driver for the PWFM controller found on NVIDIA
152           Tegra SoCs.
153
154           To compile this driver as a module, choose M here: the module
155           will be called pwm-tegra.
156
157 config  PWM_TIECAP
158         tristate "ECAP PWM support"
159         depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX
160         help
161           PWM driver support for the ECAP APWM controller found on AM33XX
162           TI SOC
163
164           To compile this driver as a module, choose M here: the module
165           will be called pwm-tiecap.
166
167 config  PWM_TIEHRPWM
168         tristate "EHRPWM PWM support"
169         depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX
170         help
171           PWM driver support for the EHRPWM controller found on AM33XX
172           TI SOC
173
174           To compile this driver as a module, choose M here: the module
175           will be called pwm-tiehrpwm.
176
177 config  PWM_TIPWMSS
178         bool
179         default y if SOC_AM33XX && (PWM_TIECAP || PWM_TIEHRPWM)
180         help
181           PWM Subsystem driver support for AM33xx SOC.
182
183           PWM submodules require PWM config space access from submodule
184           drivers and require common parent driver support.
185
186 config PWM_TWL
187         tristate "TWL4030/6030 PWM support"
188         depends on TWL4030_CORE
189         help
190           Generic PWM framework driver for TWL4030/6030.
191
192           To compile this driver as a module, choose M here: the module
193           will be called pwm-twl.
194
195 config PWM_TWL_LED
196         tristate "TWL4030/6030 PWM support for LED drivers"
197         depends on TWL4030_CORE
198         help
199           Generic PWM framework driver for TWL4030/6030 LED terminals.
200
201           To compile this driver as a module, choose M here: the module
202           will be called pwm-twl-led.
203
204 config PWM_VT8500
205         tristate "vt8500 PWM support"
206         depends on ARCH_VT8500
207         help
208           Generic PWM framework driver for vt8500.
209
210           To compile this driver as a module, choose M here: the module
211           will be called pwm-vt8500.
212
213 endif