diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-12-31 01:43:45 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-12-31 01:43:45 +0400 |
commit | 604a16b74c8ca2fd29861723a62ad57f0c692333 (patch) | |
tree | 4f90ac336c6811aa5a3088a626012b707b824746 /arch/arm/plat-mxc/pwm.c | |
parent | c63c4edcc8cf0f1ed2c6a1c9ba7a56bc50aa8199 (diff) | |
parent | 00ca4e4c8f72f2a67466a41b12714ed8c9e10f64 (diff) | |
download | linux-604a16b74c8ca2fd29861723a62ad57f0c692333.tar.xz |
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
ARM: plat-orion: make gpiochip label unique
enable uncompress log on cpuimx35sd
cpuimx35: fix touchscreen support
cpuimx35sd: fix Kconfig
clock-imx35: fix reboot in internal boot mode
dma: MX3_IPU fix depends
imx_v4_v5_defconfig: update default configuration
cpuimx25sd: fix Kconfig
arm/imx: fix cpufreq section mismatch
ARM:imx:fix pwm period value
ARM: OMAP: hwmod data: fix iva and mailbox hwmods for OMAP 3
Diffstat (limited to 'arch/arm/plat-mxc/pwm.c')
-rw-r--r-- | arch/arm/plat-mxc/pwm.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/plat-mxc/pwm.c b/arch/arm/plat-mxc/pwm.c index 845de59f07ed..e032717f7d02 100644 --- a/arch/arm/plat-mxc/pwm.c +++ b/arch/arm/plat-mxc/pwm.c @@ -77,6 +77,15 @@ int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns) do_div(c, period_ns); duty_cycles = c; + /* + * according to imx pwm RM, the real period value should be + * PERIOD value in PWMPR plus 2. + */ + if (period_cycles > 2) + period_cycles -= 2; + else + period_cycles = 0; + writel(duty_cycles, pwm->mmio_base + MX3_PWMSAR); writel(period_cycles, pwm->mmio_base + MX3_PWMPR); |