Skip to content

Commit

Permalink
drivers: adc: stm32: use correct macros for dma transfer
Browse files Browse the repository at this point in the history
Use the correct dedicated macros for enabling DMA transfer for STM32H7 and
U5.

Signed-off-by: Guillaume Gautier <[email protected]>
  • Loading branch information
gautierg-st authored and nashif committed Mar 12, 2024
1 parent 7aa5d33 commit 3b50237
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions drivers/adc/adc_stm32.c
Original file line number Diff line number Diff line change
Expand Up @@ -221,12 +221,9 @@ static void adc_stm32_enable_dma_support(ADC_TypeDef *adc)

#if defined(ADC_VER_V5_V90)
if (adc == ADC3) {
LL_ADC_REG_SetDMATransferMode(adc,
ADC3_CFGR_DMACONTREQ(LL_ADC_REG_DMA_TRANSFER_LIMITED));
LL_ADC_EnableDMAReq(adc);
LL_ADC_REG_SetDMATransferMode(adc, LL_ADC3_REG_DMA_TRANSFER_LIMITED);
} else {
LL_ADC_REG_SetDataTransferMode(adc,
ADC_CFGR_DMACONTREQ(LL_ADC_REG_DMA_TRANSFER_LIMITED));
LL_ADC_REG_SetDataTransferMode(adc, LL_ADC_REG_DMA_TRANSFER_LIMITED);
}
#elif defined(ADC_VER_V5_X)
LL_ADC_REG_SetDataTransferMode(adc, LL_ADC_REG_DMA_TRANSFER_LIMITED);
Expand All @@ -238,7 +235,15 @@ static void adc_stm32_enable_dma_support(ADC_TypeDef *adc)

#error "The STM32F1 ADC + DMA is not yet supported"

#else /* DT_HAS_COMPAT_STATUS_OKAY(st_stm32f1_adc) */
#elif defined(CONFIG_SOC_SERIES_STM32U5X) /* DT_HAS_COMPAT_STATUS_OKAY(st_stm32f1_adc) */

if (adc == ADC4) {
LL_ADC_REG_SetDMATransfer(adc, LL_ADC_REG_DMA_TRANSFER_LIMITED_ADC4);
} else {
LL_ADC_REG_SetDataTransferMode(adc, LL_ADC_REG_DMA_TRANSFER_LIMITED);
}

#else /* defined(CONFIG_SOC_SERIES_STM32U5X) */

/* Default mechanism for other MCUs */
LL_ADC_REG_SetDMATransfer(adc, LL_ADC_REG_DMA_TRANSFER_LIMITED);
Expand Down

0 comments on commit 3b50237

Please sign in to comment.