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_AT91
13	bool "Enable support for PWM found on AT91 SoC's"
14	depends on DM_PWM && ARCH_AT91
15	help
16	  Support for PWM hardware on AT91 based SoC.
17
18config PWM_CROS_EC
19	bool "Enable support for the Chrome OS EC PWM"
20	depends on DM_PWM
21	help
22	  This PWM is found on several Chrome OS devices and controlled by
23	  the Chrome OS embedded controller. It may be used to control the
24	  screen brightness and/or the keyboard backlight depending on the
25	  device.
26
27config PWM_EXYNOS
28	bool "Enable support for the Exynos PWM"
29	depends on DM_PWM
30	help
31	  This PWM is found on Samsung Exynos 5250 and other Samsung SoCs. It
32	  supports a programmable period and duty cycle. A 32-bit counter is
33	  used. It provides 5 channels which can be independently
34	  programmed. Channel 4 (the last) is normally used as a timer.
35
36config PWM_IMX
37	bool "Enable support for i.MX27 and later PWM"
38	help
39	  This PWM is found i.MX27 and later i.MX SoCs.
40
41config PWM_MESON
42	bool "Enable support for Amlogic Meson SoCs PWM"
43	depends on DM_PWM
44	help
45	  This PWM is found on Amlogic Meson SoCs. It supports a
46	  programmable period and duty cycle for 2 independant channels.
47
48config PWM_MTK
49	bool "Enable support for MediaTek PWM"
50	depends on DM_PWM
51	help
52	  This PWM is found on MT7622, MT7623, and MT7629. It supports a
53	  programmable period and duty cycle.
54
55config PWM_ROCKCHIP
56	bool "Enable support for the Rockchip PWM"
57	depends on DM_PWM
58	help
59	  This PWM is found on RK3288 and other Rockchip SoCs. It supports a
60	  programmable period and duty cycle. A 32-bit counter is used.
61	  Various options provided in the hardware (such as capture mode and
62	  continuous/single-shot) are not supported by the driver.
63
64config PWM_SANDBOX
65	bool "Enable support for the sandbox PWM"
66	help
67	  This is a sandbox PWM used for testing. It provides 3 channels and
68	  records the settings passed into it, but otherwise does nothing
69	  useful. The PWM can be enabled but is not connected to any outputs
70	  so this is not very useful.
71
72config PWM_SIFIVE
73	bool "Enable support for SiFive PWM"
74	depends on DM_PWM
75	help
76	  This PWM is found SiFive's FU540 and other SoCs.
77
78config PWM_TEGRA
79	bool "Enable support for the Tegra PWM"
80	depends on DM_PWM
81	help
82	  This PWM is found on Tegra 20 and other Nvidia SoCs. It supports
83	  four channels with a programmable period and duty cycle. Only a
84	  32KHz clock is supported by the driver but the duty cycle is
85	  configurable.
86
87config PWM_SUNXI
88	bool "Enable support for the Allwinner Sunxi PWM"
89	depends on DM_PWM
90	help
91	  This PWM is found on H3, A64 and other Allwinner SoCs. It supports a
92	  programmable period and duty cycle. A 16-bit counter is used.
93
94config PWM_TI_EHRPWM
95	bool "Enable support for EHRPWM PWM"
96	depends on DM_PWM && ARCH_OMAP2PLUS
97	default y
98	help
99	  PWM driver support for the EHRPWM controller found on TI SOCs.
100