[PATCH 2/3] pwm: put all UCLASS PWM drivers under an if condition on DM_PWM
Quentin Schulz
foss+uboot at 0leil.net
Wed Oct 29 12:16:09 CET 2025
From: Quentin Schulz <quentin.schulz at cherry.de>
This simplifies the "depends on" since we don't need DM_PWM listed
explicitly there as it already is made explicit via the surrounding
"if". No intended change in behavior.
Signed-off-by: Quentin Schulz <quentin.schulz at cherry.de>
---
Note that I believe PWM_SANDBOX should also depend on DM_PWM but I'm not
sure how to make sure of that. The PWM sandbox test is explicitly only
built when DM_PWM=y instead of SANDBOX_PWM=y (is that another issue?).
---
drivers/pwm/Kconfig | 136 ++++++++++++++++++++++++++--------------------------
1 file changed, 67 insertions(+), 69 deletions(-)
diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig
index ec57a967721..218c861ae43 100644
--- a/drivers/pwm/Kconfig
+++ b/drivers/pwm/Kconfig
@@ -11,75 +11,12 @@ config DM_PWM
frequency/period can be controlled along with the proportion of that
time that the signal is high.
-config PWM_ASPEED
- bool "Enable support for the Aspeed PWM"
- depends on DM_PWM
- select SYSCON
- help
- This PWM is found on Ast2600 SoCs. It supports a programmable period
- and duty cycle. It provides 16 channels which can be independently
- programmed.
-
-config PWM_AT91
- bool "Enable support for PWM found on AT91 SoC's"
- depends on DM_PWM && ARCH_AT91
- help
- Support for PWM hardware on AT91 based SoC.
-
-config PWM_CADENCE_TTC
- bool "Enable support for the Cadence TTC PWM"
- depends on DM_PWM && !CADENCE_TTC_TIMER
- help
- Cadence TTC can be configured as timer which is done via
- CONFIG_CADENCE_TTC_TIMER or as PWM. This is covering only PWM now.
-
-config PWM_CROS_EC
- bool "Enable support for the Chrome OS EC PWM"
- depends on DM_PWM
- help
- This PWM is found on several Chrome OS devices and controlled by
- the Chrome OS embedded controller. It may be used to control the
- screen brightness and/or the keyboard backlight depending on the
- device.
-
-config PWM_EXYNOS
- bool "Enable support for the Exynos PWM"
- depends on DM_PWM && ARCH_EXYNOS
- help
- This PWM is found on Samsung Exynos 5250 and other Samsung SoCs. It
- supports a programmable period and duty cycle. A 32-bit counter is
- used. It provides 5 channels which can be independently
- programmed. Channel 4 (the last) is normally used as a timer.
-
config PWM_IMX
bool "Enable support for i.MX27 and later PWM"
depends on MACH_IMX
help
This PWM is found i.MX27 and later i.MX SoCs.
-config PWM_MESON
- bool "Enable support for Amlogic Meson SoCs PWM"
- depends on DM_PWM
- help
- This PWM is found on Amlogic Meson SoCs. It supports a
- programmable period and duty cycle for 2 independant channels.
-
-config PWM_MTK
- bool "Enable support for MediaTek PWM"
- depends on DM_PWM
- help
- This PWM is found on MT7622, MT7623, and MT7629. It supports a
- programmable period and duty cycle.
-
-config PWM_ROCKCHIP
- bool "Enable support for the Rockchip PWM"
- depends on DM_PWM && ARCH_ROCKCHIP
- help
- This PWM is found on RK3288 and other Rockchip SoCs. It supports a
- programmable period and duty cycle. A 32-bit counter is used.
- Various options provided in the hardware (such as capture mode and
- continuous/single-shot) are not supported by the driver.
-
config PWM_SANDBOX
bool "Enable support for the sandbox PWM"
help
@@ -93,15 +30,75 @@ config PWM_S5P
depends on (S5P || ARCH_NEXELL)
default y
+if DM_PWM
+
+config PWM_ASPEED
+ bool "Enable support for the Aspeed PWM"
+ select SYSCON
+ help
+ This PWM is found on Ast2600 SoCs. It supports a programmable period
+ and duty cycle. It provides 16 channels which can be independently
+ programmed.
+
+config PWM_AT91
+ bool "Enable support for PWM found on AT91 SoC's"
+ depends on ARCH_AT91
+ help
+ Support for PWM hardware on AT91 based SoC.
+
+config PWM_CADENCE_TTC
+ bool "Enable support for the Cadence TTC PWM"
+ depends on !CADENCE_TTC_TIMER
+ help
+ Cadence TTC can be configured as timer which is done via
+ CONFIG_CADENCE_TTC_TIMER or as PWM. This is covering only PWM now.
+
+config PWM_CROS_EC
+ bool "Enable support for the Chrome OS EC PWM"
+ help
+ This PWM is found on several Chrome OS devices and controlled by
+ the Chrome OS embedded controller. It may be used to control the
+ screen brightness and/or the keyboard backlight depending on the
+ device.
+
+config PWM_EXYNOS
+ bool "Enable support for the Exynos PWM"
+ depends on ARCH_EXYNOS
+ help
+ This PWM is found on Samsung Exynos 5250 and other Samsung SoCs. It
+ supports a programmable period and duty cycle. A 32-bit counter is
+ used. It provides 5 channels which can be independently
+ programmed. Channel 4 (the last) is normally used as a timer.
+
+config PWM_MESON
+ bool "Enable support for Amlogic Meson SoCs PWM"
+ help
+ This PWM is found on Amlogic Meson SoCs. It supports a
+ programmable period and duty cycle for 2 independant channels.
+
+config PWM_MTK
+ bool "Enable support for MediaTek PWM"
+ help
+ This PWM is found on MT7622, MT7623, and MT7629. It supports a
+ programmable period and duty cycle.
+
+config PWM_ROCKCHIP
+ bool "Enable support for the Rockchip PWM"
+ depends on ARCH_ROCKCHIP
+ help
+ This PWM is found on RK3288 and other Rockchip SoCs. It supports a
+ programmable period and duty cycle. A 32-bit counter is used.
+ Various options provided in the hardware (such as capture mode and
+ continuous/single-shot) are not supported by the driver.
+
config PWM_SIFIVE
bool "Enable support for SiFive PWM"
- depends on DM_PWM
help
This PWM is found SiFive's FU540 and other SoCs.
config PWM_TEGRA
bool "Enable support for the Tegra PWM"
- depends on DM_PWM && ARCH_TEGRA
+ depends on ARCH_TEGRA
help
This PWM is found on Tegra 20 and other Nvidia SoCs. It supports
four channels with a programmable period and duty cycle. Only a
@@ -110,7 +107,7 @@ config PWM_TEGRA
config PWM_STM32
bool "Enable support for STM32 PWM"
- depends on DM_PWM && MFD_STM32_TIMERS
+ depends on MFD_STM32_TIMERS
help
This enables PWM driver for STMicroelectronics STM32 pulse width
modulation. It uses STM32 timer devices that can have up to 4 output
@@ -118,22 +115,23 @@ config PWM_STM32
config PWM_SUNXI
bool "Enable support for the Allwinner Sunxi PWM"
- depends on DM_PWM && ARCH_SUNXI
+ depends on ARCH_SUNXI
help
This PWM is found on H3, A64 and other Allwinner SoCs. It supports a
programmable period and duty cycle. A 16-bit counter is used.
config PWM_TI_EHRPWM
bool "Enable support for EHRPWM PWM"
- depends on DM_PWM && ARCH_OMAP2PLUS
+ depends on ARCH_OMAP2PLUS
default y
help
PWM driver support for the EHRPWM controller found on TI SOCs.
config PWM_TI_ECAP
bool "Enable support for ECAP PWM"
- depends on DM_PWM && ARCH_OMAP2PLUS
+ depends on ARCH_OMAP2PLUS
help
PWM driver support for the ECAP controller found on TI SOCs.
+endif
endmenu
--
2.51.0
More information about the U-Boot
mailing list