1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
RIOT/cpu/stm32/periph
bors[bot] 2b97b76d83
Merge #18056 #19571 #19589
18056: pkg/cmsis: use unique package for CMSIS headers, DSP and NN modules r=benpicco a=aabadie



19571: cpu/stm32/periph_adc: fixes and improvements for L4 support r=benpicco a=gschorcht

### Contribution description

This PR provides the following fixes and improvements for the `periph_adc` implementation for STM32L4.
- Support STM32L496AG added.
- Instead of defining the number of ADC devices for each MCU model, the number of ADC devices is determined from ADCx definitions in CMSIS header.
- MCU specific register/value defines are valid for all L4 MCUs, model based conditional compilation is removed.
- The ADC clock disable function is fixed using a counter. The counter is incremented in `prep` and decremented in `done`. The ADC clock is disabled if the counter becomes 0.
- For boards that have not connected the V_REF+ pin to an external reference voltage, the VREFBUF peripheral can be used as V_REF+ (if supported) by setting `VREFBUF_ENABLE=1`.
- The ASCR register is available and has to be set for all STM32L471xx, STM32L475xx, STM32L476xx, STM32L485xx and STM32L486xx MCUs. Instead of using the CPU model for conditional compilation, the CPU line is used to support all MCU of that lines.
- Setting of SQR1 is fixed. Setting the SQR1 did only work before because the `ADC_SRQ_L` is set to 0 for a sequence length of 1.
- Setting the `ADC_CCR_CKMODE` did only work for the reset state. It is now cleared before it is set. Instead of using the `ADC_CCR_CKMODE_x` bits to set the mode, the mode defines are used.
 - Support for V_REFINT as ADC channel added.

### Testing procedure



19589: gnrc/gnrc_netif_hdr_print: printout timestamp if enabled r=aabadie a=chudov



Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: chudov <chudov@gmail.com>
2023-05-15 12:41:48 +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: support pin remap for F1 2022-10-27 14:28:06 +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