aboutsummaryrefslogtreecommitdiff
path: root/sys/arm
diff options
context:
space:
mode:
authorAndriy Gapon <avg@FreeBSD.org>2020-09-25 07:40:56 +0000
committerAndriy Gapon <avg@FreeBSD.org>2020-09-25 07:40:56 +0000
commit6957a14075cf59f9f0389c1925c493cf95cad367 (patch)
treeca4c41f9693f838237239bad70f6e369aa69d185 /sys/arm
parentfc1ec731c80bc10f949800b0e59b30a1af26d00b (diff)
downloadsrc-6957a14075cf59f9f0389c1925c493cf95cad367.tar.gz
src-6957a14075cf59f9f0389c1925c493cf95cad367.zip
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
Notes
Notes: svn path=/head/; revision=366141
Diffstat (limited to 'sys/arm')
-rw-r--r--sys/arm/allwinner/aw_pwm.c7
1 files changed, 7 insertions, 0 deletions
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 */