MXC: pwm driver fixes
- fix off-by-one error in divider calculation - disable pwm in pwm_disable Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
494f22dddc
commit
5ef881bbec
|
@ -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(duty_cycles, pwm->mmio_base + MX3_PWMSAR);
|
||||||
writel(period_cycles, pwm->mmio_base + MX3_PWMPR);
|
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,
|
MX3_PWMCR_CLKSRC_IPG_HIGH | MX3_PWMCR_EN,
|
||||||
pwm->mmio_base + MX3_PWMCR);
|
pwm->mmio_base + MX3_PWMCR);
|
||||||
} else if (cpu_is_mx1() || cpu_is_mx21()) {
|
} else if (cpu_is_mx1() || cpu_is_mx21()) {
|
||||||
|
@ -118,6 +118,8 @@ EXPORT_SYMBOL(pwm_enable);
|
||||||
|
|
||||||
void pwm_disable(struct pwm_device *pwm)
|
void pwm_disable(struct pwm_device *pwm)
|
||||||
{
|
{
|
||||||
|
writel(0, pwm->mmio_base + MX3_PWMCR);
|
||||||
|
|
||||||
if (pwm->clk_enabled) {
|
if (pwm->clk_enabled) {
|
||||||
clk_disable(pwm->clk);
|
clk_disable(pwm->clk);
|
||||||
pwm->clk_enabled = 0;
|
pwm->clk_enabled = 0;
|
||||||
|
|
Loading…
Reference in New Issue