Skip to content

Commit

Permalink
MXC: pwm driver fixes
Browse files Browse the repository at this point in the history
- fix off-by-one error in divider calculation
- disable pwm in pwm_disable

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
  • Loading branch information
Sascha Hauer committed Aug 7, 2009
1 parent 494f22d commit 5ef881b
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion arch/arm/plat-mxc/pwm.c
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns)

writel(duty_cycles, pwm->mmio_base + MX3_PWMSAR);
writel(period_cycles, pwm->mmio_base + MX3_PWMPR);
writel(MX3_PWMCR_PRESCALER(prescale - 1) |
writel(MX3_PWMCR_PRESCALER(prescale) |
MX3_PWMCR_CLKSRC_IPG_HIGH | MX3_PWMCR_EN,
pwm->mmio_base + MX3_PWMCR);
} else if (cpu_is_mx1() || cpu_is_mx21()) {
Expand Down Expand Up @@ -118,6 +118,8 @@ EXPORT_SYMBOL(pwm_enable);

void pwm_disable(struct pwm_device *pwm)
{
writel(0, pwm->mmio_base + MX3_PWMCR);

if (pwm->clk_enabled) {
clk_disable(pwm->clk);
pwm->clk_enabled = 0;
Expand Down

0 comments on commit 5ef881b

Please sign in to comment.