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] f08ab0814c
Merge #19629
19629: cpu/stm32/periph/adc: fix setting ADC clock r=benpicco a=Enoch247

### Contribution description

The current implementation uses the core clock frequency to calculate the needed prescalar to achieve a given ADC clock frequency. This is incorrect. This patch fixes the calculation to use the correct source clock (PCKLK2 ie APB2). It also changes the defined max clock rate to use the frequency macro to improve readability.

I based on code similarity. I believe the gd32v CPU may need this same fix, but I am not familiar with that MCU.

### Testing procedure

I tested this on a nucleo-f767zi. The the MCU's reference manual is in agreement with what I have implemented here. I spot checked references manuals for a random [STM32F1](https://www.st.com/resource/en/reference_manual/cd00171190-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf) and [STM32F2](https://www.st.com/resource/en/reference_manual/rm0033-stm32f205xx-stm32f207xx-stm32f215xx-and-stm32f217xx-advanced-armbased-32bit-mcus-stmicroelectronics.pdf), and they are clocked similar to the F7 I have.

### Issues/PRs references

None known.


Co-authored-by: Joshua DeWeese <jdeweese@primecontrols.com>
2023-05-28 05:23:29 +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: fix setting ADC clock 2023-05-19 12:02:34 -04:00
adc_f2.c cpu/stm32/periph/adc: fix setting ADC clock 2023-05-19 12:02:34 -04:00
adc_f3.c cpu/stm32: add VBAT for stm32 2022-02-21 10:49:43 +01:00
adc_f4_f7.c cpu/stm32/periph/adc: fix setting ADC clock 2023-05-19 12:02:34 -04: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