pwm: Add i.MX TPM PWM driver support

i.MX7ULP has TPM(Low Power Timer/Pulse Width Modulation Module) inside,
it can support multiple PWM channels, all the channels share same
counter and period setting, but each channel can configure its duty and
polarity independently.

There are several TPM modules in i.MX7ULP, the number of channels in TPM
modules are different, it can be read from each TPM module's PARAM
register.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
This commit is contained in:
Anson Huang
2019-05-09 13:29:29 +00:00
committed by Thierry Reding
parent 2caf038436
commit 738a1cfec2
3 changed files with 461 additions and 0 deletions

View File

@@ -210,6 +210,17 @@ config PWM_IMX27
To compile this driver as a module, choose M here: the module
will be called pwm-imx27.
config PWM_IMX_TPM
tristate "i.MX TPM PWM support"
depends on ARCH_MXC || COMPILE_TEST
depends on HAVE_CLK && HAS_IOMEM
help
Generic PWM framework driver for i.MX7ULP TPM module, TPM's full
name is Low Power Timer/Pulse Width Modulation Module.
To compile this driver as a module, choose M here: the module
will be called pwm-imx-tpm.
config PWM_JZ4740
tristate "Ingenic JZ47xx PWM support"
depends on MACH_INGENIC