linux/drivers/pwm
Ilkka Koskinen 10d56a4cb1 pwm: lpss: Avoid reconfiguring while UPDATE bit is still enabled
PWM Configuration register has SW_UPDATE bit that is set when a new
configuration is written to the register. The bit is automatically
cleared at the start of the next output cycle by the IP block.

If one writes a new configuration to the register while it still has
the bit enabled, PWM may freeze. That is, while one can still write
to the register, it won't have an effect. Thus, we try to sleep long
enough that the bit gets cleared and make sure the bit is not
enabled while we update the configuration.

Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Tested-by: Richard Griffiths <richard.a.griffiths@intel.com>
Signed-off-by: Ilkka Koskinen <ilkka.koskinen@intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
2017-01-30 08:15:12 +01:00
..
core.c pwm: Unexport children before chip removal 2016-09-05 16:45:39 +02:00
Kconfig pwm: bcm-iproc: Update dependencies for compile-test 2017-01-19 00:38:17 +01:00
Makefile pwm: Add PWM driver for HiSilicon BVT SOCs 2016-11-29 16:50:12 +01:00
pwm-ab8500.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-atmel-hlcdc.c pwm: atmel-hlcdc: Fix default PWM polarity 2016-06-14 10:51:45 +02:00
pwm-atmel-tcb.c misc: atmel_tclib: get and use slow clock 2015-10-06 12:33:14 +02:00
pwm-atmel.c pwm: atmel: Use of_device_get_match_data() 2016-07-11 12:49:36 +02:00
pwm-bcm2835.c pwm: bcm2835: Fix email address specification 2015-12-16 16:45:32 +01:00
pwm-bcm-iproc.c pwm: Add support for Broadcom iProc PWM controller 2016-07-11 12:49:25 +02:00
pwm-bcm-kona.c pwm: kona: Modify settings application sequence 2015-08-17 16:19:41 +02:00
pwm-berlin.c pwm: berlin: Add suspend/resume support 2016-09-06 10:48:52 +02:00
pwm-bfin.c pwm: constify pwm_ops structures 2017-01-19 00:38:17 +01:00
pwm-brcmstb.c pwm: brcmstb: Fix check of devm_ioremap_resource() return code 2016-03-23 17:11:45 +01:00
pwm-clps711x.c pwm: clps711x: Changing the compatibility string to match with the smallest supported chip 2016-07-06 17:38:17 +02:00
pwm-crc.c pwm: Use pwm_get/set_xxx() helpers where appropriate 2016-05-17 14:44:59 +02:00
pwm-cros-ec.c pwm: cros-ec: Add __packed to prevent padding 2016-09-06 10:48:54 +02:00
pwm-ep93xx.c pwm: Add the pwm_is_enabled() helper 2015-07-20 09:46:06 +02:00
pwm-fsl-ftm.c pwm: fsl-ftm: Use flat regmap cache 2016-04-14 16:54:00 +02:00
pwm-hibvt.c pwm: Add PWM driver for HiSilicon BVT SOCs 2016-11-29 16:50:12 +01:00
pwm-img.c pwm: img: Test clock rate to avoid division by 0 2016-03-23 17:11:02 +01:00
pwm-imx.c pwm: constify pwm_ops structures 2017-01-19 00:38:17 +01:00
pwm-jz4740.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-lp3943.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-lpc18xx-sct.c pwm: lpc-18xx: use pwm_set_chip_data 2016-09-08 10:55:05 +02:00
pwm-lpc32xx.c pwm: lpc32xx: Set PWM_PIN_LEVEL bit to default value 2016-07-11 12:49:29 +02:00
pwm-lpss-pci.c pwm: lpss: pci: Enable PWM module on Intel Edison 2016-07-11 12:07:25 +02:00
pwm-lpss-platform.c pwm: lpss: Add support for runtime PM 2015-11-06 14:34:13 +01:00
pwm-lpss.c pwm: lpss: Avoid reconfiguring while UPDATE bit is still enabled 2017-01-30 08:15:12 +01:00
pwm-lpss.h pwm: lpss: Update PWM setting for Broxton 2015-12-16 16:45:38 +01:00
pwm-meson.c pwm: Changes for v4.10-rc1 2016-12-15 11:45:13 -08:00
pwm-mtk-disp.c pwm: Add MediaTek MT2701 display PWM driver support 2016-09-06 10:48:53 +02:00
pwm-mxs.c pwm: Add the pwm_is_enabled() helper 2015-07-20 09:46:06 +02:00
pwm-omap-dmtimer.c pwm: omap-dmtimer: Allow for setting dmtimer clock source 2016-06-29 21:54:00 -07:00
pwm-pca9685.c pwm: pca9685: Fix period change with same duty cycle 2017-01-20 07:43:22 +01:00
pwm-puv3.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-pxa.c pwm: constify pwm_ops structures 2017-01-19 00:38:17 +01:00
pwm-rcar.c pwm: rcar: Make use of pwm_is_enabled() 2016-05-17 14:44:57 +02:00
pwm-renesas-tpu.c pwm: Add the pwm_is_enabled() helper 2015-07-20 09:46:06 +02:00
pwm-rockchip.c pwm: rockchip: Add support for atomic update 2016-07-11 12:49:28 +02:00
pwm-samsung.c pwm: samsung: Fix to use lowest div for large enough modulation bits 2016-09-06 10:48:55 +02:00
pwm-spear.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-sti.c pwm: sti: Take the opportunity to conduct a little house keeping 2016-09-08 10:55:12 +02:00
pwm-stmpe.c pwm: Add a driver for the STMPE PWM 2016-07-11 12:49:29 +02:00
pwm-sun4i.c pwm: sunxi: Add H3 support 2016-09-08 10:55:05 +02:00
pwm-tegra.c pwm: tegra: Add support for Tegra186 2016-07-11 12:49:34 +02:00
pwm-tiecap.c pwm: pwm-ti*: Remove support for local clock gating 2016-07-11 12:07:18 +02:00
pwm-tiehrpwm.c pwm: pwm-ti*: Remove support for local clock gating 2016-07-11 12:07:18 +02:00
pwm-tipwmss.c pwm: pwm-tipwmss: Remove all runtime PM gets/puts 2016-09-06 10:48:54 +02:00
pwm-twl-led.c pwm: twl-led: Include linux/of.h header 2013-10-08 15:45:44 +02:00
pwm-twl.c pwm: twl: Reliably disable TWL6030 PWMs 2016-09-05 07:13:47 +02:00
pwm-vt8500.c pwm: constify pwm_ops structures 2017-01-19 00:38:17 +01:00
sysfs.c pwm: Fix device reference leak 2016-11-29 16:43:24 +01:00