From 6957a14075cf59f9f0389c1925c493cf95cad367 Mon Sep 17 00:00:00 2001 From: Andriy Gapon Date: Fri, 25 Sep 2020 07:40:56 +0000 Subject: [PATCH] aw_pwm: ensure sane configuration, just in case Make sure that the hardware is configured to cycle mode and that the bypass is disabled. MFC after: 2 weeks --- sys/arm/allwinner/aw_pwm.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/arm/allwinner/aw_pwm.c b/sys/arm/allwinner/aw_pwm.c index eff5235d817e..93126f9b16b4 100644 --- a/sys/arm/allwinner/aw_pwm.c +++ b/sys/arm/allwinner/aw_pwm.c @@ -290,6 +290,13 @@ aw_pwm_channel_config(device_t dev, u_int channel, u_int period, u_int duty) /* Write the prescalar */ reg &= ~AW_PWM_CTRL_PRESCALE_MASK; reg |= prescaler; + + reg &= ~AW_PWM_CTRL_MODE_MASK; + reg |= AW_PWM_CTRL_CYCLE_MODE; + + reg &= ~AW_PWM_CTRL_PULSE_START; + reg &= ~AW_PWM_CTRL_CLK_BYPASS; + AW_PWM_WRITE(sc, AW_PWM_CTRL, reg); /* Write the total/active cycles */