Skip to content

Commit

Permalink
pwm: Add driver for Amlogic Meson PWM controller
Browse files Browse the repository at this point in the history
This adds the driver for the PWM controller found in the Amlogic SoCs.

This PWM is only a set of Gates, Dividers and Counters:
PWM output is achieved by calculating a clock that permits calculating
two periods (low and high). The counter then has to be set to switch after
N cycles for the first half period.
The hardware has no "polarity" setting. This driver reverses the period
cycles (the low length is inverted with the high length) for
PWM_POLARITY_INVERSED.

Disabling the PWM stops the output immediately (without waiting for the
current period to complete first).

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
  • Loading branch information
superna9999 committed Oct 5, 2020
1 parent 38c1c6f commit 2d481b2
Show file tree
Hide file tree
Showing 3 changed files with 536 additions and 0 deletions.
7 changes: 7 additions & 0 deletions drivers/pwm/Kconfig
Expand Up @@ -23,6 +23,13 @@ config PWM_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
Expand Down
1 change: 1 addition & 0 deletions drivers/pwm/Makefile
Expand Up @@ -12,6 +12,7 @@ obj-$(CONFIG_DM_PWM) += pwm-uclass.o

obj-$(CONFIG_PWM_EXYNOS) += exynos_pwm.o
obj-$(CONFIG_PWM_IMX) += pwm-imx.o pwm-imx-util.o
obj-$(CONFIG_PWM_MESON) += pwm-meson.o
obj-$(CONFIG_PWM_MTK) += pwm-mtk.o
obj-$(CONFIG_PWM_ROCKCHIP) += rk_pwm.o
obj-$(CONFIG_PWM_SANDBOX) += sandbox_pwm.o
Expand Down

0 comments on commit 2d481b2

Please sign in to comment.