stm32-dac-core.h 903 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * This file is part of STM32 DAC driver
  4. *
  5. * Copyright (C) 2017, STMicroelectronics - All Rights Reserved
  6. * Author: Fabrice Gasnier <fabrice.gasnier@st.com>.
  7. */
  8. #ifndef __STM32_DAC_CORE_H
  9. #define __STM32_DAC_CORE_H
  10. #include <linux/regmap.h>
  11. /* STM32 DAC registers */
  12. #define STM32_DAC_CR 0x00
  13. #define STM32_DAC_DHR12R1 0x08
  14. #define STM32_DAC_DHR12R2 0x14
  15. #define STM32_DAC_DOR1 0x2C
  16. #define STM32_DAC_DOR2 0x30
  17. /* STM32_DAC_CR bit fields */
  18. #define STM32_DAC_CR_EN1 BIT(0)
  19. #define STM32H7_DAC_CR_HFSEL BIT(15)
  20. #define STM32_DAC_CR_EN2 BIT(16)
  21. /**
  22. * struct stm32_dac_common - stm32 DAC driver common data (for all instances)
  23. * @regmap: DAC registers shared via regmap
  24. * @vref_mv: reference voltage (mv)
  25. * @hfsel: high speed bus clock selected
  26. */
  27. struct stm32_dac_common {
  28. struct regmap *regmap;
  29. int vref_mv;
  30. bool hfsel;
  31. };
  32. #endif