zephyr/drivers/pwm
Krzysztof Chruściński e11d050b23 drivers: pwm: nrfx: Improve runtime PM
Rework PM handling to use pm_device_driver_init(). Shim is not using
put and get internally as there is no api that disables or stops
pwm so it is hard to determine when to put the device. There are cases
when PWM peripheral is stopped but PWM is still active because
duty cycle is 100% or 0% and pin is driven by GPIO and not PWM.

If user want to use runtime PM with PWM it is possible and getting
the device will initialize internal data and putting will suspend
by forcing PWM stop if used and setting pins to sleep state. However,
from power consumption perspective it is enough to set 0% or 100%
duty cycle on all channels.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-10-11 13:18:34 -04:00
..
CMakeLists.txt drivers: pwm: Initial support for PWM driver on RA8 2024-10-11 09:28:29 +02:00
Kconfig drivers: pwm: Initial support for PWM driver on RA8 2024-10-11 09:28:29 +02:00
Kconfig.b91
Kconfig.cc13xx_cc26xx_timer
Kconfig.ene
Kconfig.esp32
Kconfig.gd32
Kconfig.gecko
Kconfig.imx
Kconfig.intel_blinky
Kconfig.it8xxx2
Kconfig.litex
Kconfig.max32 drivers: pwm: Add MAX32xxx PWM driver 2024-09-23 18:12:00 -04:00
Kconfig.max31790
Kconfig.mcux
Kconfig.mcux_ctimer
Kconfig.mcux_ftm
Kconfig.mcux_pwt
Kconfig.mcux_qtmr drivers: pwm: pwm_mcux_qtmr: Add QTMR driver. 2024-06-06 09:41:22 +02:00
Kconfig.mcux_sctimer
Kconfig.mcux_tpm
Kconfig.npcx
Kconfig.nrf_sw
Kconfig.nrfx
Kconfig.numaker
Kconfig.nxp_flexio drivers: pwm: generate pwm with nxp flexio IP 2024-06-11 11:38:48 +01:00
Kconfig.nxp_s32_emios
Kconfig.pca9685
Kconfig.rcar
Kconfig.renesas_ra8 drivers: pwm: Initial support for PWM driver on RA8 2024-10-11 09:28:29 +02:00
Kconfig.rpi_pico
Kconfig.rv32m1_tpm
Kconfig.sam
Kconfig.sam0
Kconfig.sifive boards: remove `CONFIG_PINCTRL` from defconfig files of FE310-based boards 2024-09-20 13:14:41 +02:00
Kconfig.stm32 drivers: stm32: Select PINCTRL when required 2024-09-03 14:40:55 +01:00
Kconfig.test
Kconfig.xec
Kconfig.xlnx
Kconfig.xmc4xxx_ccu4
Kconfig.xmc4xxx_ccu8
pwm_b91.c
pwm_capture.c
pwm_cc13xx_cc26xx_timer.c drivers: cc13xx_cc26xx: pwm: Add polarity flag support 2024-08-27 10:51:04 -04:00
pwm_ene_kb1200.c
pwm_gd32.c
pwm_gecko.c
pwm_handlers.c build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
pwm_imx.c
pwm_intel_blinky.c
pwm_ite_it8xxx2.c ITE: drivers/pwm: Optimize the PWM set cycles 2024-05-29 12:00:22 +02:00
pwm_led_esp32.c espressif: clean up unused code 2024-09-09 13:55:39 -04:00
pwm_litex.c
pwm_max32.c drivers: pwm: Add MAX32xxx PWM driver 2024-09-23 18:12:00 -04:00
pwm_max31790.c
pwm_mc_esp32.c espressif: clean up unused code 2024-09-09 13:55:39 -04:00
pwm_mchp_xec.c style: drivers: comply with MISRA C:2012 Rule 15.6 2024-09-11 07:40:35 -04:00
pwm_mchp_xec_bbled.c
pwm_mcux.c drivers: pwm: pwm_mcux: make thread safe with mutex. 2024-05-15 09:27:38 +02:00
pwm_mcux_ctimer.c
pwm_mcux_ftm.c drivers: pwm: mcux_ftm: allow to select clock source 2024-04-19 10:08:53 +02:00
pwm_mcux_pwt.c drivers: pwm: update pwm_mcux_pwt.c 2024-08-13 09:50:06 +01:00
pwm_mcux_qtmr.c drivers: pwm: pwm_mcux_qtmr: Add QTMR driver. 2024-06-06 09:41:22 +02:00
pwm_mcux_sctimer.c
pwm_mcux_tpm.c drivers: pwm_mcux_tpm: adapt to more platforms 2024-10-07 18:43:12 +02:00
pwm_npcx.c style: drivers: comply with MISRA C:2012 Rule 15.6 2024-09-11 07:40:35 -04:00
pwm_nrf_sw.c
pwm_nrfx.c drivers: pwm: nrfx: Improve runtime PM 2024-10-11 13:18:34 -04:00
pwm_numaker.c
pwm_nxp_flexio.c drivers: pwm: generate pwm with nxp flexio IP 2024-06-11 11:38:48 +01:00
pwm_nxp_s32_emios.c
pwm_pca9685.c
pwm_rcar.c
pwm_renesas_ra8.c drivers: pwm: Initial support for PWM driver on RA8 2024-10-11 09:28:29 +02:00
pwm_rpi_pico.c drivers: pwm: rpi_pico: Configuring the divide ratio adaptively 2024-10-10 10:07:47 +02:00
pwm_rv32m1_tpm.c
pwm_sam.c
pwm_sam0_tcc.c
pwm_shell.c
pwm_sifive.c
pwm_stm32.c drivers: pwm: pwm_stm32: remove capture overflow log err 2024-09-25 04:01:59 -04:00
pwm_test.c
pwm_xlnx_axi_timer.c
pwm_xmc4xxx_ccu4.c
pwm_xmc4xxx_ccu8.c