1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-17 22:52:45 +01:00
RIOT/cpu/stm32/periph
bors[bot] f47003c1db
Merge #19572
19572: cpu/stm32/periph_pwm: support of complementary timer outputs r=maribu a=gschorcht

### Contribution description

This PR provides the support of complementary timer outputs as PWM channels for advanced timers (TIM1/TIM8).

To use a complementary output of an advanced timer as PWM channel, the output is defined with an offset of 4, i.e. normal outputs are in the range of 0 to 3 (CH1...CH4) and complementary outputs are in the range of 4 to 6 (CH1N...CH3N). If the defined output is less than 4, the normal output is enabled, otherwise the complementary output is enabled.

This change is required to support PWM on boards that have connected the complementary outputs of advanced timers to the PWM connector pins, for example the STM32L496-DISCO board.

### Testing procedure

- Green CI
- Use any STM32 board which supports the `periph_pwm` feature. `tests/periph_pwm` should still work.
- Change the configuration for this board so that either timer TIM1 or TIM8 and a complementary channel is used for any exposed GPIO. `tests/periph_pwm` should also work with such a configuration.

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-05-20 09:57:27 +00:00
..
adc_f0_g0.c cpu/stm32: add VBAT for stm32 2022-02-21 10:49:43 +01:00
adc_f1.c cpu/stm32/periph/adc_f1: removes ADC configuration loading 2020-08-27 03:56:26 +02:00
adc_f2.c cpu/stm32: add VBAT for stm32 2022-02-21 10:49:43 +01:00
adc_f3.c cpu/stm32: add VBAT for stm32 2022-02-21 10:49:43 +01:00
adc_f4_f7.c cpu/stm32: add sampling time to F4/F7 ADC driver 2022-02-21 10:49:43 +01:00
adc_l0.c cpu/stm32/periph/adc_l0: removes ADC configuration loading 2020-08-27 03:58:33 +02:00
adc_l1.c cpu/stm32/periph/adc_l1: removes ADC configuration loading 2020-08-27 03:56:26 +02:00
adc_l4.c cpu/stm32/periph_adc: support V_REFINT as ADC channel on L4 2023-05-15 14:24:53 +02:00
adc_wl.c cpu/stm32: add VBAT for stm32 2022-02-21 10:49:43 +01:00
can.c cpu/stm32/periph_can: use container_of() 2021-12-03 10:12:35 +01:00
dac.c cpu/stm32/periph_dac: support of DAC mode register 2023-05-10 12:12:53 +02:00
dma.c cpu/stm32/periph/dma: make dma_prepare() generic 2022-10-26 09:36:45 -04:00
doc.txt cpu/stm32: Add stm32_eth_auto for auto-negotiation 2020-10-22 12:37:23 +02:00
eeprom.c cpu/*: realign ENABLE_DEBUG 2020-10-23 00:46:26 +02:00
eth_common.c cpu/stm32/periph_eth: add stm32_eth_tracing 2022-09-14 14:00:27 +02:00
eth.c core/lib: Add macros/utils.h header 2023-01-07 09:47:44 +01:00
flash_common.c cpu/stm32: add initial support for stm32u5 family 2021-12-23 11:04:41 +01:00
flashpage.c cpu/stm32: add initial support for stm32u5 family 2021-12-23 11:04:41 +01:00
gpio_all.c cpu/stm32/periph_gpio: reset PU/PD for ADC channels 2023-05-10 12:11:14 +02:00
gpio_f1.c treewide: fix typos 2022-09-15 12:12:23 +02:00
gpio_ll_irq.c cpu/stm32/periph_gpio_ll: Fix misleading comments 2023-04-06 08:31:48 +02:00
gpio_ll.c cpu/stm32/periph_gpio_ll: Fix misleading comments 2023-04-06 08:31:48 +02:00
hwrng.c cpu/stm32: add initial support for stm32u5 family 2021-12-23 11:04:41 +01:00
i2c_1.c cpu/stm32: cpu/sam0_common: rename internal i2c _start function 2023-05-14 21:08:26 +02:00
i2c_2.c cpu/stm32: cpu/sam0_common: rename internal i2c _start function 2023-05-14 21:08:26 +02:00
Kconfig cpu/stm32: improvement of USB driver selection 2022-11-03 13:52:01 +01:00
Kconfig.eth cpu/{sam0_common, stm32}: select netdev_legacy_api in KConfig 2022-08-17 23:37:05 +02:00
ltdc.c cpu/stm32: adapt ltdc periph disp_dev interface 2022-04-13 12:49:58 +02:00
Makefile cpu/stm32: fix periph_usb modeling for STM32F1 2022-10-14 16:20:04 +02:00
pm.c cpu/{cortexm_common, stm32}: add support for backup RAM 2022-01-21 15:53:18 +01:00
ptp.c stm32/ptp: avoid creating a new rounding rule 2021-03-29 16:27:27 +02:00
pwm.c cpu/stm32/periph_pwm: allow to use complementary timer channels 2023-05-19 16:51:26 +02:00
qdec.c cpu/stm32/periph_qdec: support pin remap for F1 2022-10-27 14:28:06 +02:00
rtc_all.c cpu/stm32: add rtc_mem 2021-09-07 10:06:31 +02:00
rtc_f1.c cpu/*: realign ENABLE_DEBUG 2020-10-23 00:46:26 +02:00
rtc_mem.c cpu/stm32: add rtc_mem 2021-09-07 10:06:31 +02:00
rtt_all.c boards/stm32g031-disco,examples,tests: Added STM32G031-DISCO board 2021-10-13 12:14:45 -04:00
rtt_f1.c cpu/*: realign ENABLE_DEBUG 2020-10-23 00:46:26 +02:00
spi.c cpu/stm32: Fix periph_spi operation in non-DMA mode 2023-03-30 10:36:20 +02:00
timer.c cpu/stm32/periph/timer: fix clobered IRQ flag 2023-03-13 14:01:48 -04:00
uart.c treewide/stm32: Make CLOCK_HS* configurable 2022-11-03 11:37:28 +01:00
usbdev_fs.c cpu/stm32/usbdev_fs: fix EP_REG(x) assignment for toggleable bits 2023-04-07 22:35:45 +02:00
vbat.c cpu/stm32: add VBAT for stm32 2022-02-21 10:49:43 +01:00
wdt.c cpu/*: remove unneeded ENABLE_DEBUG 2020-10-23 11:29:57 +02:00