linux/drivers/pwm
Michal Vokáč bf9b0b1b0b pwm: imx: Implement get_state() function for hardware readout
Implement the get_state() function and set the initial state to reflect
real state of the hardware. This allows to keep the PWM running if it was
enabled in bootloader. It is very similar to the GPIO behavior. GPIO pin
set as output in bootloader keep the same setting in Linux unless it is
reconfigured.

If we find the PWM block enabled we need to prepare and enable its source
clock otherwise the clock will be disabled late in the boot as unused.
That will leave the PWM in enabled state but with disabled clock. That has
a side effect that the PWM output is left at its current level at which
the clock was disabled. It is totally non-deterministic and it may be LOW
or HIGH.

Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
2018-12-12 11:52:47 +01:00
..
core.c pwm: Silently error out on EPROBE_DEFER 2017-07-06 08:29:16 +02:00
Kconfig pwm: Enable TI ECAP driver for ARCH_K3 2018-10-16 13:14:52 +02:00
Makefile pwm: remove pwm-bfin driver 2018-03-26 15:57:08 +02:00
pwm-ab8500.c
pwm-atmel-hlcdc.c pwm: atmel-hlcdc: Implement the suspend/resume hooks 2017-04-06 17:45:02 +02:00
pwm-atmel-tcb.c pwm: simplify getting .drvdata 2018-04-30 10:40:57 +02:00
pwm-atmel.c pwm: atmel: Enable PWM on sama5d2 2017-04-06 17:45:03 +02:00
pwm-bcm2835.c pwm: bcm2835: Support for polarity setting via DT 2017-08-21 07:27:58 +02: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: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-berlin.c pwm: berlin: Don't use broken prescaler values 2018-07-09 18:57:03 +02:00
pwm-brcmstb.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +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-cros-ec.c pwm: cros-ec: Switch to SPDX identifier 2018-07-09 19:02:23 +02:00
pwm-ep93xx.c
pwm-fsl-ftm.c pwm: fsl-ftm: Enable support for the new SoC i.MX8QM 2018-07-09 19:08:26 +02:00
pwm-hibvt.c pwm: hibvt: Explicitly request exclusive reset control 2017-08-21 08:52:40 +02:00
pwm-img.c pwm: img: Add runtime PM 2017-11-15 10:38:37 +01:00
pwm-imx.c pwm: imx: Implement get_state() function for hardware readout 2018-12-12 11:52:47 +01:00
pwm-jz4740.c pwm: jz4740: Add support for devicetree 2018-03-28 00:23:56 +02:00
pwm-lp3943.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
pwm-lpc18xx-sct.c pwm: lpc18xx-sct: Don't reconfigure PWM in .request and .free 2018-11-16 11:02:47 +01: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: Set enable-bit before waiting for update-bit to go low 2017-04-06 14:48:14 +02:00
pwm-lpss-platform.c pwm: lpss: Force runtime-resume on suspend on Cherry Trail 2018-10-16 13:15:57 +02:00
pwm-lpss.c pwm: lpss: Only set update bit if we are actually changing the settings 2018-10-16 13:16:15 +02:00
pwm-lpss.h pwm: lpss: Force runtime-resume on suspend on Cherry Trail 2018-10-16 13:15:57 +02:00
pwm-mediatek.c pwm: mediatek: Add MT7628 support 2018-08-20 11:36:07 +02:00
pwm-meson.c pwm: meson: Fix mux clock names 2018-08-20 11:32:25 +02: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: mxs: Switch to SPDX identifier 2018-07-12 09:03:06 +02:00
pwm-omap-dmtimer.c pwm: omap-dmtimer: Return -EPROBE_DEFER if no dmtimer platform data 2018-08-20 11:32:19 +02:00
pwm-pca9685.c pwm: pca9685: clarify pca9685_set_sleep_mode() interface. 2017-07-25 13:41:59 +02:00
pwm-puv3.c pwm: puv3: Delete an error message for a failed memory allocation 2018-03-27 23:27:05 +02:00
pwm-pxa.c pwm: constify pwm_ops structures 2017-01-19 00:38:17 +01:00
pwm-rcar.c pwm: Use SPDX identifier for Renesas drivers 2018-10-12 13:35:45 +02:00
pwm-renesas-tpu.c pwm: Use SPDX identifier for Renesas drivers 2018-10-12 13:35:45 +02:00
pwm-rockchip.c pwm: rockchip: Add rk3328 support 2017-08-18 17:44:34 +02:00
pwm-samsung.c pwm: pwm-samsung: fix suspend/resume support 2017-08-21 10:39:12 +02:00
pwm-spear.c
pwm-sti.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-stm32-lp.c pwm: stm32-lp: Remove useless loop in stm32_pwm_lp_remove() 2018-08-20 11:32:25 +02:00
pwm-stm32.c pwm: Changes for v4.18-rc1 2018-06-14 16:25:43 +09:00
pwm-stmpe.c pwm: stmpe: Fix wrong register offset for hwpwm=2 case 2017-12-05 09:33:05 +01:00
pwm-sun4i.c pwm: sun4i: Simplify controller mapping 2018-03-28 01:12:12 +02:00
pwm-tegra.c pwm: tegra: Remove gratuituous blank line 2018-09-26 16:01:39 +02:00
pwm-tiecap.c pwm: tiecap: Set driver data before runtime PM enable 2017-08-21 08:31:37 +02:00
pwm-tiehrpwm.c pwm: tiehrpwm: Fix disabling of output of PWMs 2018-07-09 18:58:22 +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 mfd: twl: Move header file out of I2C realm 2017-09-04 14:41:02 +01:00
pwm-twl.c mfd: twl: Move header file out of I2C realm 2017-09-04 14:41:02 +01:00
pwm-vt8500.c pwm: vt8500: Undo preparation of a clock source. 2017-07-25 13:43:28 +02:00
pwm-zx.c pwm: Add ZTE ZX PWM device driver 2017-08-21 08:11:24 +02:00
sysfs.c pwm: Send a uevent on the pwmchip device upon channel sysfs (un)export 2018-10-12 13:51:33 +02:00