STM32 ADCv3 updated for dynamic clocking.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@14389 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
parent
80338e1749
commit
c04365c691
|
@ -630,6 +630,10 @@ void adc_lld_start(ADCDriver *adcp) {
|
||||||
if (adcp->state == ADC_STOP) {
|
if (adcp->state == ADC_STOP) {
|
||||||
#if STM32_ADC_USE_ADC1
|
#if STM32_ADC_USE_ADC1
|
||||||
if (&ADCD1 == adcp) {
|
if (&ADCD1 == adcp) {
|
||||||
|
|
||||||
|
osalDbgAssert(STM32_ADC12_CLOCK <= STM32_ADCCLK_MAX,
|
||||||
|
"invalid clock frequency");
|
||||||
|
|
||||||
adcp->dmastp = dmaStreamAllocI(STM32_ADC_ADC1_DMA_STREAM,
|
adcp->dmastp = dmaStreamAllocI(STM32_ADC_ADC1_DMA_STREAM,
|
||||||
STM32_ADC_ADC1_DMA_IRQ_PRIORITY,
|
STM32_ADC_ADC1_DMA_IRQ_PRIORITY,
|
||||||
(stm32_dmaisr_t)adc_lld_serve_dma_interrupt,
|
(stm32_dmaisr_t)adc_lld_serve_dma_interrupt,
|
||||||
|
@ -654,6 +658,10 @@ void adc_lld_start(ADCDriver *adcp) {
|
||||||
|
|
||||||
#if STM32_ADC_USE_ADC2
|
#if STM32_ADC_USE_ADC2
|
||||||
if (&ADCD2 == adcp) {
|
if (&ADCD2 == adcp) {
|
||||||
|
|
||||||
|
osalDbgAssert(STM32_ADC12_CLOCK <= STM32_ADCCLK_MAX,
|
||||||
|
"invalid clock frequency");
|
||||||
|
|
||||||
adcp->dmastp = dmaStreamAllocI(STM32_ADC_ADC2_DMA_STREAM,
|
adcp->dmastp = dmaStreamAllocI(STM32_ADC_ADC2_DMA_STREAM,
|
||||||
STM32_ADC_ADC2_DMA_IRQ_PRIORITY,
|
STM32_ADC_ADC2_DMA_IRQ_PRIORITY,
|
||||||
(stm32_dmaisr_t)adc_lld_serve_dma_interrupt,
|
(stm32_dmaisr_t)adc_lld_serve_dma_interrupt,
|
||||||
|
@ -678,6 +686,10 @@ void adc_lld_start(ADCDriver *adcp) {
|
||||||
|
|
||||||
#if STM32_ADC_USE_ADC3
|
#if STM32_ADC_USE_ADC3
|
||||||
if (&ADCD3 == adcp) {
|
if (&ADCD3 == adcp) {
|
||||||
|
|
||||||
|
osalDbgAssert(STM32_ADC345_CLOCK <= STM32_ADCCLK_MAX,
|
||||||
|
"invalid clock frequency");
|
||||||
|
|
||||||
adcp->dmastp = dmaStreamAllocI(STM32_ADC_ADC3_DMA_STREAM,
|
adcp->dmastp = dmaStreamAllocI(STM32_ADC_ADC3_DMA_STREAM,
|
||||||
STM32_ADC_ADC3_DMA_IRQ_PRIORITY,
|
STM32_ADC_ADC3_DMA_IRQ_PRIORITY,
|
||||||
(stm32_dmaisr_t)adc_lld_serve_dma_interrupt,
|
(stm32_dmaisr_t)adc_lld_serve_dma_interrupt,
|
||||||
|
@ -705,6 +717,10 @@ void adc_lld_start(ADCDriver *adcp) {
|
||||||
|
|
||||||
#if STM32_ADC_USE_ADC4
|
#if STM32_ADC_USE_ADC4
|
||||||
if (&ADCD4 == adcp) {
|
if (&ADCD4 == adcp) {
|
||||||
|
|
||||||
|
osalDbgAssert(STM32_ADC345_CLOCK <= STM32_ADCCLK_MAX,
|
||||||
|
"invalid clock frequency");
|
||||||
|
|
||||||
adcp->dmastp = dmaStreamAllocI(STM32_ADC_ADC4_DMA_STREAM,
|
adcp->dmastp = dmaStreamAllocI(STM32_ADC_ADC4_DMA_STREAM,
|
||||||
STM32_ADC_ADC4_DMA_IRQ_PRIORITY,
|
STM32_ADC_ADC4_DMA_IRQ_PRIORITY,
|
||||||
(stm32_dmaisr_t)adc_lld_serve_dma_interrupt,
|
(stm32_dmaisr_t)adc_lld_serve_dma_interrupt,
|
||||||
|
|
|
@ -731,14 +731,6 @@
|
||||||
#else
|
#else
|
||||||
#error "invalid clock mode selected for STM32_ADC_ADC34_CLOCK_MODE"
|
#error "invalid clock mode selected for STM32_ADC_ADC34_CLOCK_MODE"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if STM32_ADC12_CLOCK > STM32_ADCCLK_MAX
|
|
||||||
#error "STM32_ADC12_CLOCK exceeding maximum frequency (STM32_ADCCLK_MAX)"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if STM32_ADC34_CLOCK > STM32_ADCCLK_MAX
|
|
||||||
#error "STM32_ADC34_CLOCK exceeding maximum frequency (STM32_ADCCLK_MAX)"
|
|
||||||
#endif
|
|
||||||
#endif /* defined(STM32F3XX) */
|
#endif /* defined(STM32F3XX) */
|
||||||
|
|
||||||
#if defined(STM32L4XX) || defined(STM32L4XXP)
|
#if defined(STM32L4XX) || defined(STM32L4XXP)
|
||||||
|
@ -753,10 +745,6 @@
|
||||||
#else
|
#else
|
||||||
#error "invalid clock mode selected for STM32_ADC_ADC123_CLOCK_MODE"
|
#error "invalid clock mode selected for STM32_ADC_ADC123_CLOCK_MODE"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if STM32_ADC123_CLOCK > STM32_ADCCLK_MAX
|
|
||||||
#error "STM32_ADC123_CLOCK exceeding maximum frequency (STM32_ADCCLK_MAX)"
|
|
||||||
#endif
|
|
||||||
#endif /* defined(STM32L4XX) || defined(STM32L4XXP) */
|
#endif /* defined(STM32L4XX) || defined(STM32L4XXP) */
|
||||||
|
|
||||||
#if defined(STM32G4XX)
|
#if defined(STM32G4XX)
|
||||||
|
@ -783,14 +771,6 @@
|
||||||
#else
|
#else
|
||||||
#error "invalid clock mode selected for STM32_ADC_ADC345_CLOCK_MODE"
|
#error "invalid clock mode selected for STM32_ADC_ADC345_CLOCK_MODE"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if STM32_ADC12_CLOCK > STM32_ADCCLK_MAX
|
|
||||||
#error "STM32_ADC12_CLOCK exceeding maximum frequency (STM32_ADCCLK_MAX)"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if STM32_ADC345_CLOCK > STM32_ADCCLK_MAX
|
|
||||||
#error "STM32_ADC345_CLOCK exceeding maximum frequency (STM32_ADCCLK_MAX)"
|
|
||||||
#endif
|
|
||||||
#endif /* defined(STM32G4XX) */
|
#endif /* defined(STM32G4XX) */
|
||||||
|
|
||||||
#if !defined(STM32_DMA_REQUIRED)
|
#if !defined(STM32_DMA_REQUIRED)
|
||||||
|
|
|
@ -1428,7 +1428,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief ADC clock frequency.
|
* @brief ADC12 clock frequency.
|
||||||
*/
|
*/
|
||||||
#if (STM32_ADC12SEL == STM32_ADC12SEL_NOCLK) || defined(__DOXYGEN__)
|
#if (STM32_ADC12SEL == STM32_ADC12SEL_NOCLK) || defined(__DOXYGEN__)
|
||||||
#define STM32_ADC12CLK 0
|
#define STM32_ADC12CLK 0
|
||||||
|
@ -1444,7 +1444,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief ADC clock frequency.
|
* @brief ADC345 clock frequency.
|
||||||
*/
|
*/
|
||||||
#if (STM32_ADC345SEL == STM32_ADC345SEL_NOCLK) || defined(__DOXYGEN__)
|
#if (STM32_ADC345SEL == STM32_ADC345SEL_NOCLK) || defined(__DOXYGEN__)
|
||||||
#define STM32_ADC345CLK 0
|
#define STM32_ADC345CLK 0
|
||||||
|
|
|
@ -74,7 +74,7 @@
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
|
|
||||||
*** Next ***
|
*** Next ***
|
||||||
- NEW: STM32 USARTv2, USARTv3 updated for dynamic clocking.
|
- NEW: STM32 USARTv2, USARTv3, USBv1 updated for dynamic clocking.
|
||||||
- NEW: Dynamic support implemented for STM32G4xx.
|
- NEW: Dynamic support implemented for STM32G4xx.
|
||||||
- NEW: Dynamic clocks support in HAL.
|
- NEW: Dynamic clocks support in HAL.
|
||||||
- NEW: Reload feature added to RT virtual timers.
|
- NEW: Reload feature added to RT virtual timers.
|
||||||
|
|
Loading…
Reference in New Issue