提交 8d1c24bf 编写于 作者: S Sascha Hauer 提交者: Thierry Reding

pwm: i.MX: use per clock unconditionally

The i.MX PWM module has two clocks: The ipg clock and the ipg highfreq
(peripheral) clock. The ipg clock has to be enabled for this hardware
to work. The actual PWM output can either be driven by the ipg clock
or the ipg highfreq. The ipg highfreq has the advantage that it runs
even when the SoC is in low power modes.
Use the always running clock also on i.MX25.
Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de>
Reviewed-by: NShawn Guo <shawn.guo@linaro.org>
Reviewed-by: NBenoît Thébaudeau <benoit.thebaudeau@advansee.com>
Signed-off-by: NThierry Reding <thierry.reding@avionic-design.de>
上级 479e2e30
无相关合并请求
......@@ -17,7 +17,6 @@
#include <linux/io.h>
#include <linux/pwm.h>
#include <linux/of_device.h>
#include <mach/hardware.h>
/* i.MX1 and i.MX21 share the same PWM function block: */
......@@ -133,16 +132,11 @@ static int imx_pwm_config_v2(struct pwm_chip *chip,
cr = MX3_PWMCR_PRESCALER(prescale) |
MX3_PWMCR_DOZEEN | MX3_PWMCR_WAITEN |
MX3_PWMCR_DBGEN;
MX3_PWMCR_DBGEN | MX3_PWMCR_CLKSRC_IPG_HIGH;
if (imx->enabled)
cr |= MX3_PWMCR_EN;
if (cpu_is_mx25())
cr |= MX3_PWMCR_CLKSRC_IPG;
else
cr |= MX3_PWMCR_CLKSRC_IPG_HIGH;
writel(cr, imx->mmio_base + MX3_PWMCR);
return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册
反馈
建议
客服 返回
顶部