ab8500-codec.h 952 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (C) ST-Ericsson SA 2012
  4. *
  5. * Author: Ola Lilja <[email protected]>
  6. * for ST-Ericsson.
  7. *
  8. * License terms:
  9. */
  10. #ifndef AB8500_CORE_CODEC_H
  11. #define AB8500_CORE_CODEC_H
  12. /* Mic-types */
  13. enum amic_type {
  14. AMIC_TYPE_SINGLE_ENDED,
  15. AMIC_TYPE_DIFFERENTIAL
  16. };
  17. /* Mic-biases */
  18. enum amic_micbias {
  19. AMIC_MICBIAS_VAMIC1,
  20. AMIC_MICBIAS_VAMIC2,
  21. AMIC_MICBIAS_UNKNOWN
  22. };
  23. /* Bias-voltage */
  24. enum ear_cm_voltage {
  25. EAR_CMV_0_95V,
  26. EAR_CMV_1_10V,
  27. EAR_CMV_1_27V,
  28. EAR_CMV_1_58V,
  29. EAR_CMV_UNKNOWN
  30. };
  31. /* Analog microphone settings */
  32. struct amic_settings {
  33. enum amic_type mic1_type;
  34. enum amic_type mic2_type;
  35. enum amic_micbias mic1a_micbias;
  36. enum amic_micbias mic1b_micbias;
  37. enum amic_micbias mic2_micbias;
  38. };
  39. /* Platform data structure for the audio-parts of the AB8500 */
  40. struct ab8500_codec_platform_data {
  41. struct amic_settings amics;
  42. enum ear_cm_voltage ear_cmv;
  43. };
  44. #endif