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