linux/drivers/pwm
Vladimir Zapolskiy d6dbdf0dde pwm: lpc32xx: return ERANGE, if requested period is not supported
Instead of silent acceptance of unsupported requested configuration
for PWM period and setting the boundary supported value, return
-ERANGE to a caller.

Duty period value equal to 0 or period is still accepted to allow
configuration by PWM sysfs interface, when it is set to 0 by default.

For reference this is a list of restrictions on period_ns == 1/freq:

  | PWM parent clock | parent clock divisor | max freq | min freq |
  +------------------+----------------------+----------+----------+
  |   HCLK == 13 MHz |      1 (min)         | 50.7 KHz | 198.3 Hz |
  |   HCLK == 13 MHz |     15 (max)         | 3.38 KHz | 13.22 Hz |
  |  RTC == 32.7 KHz |      1 (min)         |   128 Hz |   0.5 Hz |
  |  RTC == 32.7 KHz |     15 (max)         | 8.533 Hz | 0.033 Hz |

Note that PWM sysfs interface does not support setting of period more
than NSEC_PER_SEC / MAX_INT32 ~ 2 seconds, however this PWM controller
supports a period up to 30 seconds.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
2015-12-16 17:01:06 +01:00
..
core.c pwm: Return -ENODEV if no PWM lookup match is found 2015-11-10 13:06:42 +01:00
Kconfig pwm: lpss: Select core part automatically 2015-12-16 16:50:31 +01:00
Makefile pwm: Add MediaTek display PWM driver support 2015-10-06 16:07:30 +02: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: add sama5d2 SoC support. 2015-10-06 16:07:28 +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: Make use of pwm_get_xxx() helpers where appropriate 2015-07-20 09:53:22 +02:00
pwm-bcm2835.c pwm: bcm2835: Fix email address specification 2015-12-16 16:45:32 +01:00
pwm-bcm-kona.c pwm: kona: Modify settings application sequence 2015-08-17 16:19:41 +02:00
pwm-berlin.c pwm: Add support for the Berlin PWM controller 2015-10-06 09:40:44 +02:00
pwm-bfin.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-brcmstb.c pwm: Add Broadcom BCM7038 PWM controller support 2015-10-06 16:07:27 +02:00
pwm-clps711x.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-crc.c pwm: crc: Add Crystalcove (CRC) PWM driver 2015-07-21 09:22:23 +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: Fix clock enable/disable when using PM 2015-12-16 16:54:32 +01:00
pwm-img.c pwm: img: Impose upper and lower timebase steps value 2015-05-19 16:07:40 +02:00
pwm-imx.c pwm: Make use of pwm_get_xxx() helpers where appropriate 2015-07-20 09:53:22 +02: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: NXP LPC18xx PWM/SCT driver 2015-09-09 15:00:33 +02:00
pwm-lpc32xx.c pwm: lpc32xx: return ERANGE, if requested period is not supported 2015-12-16 17:01:06 +01:00
pwm-lpss-pci.c pwm: lpss: Add support for runtime PM 2015-11-06 14:34:13 +01: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: Rework the sequence of programming PWM_SW_UPDATE 2015-12-16 16:52:09 +01:00
pwm-lpss.h pwm: lpss: Update PWM setting for Broxton 2015-12-16 16:45:38 +01:00
pwm-mtk-disp.c pwm: Add MediaTek display PWM driver support 2015-10-06 16:07:30 +02:00
pwm-mxs.c pwm: Add the pwm_is_enabled() helper 2015-07-20 09:46:06 +02:00
pwm-pca9685.c pwm-pca9685: enable ACPI device found on Galileo Gen2 2015-11-06 14:14:19 +01:00
pwm-puv3.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-pxa.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-rcar.c pwm: Add support for R-Car PWM Timer 2015-10-06 09:40:46 +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: Make use of pwm_get_xxx() helpers where appropriate 2015-07-20 09:53:22 +02:00
pwm-samsung.c pwm: samsung: Use MODULE_DEVICE_TABLE() to include OF modalias 2015-05-21 15:56:53 +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: Maintain a bitmap of configured devices 2015-01-30 12:16:03 +01:00
pwm-sun4i.c pwm: sunxi: Fix whitespace issue 2015-11-10 13:06:47 +01:00
pwm-tegra.c pwm: Add the pwm_is_enabled() helper 2015-07-20 09:46:06 +02:00
pwm-tiecap.c pwm: Add the pwm_is_enabled() helper 2015-07-20 09:46:06 +02:00
pwm-tiehrpwm.c pwm: Add the pwm_is_enabled() helper 2015-07-20 09:46:06 +02:00
pwm-tipwmss.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-tipwmss.h pwm: davinci: Add Kconfig support for ECAP & EHRPWM devices 2013-03-22 11:35:20 +01: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: Really disable twl6030 PWMs 2014-05-08 23:41:47 +02:00
pwm-vt8500.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
sysfs.c pwm: sysfs: Make use of the DEVICE_ATTR_[RW][WO] macro's 2015-11-10 13:06:46 +01:00