summaryrefslogtreecommitdiff
path: root/chip/stm32/adc-stm32f0.c
diff options
context:
space:
mode:
Diffstat (limited to 'chip/stm32/adc-stm32f0.c')
-rw-r--r--chip/stm32/adc-stm32f0.c61
1 files changed, 0 insertions, 61 deletions
diff --git a/chip/stm32/adc-stm32f0.c b/chip/stm32/adc-stm32f0.c
index ca111d055e..fc6c11f334 100644
--- a/chip/stm32/adc-stm32f0.c
+++ b/chip/stm32/adc-stm32f0.c
@@ -284,67 +284,6 @@ int adc_read_channel(enum adc_channel ch)
return value * adc->factor_mul / adc->factor_div + adc->shift;
}
-int adc_read_all_channels(int *data)
-{
- int i;
- uint32_t channels = 0;
- const struct adc_t *adc;
- int restore_watchdog = 0;
- int ret = EC_SUCCESS;
- int blocking_read = !profile.ier_reg;
-
- mutex_lock(&adc_lock);
-
- if (adc_watchdog_enabled()) {
- ASSERT(blocking_read);
- restore_watchdog = 1;
- adc_disable_watchdog_no_lock();
- }
-
- /* Select all used channels */
- for (i = 0; i < ADC_CH_COUNT; ++i)
- channels |= 1 << adc_channels[i].channel;
- STM32_ADC_CHSELR = channels;
-
- /* Enable DMA */
- STM32_ADC_CFGR1 |= STM32_ADC_CFGR1_DMAEN;
-
- dma_clear_isr(STM32_DMAC_ADC);
- dma_start_rx(profile.dma_option,
- profile.dma_buffer_size * ADC_CH_COUNT,
- data);
-
- /* Clear flags */
- STM32_ADC_ISR = 0xe;
- /* Enable requested interrupt(s) */
- STM32_ADC_IER |= profile.ier_reg;
- if (!blocking_read)
- task_enable_irq(STM32_IRQ_ADC_COMP);
-
- STM32_ADC_CR |= 1 << 2; /* ADSTART */
-
- if (blocking_read) {
- if (dma_wait(STM32_DMAC_ADC)) {
- ret = EC_ERROR_UNKNOWN;
- goto fail;
- }
-
- for (i = 0; i < ADC_CH_COUNT; ++i) {
- adc = adc_channels + i;
- data[i] = (data[i] & 0xffff) *
- adc->factor_mul / adc->factor_div +
- adc->shift;
- }
- }
-
-fail:
- if (restore_watchdog)
- adc_enable_watchdog_no_lock();
- if (blocking_read)
- mutex_unlock(&adc_lock);
- return ret;
-}
-
static void adc_init(void)
{
/*