mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-21 10:43:06 +00:00
7239a610b7
Adds a PWM driver for PWM chip present in SiFive's HiFive Unleashed SoC This driver is simple port of Linux pwm sifive driver from Linux v5.6 commit: 9e37a53eb051 ("pwm: sifive: Add a driver for SiFive SoC PWM") Signed-off-by: Yash Shah <yash.shah@sifive.com> Reviewed-by: Heiko Schocher <hs@denx.de>
70 lines
2.4 KiB
Text
70 lines
2.4 KiB
Text
config DM_PWM
|
|
bool "Enable support for pulse-width modulation devices (PWM)"
|
|
depends on DM
|
|
help
|
|
A pulse-width modulator emits a pulse of varying width and provides
|
|
control over the duty cycle (high and low time) of the signal. This
|
|
is often used to control a voltage level. The more time the PWM
|
|
spends in the 'high' state, the higher the voltage. The PWM's
|
|
frequency/period can be controlled along with the proportion of that
|
|
time that the signal is high.
|
|
|
|
config PWM_EXYNOS
|
|
bool "Enable support for the Exynos PWM"
|
|
depends on DM_PWM
|
|
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"
|
|
help
|
|
This PWM is found i.MX27 and later i.MX SoCs.
|
|
|
|
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
|
|
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
|
|
This is a sandbox PWM used for testing. It provides 3 channels and
|
|
records the settings passed into it, but otherwise does nothing
|
|
useful. The PWM can be enabled but is not connected to any outputs
|
|
so this is not very useful.
|
|
|
|
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
|
|
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
|
|
32KHz clock is supported by the driver but the duty cycle is
|
|
configurable.
|
|
|
|
config PWM_SUNXI
|
|
bool "Enable support for the Allwinner Sunxi PWM"
|
|
depends on DM_PWM
|
|
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.
|