Skip to content

Commit f568b0d

Browse files
kbidanidkalowsk
authored andcommitted
drivers: adc: update adc driver to integrate stm32u3
add u3 config_soc conditions in adc driver to handle news peripherals. Signed-off-by: Khaoula Bidani <[email protected]>
1 parent be94ee5 commit f568b0d

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

drivers/adc/adc_stm32.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#include <stm32_ll_adc.h>
2727
#include <stm32_ll_system.h>
2828
#if defined(CONFIG_SOC_SERIES_STM32N6X) || \
29+
defined(CONFIG_SOC_SERIES_STM32U3X) || \
2930
defined(CONFIG_SOC_SERIES_STM32U5X)
3031
#include <stm32_ll_pwr.h>
3132
#endif /* CONFIG_SOC_SERIES_STM32U5X */
@@ -202,6 +203,7 @@ static void adc_stm32_enable_dma_support(ADC_TypeDef *adc)
202203
LL_ADC_REG_SetDMATransfer(adc, LL_ADC_REG_DMA_TRANSFER_UNLIMITED);
203204
#elif defined(CONFIG_SOC_SERIES_STM32H7X) || \
204205
defined(CONFIG_SOC_SERIES_STM32N6X) || \
206+
defined(CONFIG_SOC_SERIES_STM32U3X) || \
205207
defined(CONFIG_SOC_SERIES_STM32U5X)
206208
/* H72x ADC3 and U5 ADC4 are different from the rest, but this call works also for them,
207209
* so no need to call their specific function
@@ -899,6 +901,7 @@ static int set_sequencer(const struct device *dev)
899901
if (config->sequencer_type == FULLY_CONFIGURABLE) {
900902
#if defined(CONFIG_SOC_SERIES_STM32H7X) || \
901903
defined(CONFIG_SOC_SERIES_STM32N6X) || \
904+
defined(CONFIG_SOC_SERIES_STM32U3X) || \
902905
defined(CONFIG_SOC_SERIES_STM32U5X)
903906
/*
904907
* Each channel in the sequence must be previously enabled in PCSEL.
@@ -1503,7 +1506,7 @@ static void adc_stm32_enable_analog_supply(void)
15031506
{
15041507
#if defined(CONFIG_SOC_SERIES_STM32N6X)
15051508
LL_PWR_EnableVddADC();
1506-
#elif defined(CONFIG_SOC_SERIES_STM32U5X)
1509+
#elif defined(CONFIG_SOC_SERIES_STM32U5X) || defined(CONFIG_SOC_SERIES_STM32U3X)
15071510
LL_PWR_EnableVDDA();
15081511
#endif /* CONFIG_SOC_SERIES_STM32U5X */
15091512
}
@@ -1513,7 +1516,7 @@ static void adc_stm32_disable_analog_supply(void)
15131516
{
15141517
#if defined(CONFIG_SOC_SERIES_STM32N6X)
15151518
LL_PWR_DisableVddADC();
1516-
#elif defined(CONFIG_SOC_SERIES_STM32U5X)
1519+
#elif defined(CONFIG_SOC_SERIES_STM32U5X) || defined(CONFIG_SOC_SERIES_STM32U3X)
15171520
LL_PWR_DisableVDDA();
15181521
#endif /* CONFIG_SOC_SERIES_STM32U5X */
15191522
}
@@ -1580,6 +1583,7 @@ static int adc_stm32_init(const struct device *dev)
15801583
defined(CONFIG_SOC_SERIES_STM32H7X) || \
15811584
defined(CONFIG_SOC_SERIES_STM32H7RSX) || \
15821585
defined(CONFIG_SOC_SERIES_STM32N6X) || \
1586+
defined(CONFIG_SOC_SERIES_STM32U3X) || \
15831587
defined(CONFIG_SOC_SERIES_STM32U5X)
15841588
/*
15851589
* L4, WB, G4, H5, H7 and U5 series STM32 needs to be awaken from deep sleep
@@ -1610,6 +1614,7 @@ static int adc_stm32_init(const struct device *dev)
16101614
}
16111615
}
16121616
#elif defined(CONFIG_SOC_SERIES_STM32H7X) || \
1617+
defined(CONFIG_SOC_SERIES_STM32U3X) || \
16131618
defined(CONFIG_SOC_SERIES_STM32U5X) || \
16141619
defined(CONFIG_SOC_SERIES_STM32WBAX)
16151620
while (LL_ADC_IsActiveFlag_LDORDY(adc) == 0) {
@@ -1662,6 +1667,7 @@ static int adc_stm32_suspend_setup(const struct device *dev)
16621667
defined(CONFIG_SOC_SERIES_STM32H7X) || \
16631668
defined(CONFIG_SOC_SERIES_STM32H7RSX) || \
16641669
defined(CONFIG_SOC_SERIES_STM32N6X) || \
1670+
defined(CONFIG_SOC_SERIES_STM32U3X) || \
16651671
defined(CONFIG_SOC_SERIES_STM32U5X)
16661672
/*
16671673
* L4, WB, G4, H5, H7 and U5 series STM32 needs to be put into

0 commit comments

Comments
 (0)