xref: /openbmc/u-boot/drivers/pwm/Kconfig (revision 06feb5d0)
1config DM_PWM
2	bool "Enable support for pulse-width modulation devices (PWM)"
3	depends on DM
4	help
5	  A pulse-width modulator emits a pulse of varying width and provides
6	  control over the duty cycle (high and low time) of the signal. This
7	  is often used to control a voltage level. The more time the PWM
8	  spends in the 'high' state, the higher the voltage. The PWM's
9	  frequency/period can be controlled along with the proportion of that
10	  time that the signal is high.
11
12config PWM_EXYNOS
13	bool "Enable support for the Exynos PWM"
14	depends on DM_PWM
15	help
16	  This PWM is found on Samsung Exynos 5250 and other Samsung SoCs. It
17	  supports a programmable period and duty cycle. A 32-bit counter is
18	  used. It provides 5 channels which can be independently
19	  programmed. Channel 4 (the last) is normally used as a timer.
20
21config PWM_ROCKCHIP
22	bool "Enable support for the Rockchip PWM"
23	depends on DM_PWM
24	help
25	  This PWM is found on RK3288 and other Rockchip SoCs. It supports a
26	  programmable period and duty cycle. A 32-bit counter is used.
27	  Various options provided in the hardware (such as capture mode and
28	  continuous/single-shot) are not supported by the driver.
29
30config PWM_SANDBOX
31	bool "Enable support for the sandbox PWM"
32	help
33	  This is a sandbox PWM used for testing. It provides 3 channels and
34	  records the settings passed into it, but otherwise does nothing
35	  useful. The PWM can be enabled but is not connected to any outputs
36	  so this is not very useful.
37
38config PWM_TEGRA
39	bool "Enable support for the Tegra PWM"
40	depends on DM_PWM
41	help
42	  This PWM is found on Tegra 20 and other Nvidia SoCs. It supports
43	  four channels with a programmable period and duty cycle. Only a
44	  32KHz clock is supported by the driver but the duty cycle is
45	  configurable.
46