diff options
author | Andriy Gapon <avg@FreeBSD.org> | 2020-09-25 07:40:56 +0000 |
---|---|---|
committer | Andriy Gapon <avg@FreeBSD.org> | 2020-09-25 07:40:56 +0000 |
commit | 6957a14075cf59f9f0389c1925c493cf95cad367 (patch) | |
tree | ca4c41f9693f838237239bad70f6e369aa69d185 /sys/arm | |
parent | fc1ec731c80bc10f949800b0e59b30a1af26d00b (diff) | |
download | src-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.c | 7 |
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 */ |