Commit 5ef881bb authored by Sascha Hauer's avatar Sascha Hauer
Browse files

MXC: pwm driver fixes



- fix off-by-one error in divider calculation
- disable pwm in pwm_disable

Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
parent 494f22dd
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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()) {
@@ -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;