26
26
#include <stm32_ll_adc.h>
27
27
#include <stm32_ll_system.h>
28
28
#if defined(CONFIG_SOC_SERIES_STM32N6X ) || \
29
+ defined(CONFIG_SOC_SERIES_STM32U3X ) || \
29
30
defined(CONFIG_SOC_SERIES_STM32U5X )
30
31
#include <stm32_ll_pwr.h>
31
32
#endif /* CONFIG_SOC_SERIES_STM32U5X */
@@ -202,6 +203,7 @@ static void adc_stm32_enable_dma_support(ADC_TypeDef *adc)
202
203
LL_ADC_REG_SetDMATransfer (adc , LL_ADC_REG_DMA_TRANSFER_UNLIMITED );
203
204
#elif defined(CONFIG_SOC_SERIES_STM32H7X ) || \
204
205
defined(CONFIG_SOC_SERIES_STM32N6X ) || \
206
+ defined(CONFIG_SOC_SERIES_STM32U3X ) || \
205
207
defined(CONFIG_SOC_SERIES_STM32U5X )
206
208
/* H72x ADC3 and U5 ADC4 are different from the rest, but this call works also for them,
207
209
* so no need to call their specific function
@@ -899,6 +901,7 @@ static int set_sequencer(const struct device *dev)
899
901
if (config -> sequencer_type == FULLY_CONFIGURABLE ) {
900
902
#if defined(CONFIG_SOC_SERIES_STM32H7X ) || \
901
903
defined(CONFIG_SOC_SERIES_STM32N6X ) || \
904
+ defined(CONFIG_SOC_SERIES_STM32U3X ) || \
902
905
defined(CONFIG_SOC_SERIES_STM32U5X )
903
906
/*
904
907
* Each channel in the sequence must be previously enabled in PCSEL.
@@ -1503,7 +1506,7 @@ static void adc_stm32_enable_analog_supply(void)
1503
1506
{
1504
1507
#if defined(CONFIG_SOC_SERIES_STM32N6X )
1505
1508
LL_PWR_EnableVddADC ();
1506
- #elif defined(CONFIG_SOC_SERIES_STM32U5X )
1509
+ #elif defined(CONFIG_SOC_SERIES_STM32U5X ) || defined( CONFIG_SOC_SERIES_STM32U3X )
1507
1510
LL_PWR_EnableVDDA ();
1508
1511
#endif /* CONFIG_SOC_SERIES_STM32U5X */
1509
1512
}
@@ -1513,7 +1516,7 @@ static void adc_stm32_disable_analog_supply(void)
1513
1516
{
1514
1517
#if defined(CONFIG_SOC_SERIES_STM32N6X )
1515
1518
LL_PWR_DisableVddADC ();
1516
- #elif defined(CONFIG_SOC_SERIES_STM32U5X )
1519
+ #elif defined(CONFIG_SOC_SERIES_STM32U5X ) || defined( CONFIG_SOC_SERIES_STM32U3X )
1517
1520
LL_PWR_DisableVDDA ();
1518
1521
#endif /* CONFIG_SOC_SERIES_STM32U5X */
1519
1522
}
@@ -1580,6 +1583,7 @@ static int adc_stm32_init(const struct device *dev)
1580
1583
defined(CONFIG_SOC_SERIES_STM32H7X ) || \
1581
1584
defined(CONFIG_SOC_SERIES_STM32H7RSX ) || \
1582
1585
defined(CONFIG_SOC_SERIES_STM32N6X ) || \
1586
+ defined(CONFIG_SOC_SERIES_STM32U3X ) || \
1583
1587
defined(CONFIG_SOC_SERIES_STM32U5X )
1584
1588
/*
1585
1589
* 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)
1610
1614
}
1611
1615
}
1612
1616
#elif defined(CONFIG_SOC_SERIES_STM32H7X ) || \
1617
+ defined(CONFIG_SOC_SERIES_STM32U3X ) || \
1613
1618
defined(CONFIG_SOC_SERIES_STM32U5X ) || \
1614
1619
defined(CONFIG_SOC_SERIES_STM32WBAX )
1615
1620
while (LL_ADC_IsActiveFlag_LDORDY (adc ) == 0 ) {
@@ -1662,6 +1667,7 @@ static int adc_stm32_suspend_setup(const struct device *dev)
1662
1667
defined(CONFIG_SOC_SERIES_STM32H7X ) || \
1663
1668
defined(CONFIG_SOC_SERIES_STM32H7RSX ) || \
1664
1669
defined(CONFIG_SOC_SERIES_STM32N6X ) || \
1670
+ defined(CONFIG_SOC_SERIES_STM32U3X ) || \
1665
1671
defined(CONFIG_SOC_SERIES_STM32U5X )
1666
1672
/*
1667
1673
* L4, WB, G4, H5, H7 and U5 series STM32 needs to be put into
0 commit comments