zephyr/drivers/pwm
Hein Wessels 1732651062 drivers: pwm: stm32: support capturing on four channels
Previously the pwm capture only support capturing on channel 1
and 2, because the slave mode controller was used, which uses
the signal TIxFP which is not available for channel 3 and 4.

This commit adds optional support for four channel capturing by
changing the method of capturing PWM signals to not use the
slave mode controller to reset the counter register. Instead the
counter is reset in the ISR. This will result in a slight loss
of accuracy but is still within an acceptable range.

Co-authored-by: Jeroen van Dooren <jeroen.van.dooren@nobleo.nl>
Signed-off-by: Hein Wessels <heinwessels93@gmail.com>
2023-09-07 09:42:25 +02:00
..
CMakeLists.txt drivers: pwm: introduce PWM driver for NXP S32 EMIOS 2023-09-06 11:44:00 +02:00
Kconfig drivers: pwm: introduce PWM driver for NXP S32 EMIOS 2023-09-06 11:44:00 +02:00
Kconfig.b91 drivers: pwm: Update drivers to use devicetree Kconfig symbol 2022-07-22 07:50:44 -05:00
Kconfig.cc13xx_cc26xx_timer drivers: cc13xx_cc26xx: pwm: introduce pwm driver 2023-08-14 13:36:12 +00:00
Kconfig.esp32 drivers: pwm: Update drivers to use devicetree Kconfig symbol 2022-07-22 07:50:44 -05:00
Kconfig.gd32 drivers: pwm: Update drivers to use devicetree Kconfig symbol 2022-07-22 07:50:44 -05:00
Kconfig.gecko drivers: pwm: Update drivers to use devicetree Kconfig symbol 2022-07-22 07:50:44 -05:00
Kconfig.imx drivers: pwm: Update drivers to use devicetree Kconfig symbol 2022-07-22 07:50:44 -05:00
Kconfig.intel_blinky drivers: pwm: Add support for pch intel blink driver 2023-07-12 14:50:16 +03:00
Kconfig.it8xxx2 drivers: pwm: Update drivers to use devicetree Kconfig symbol 2022-07-22 07:50:44 -05:00
Kconfig.litex drivers: pwm: Update drivers to use devicetree Kconfig symbol 2022-07-22 07:50:44 -05:00
Kconfig.max31790 drivers: pwm: implement MAX31790 2023-07-25 09:08:30 +02:00
Kconfig.mcux drivers: pwm: Update drivers to use devicetree Kconfig symbol 2022-07-22 07:50:44 -05:00
Kconfig.mcux_ctimer drivers: rt6xx ctimer pwm driver 2023-08-03 12:39:06 -04:00
Kconfig.mcux_ftm drivers: pwm: Update drivers to use devicetree Kconfig symbol 2022-07-22 07:50:44 -05:00
Kconfig.mcux_pwt drivers: pwm: Update drivers to use devicetree Kconfig symbol 2022-07-22 07:50:44 -05:00
Kconfig.mcux_sctimer drivers: all: mcux: remove conditional support for pinctrl 2023-04-24 13:34:22 +02:00
Kconfig.mcux_tpm drivers: pwm: Update drivers to use devicetree Kconfig symbol 2022-07-22 07:50:44 -05:00
Kconfig.npcx drivers: pwm: Update drivers to use devicetree Kconfig symbol 2022-07-22 07:50:44 -05:00
Kconfig.nrf_sw drivers: pwm_nrf5_sw: Rename to pwm_nrf_sw 2023-08-16 16:33:03 +02:00
Kconfig.nrfx drivers: pwm: Update drivers to use devicetree Kconfig symbol 2022-07-22 07:50:44 -05:00
Kconfig.numaker drivers: pwm: support for Nuvoton numaker series 2023-08-31 10:19:31 +02:00
Kconfig.nxp_s32_emios drivers: pwm: introduce PWM driver for NXP S32 EMIOS 2023-09-06 11:44:00 +02:00
Kconfig.pca9685 drivers: pwm: add NXP PCA9685 controller 2023-01-11 09:38:18 +01:00
Kconfig.rcar drivers: pwm: add Renesas R-Car driver 2022-09-07 15:50:49 +02:00
Kconfig.rpi_pico drivers: pwm: Update drivers to use devicetree Kconfig symbol 2022-07-22 07:50:44 -05:00
Kconfig.rv32m1_tpm drivers: all: rv32m1: remove conditional support for pinctrl 2023-04-24 13:34:22 +02:00
Kconfig.sam drivers: pwm: Update drivers to use devicetree Kconfig symbol 2022-07-22 07:50:44 -05:00
Kconfig.sam0 drivers: pwm: Update drivers to use devicetree Kconfig symbol 2022-07-22 07:50:44 -05:00
Kconfig.sifive drivers: pwm: Use a common initialization priority 2022-10-03 15:24:38 -04:00
Kconfig.stm32 drivers: pwm: pwm_stm32: reset timer using RCC before initialization 2023-07-20 10:36:10 +00:00
Kconfig.test drivers: pwm: Update drivers to use devicetree Kconfig symbol 2022-07-22 07:50:44 -05:00
Kconfig.xec drivers: all: mchp_xec: remove conditional support for pinctrl 2023-04-24 13:34:22 +02:00
Kconfig.xlnx drivers: pwm: Update drivers to use devicetree Kconfig symbol 2022-07-22 07:50:44 -05:00
Kconfig.xmc4xxx_ccu4 drivers: pwm: Add driver for xmc4xxx using ccu4 module 2023-07-26 15:09:41 +02:00
Kconfig.xmc4xxx_ccu8 drivers: pwm: Add driver for xmc4xxx using ccu8 module 2023-07-26 15:09:41 +02:00
pwm_b91.c drivers: pwm: Use a common initialization priority 2022-10-03 15:24:38 -04:00
pwm_capture.c includes: prefer <zephyr/kernel.h> over <zephyr/zephyr.h> 2022-09-05 16:31:47 +02:00
pwm_cc13xx_cc26xx_timer.c drivers: cc13xx_cc26xx: pwm: introduce pwm driver 2023-08-14 13:36:12 +00:00
pwm_gd32.c treewide: Update clock control API usage 2023-04-05 10:55:46 +02:00
pwm_gecko.c drivers: pwm: Use a common initialization priority 2022-10-03 15:24:38 -04:00
pwm_handlers.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
pwm_imx.c include: add missing kernel.h include 2022-10-11 18:05:17 +02:00
pwm_intel_blinky.c drivers: pwm: Add support for pch intel blink driver 2023-07-12 14:50:16 +03:00
pwm_ite_it8xxx2.c ITE: drivers/pwm: Add the flag of PWM output open-drain mode 2023-08-25 10:31:42 +02:00
pwm_led_esp32.c dts: esp32s3: add LEDC device 2023-03-31 09:19:56 +02:00
pwm_litex.c drivers: gpio: it8xxx2: add missing chip_chipregs.h/soc_common.h 2022-10-11 18:05:17 +02:00
pwm_max31790.c drivers: pwm: implement MAX31790 2023-07-25 09:08:30 +02:00
pwm_mc_esp32.c drivers: pwm: Use a common initialization priority 2022-10-03 15:24:38 -04:00
pwm_mchp_xec.c drivers: pwm: mchp: Low power mode enabled 2023-07-20 10:42:19 +00:00
pwm_mchp_xec_bbled.c drivers: bbled: pwm: mchp: BBLED low power mode updated 2023-07-25 09:09:44 +02:00
pwm_mcux.c drivers: pwm: pwm_mcux: fix for coverity 321142 2023-07-10 09:30:05 +02:00
pwm_mcux_ctimer.c drivers: rt6xx ctimer pwm driver 2023-08-03 12:39:06 -04:00
pwm_mcux_ftm.c drivers: pwm: mcux: ftm: fix pwm capture timer overflow count edge cases 2022-12-05 08:06:44 -06:00
pwm_mcux_pwt.c include: add missing irq.h include 2022-10-11 18:05:17 +02:00
pwm_mcux_sctimer.c drivers: all: mcux: remove conditional support for pinctrl 2023-04-24 13:34:22 +02:00
pwm_mcux_tpm.c drivers: pwm: Use a common initialization priority 2022-10-03 15:24:38 -04:00
pwm_npcx.c sys: util: migrate all files to DIV_ROUND_UP 2023-04-11 12:00:37 +02:00
pwm_nrf_sw.c drivers: pwm_nrf5_sw: Rename to pwm_nrf_sw 2023-08-16 16:33:03 +02:00
pwm_nrfx.c drivers: pwm_nrfx: Clean up driver instantiation 2023-07-25 13:41:51 +02:00
pwm_numaker.c drivers: pwm: support for Nuvoton numaker series 2023-08-31 10:19:31 +02:00
pwm_nxp_s32_emios.c drivers: pwm: introduce PWM driver for NXP S32 EMIOS 2023-09-06 11:44:00 +02:00
pwm_pca9685.c sys: util: migrate all files to DIV_ROUND_UP 2023-04-11 12:00:37 +02:00
pwm_rcar.c treewide: Update clock control API usage 2023-04-05 10:55:46 +02:00
pwm_rpi_pico.c drivers: pwm: rpi_pico: fix setting of cycle count per period 2023-01-02 13:03:46 +01:00
pwm_rv32m1_tpm.c drivers: all: rv32m1: remove conditional support for pinctrl 2023-04-24 13:34:22 +02:00
pwm_sam.c treewide: Update clock control API usage 2023-04-05 10:55:46 +02:00
pwm_sam0_tcc.c drivers: pwm: Use a common initialization priority 2022-10-03 15:24:38 -04:00
pwm_shell.c shell: fix MISRA 5.7 violations on struct shell 2023-04-14 12:21:08 +02:00
pwm_sifive.c include: add missing arch/cpu.h include 2022-10-11 18:05:17 +02:00
pwm_stm32.c drivers: pwm: stm32: support capturing on four channels 2023-09-07 09:42:25 +02:00
pwm_test.c device: remove redundant init functions 2023-04-19 10:00:25 +02:00
pwm_xlnx_axi_timer.c device: remove redundant init functions 2023-04-19 10:00:25 +02:00
pwm_xmc4xxx_ccu4.c drivers: pwm: Add driver for xmc4xxx using ccu4 module 2023-07-26 15:09:41 +02:00
pwm_xmc4xxx_ccu8.c drivers: pwm: Add driver for xmc4xxx using ccu8 module 2023-07-26 15:09:41 +02:00