stm32-adc-core.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * This file is part of STM32 ADC driver
  4. *
  5. * Copyright (C) 2016, STMicroelectronics - All Rights Reserved
  6. * Author: Fabrice Gasnier <fabrice.gasnier@st.com>.
  7. *
  8. */
  9. #ifndef __STM32_ADC_H
  10. #define __STM32_ADC_H
  11. /*
  12. * STM32 - ADC global register map
  13. * ________________________________________________________
  14. * | Offset | Register |
  15. * --------------------------------------------------------
  16. * | 0x000 | Master ADC1 |
  17. * --------------------------------------------------------
  18. * | 0x100 | Slave ADC2 |
  19. * --------------------------------------------------------
  20. * | 0x200 | Slave ADC3 |
  21. * --------------------------------------------------------
  22. * | 0x300 | Master & Slave common regs |
  23. * --------------------------------------------------------
  24. */
  25. #define STM32_ADC_MAX_ADCS 3
  26. #define STM32_ADCX_COMN_OFFSET 0x300
  27. /**
  28. * struct stm32_adc_common - stm32 ADC driver common data (for all instances)
  29. * @base: control registers base cpu addr
  30. * @phys_base: control registers base physical addr
  31. * @rate: clock rate used for analog circuitry
  32. * @vref_mv: vref voltage (mv)
  33. */
  34. struct stm32_adc_common {
  35. void __iomem *base;
  36. phys_addr_t phys_base;
  37. unsigned long rate;
  38. int vref_mv;
  39. };
  40. #endif