da7219-aad.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. * da7219-aad.h - DA7322 ASoC Codec AAD Driver Platform Data
  4. *
  5. * Copyright (c) 2015 Dialog Semiconductor Ltd.
  6. *
  7. * Author: Adam Thomson <[email protected]>
  8. */
  9. #ifndef __DA7219_AAD_PDATA_H
  10. #define __DA7219_AAD_PDATA_H
  11. enum da7219_aad_micbias_pulse_lvl {
  12. DA7219_AAD_MICBIAS_PULSE_LVL_OFF = 0,
  13. DA7219_AAD_MICBIAS_PULSE_LVL_2_8V = 6,
  14. DA7219_AAD_MICBIAS_PULSE_LVL_2_9V,
  15. };
  16. enum da7219_aad_btn_cfg {
  17. DA7219_AAD_BTN_CFG_2MS = 1,
  18. DA7219_AAD_BTN_CFG_5MS,
  19. DA7219_AAD_BTN_CFG_10MS,
  20. DA7219_AAD_BTN_CFG_50MS,
  21. DA7219_AAD_BTN_CFG_100MS,
  22. DA7219_AAD_BTN_CFG_200MS,
  23. DA7219_AAD_BTN_CFG_500MS,
  24. };
  25. enum da7219_aad_mic_det_thr {
  26. DA7219_AAD_MIC_DET_THR_200_OHMS = 0,
  27. DA7219_AAD_MIC_DET_THR_500_OHMS,
  28. DA7219_AAD_MIC_DET_THR_750_OHMS,
  29. DA7219_AAD_MIC_DET_THR_1000_OHMS,
  30. };
  31. enum da7219_aad_jack_ins_deb {
  32. DA7219_AAD_JACK_INS_DEB_5MS = 0,
  33. DA7219_AAD_JACK_INS_DEB_10MS,
  34. DA7219_AAD_JACK_INS_DEB_20MS,
  35. DA7219_AAD_JACK_INS_DEB_50MS,
  36. DA7219_AAD_JACK_INS_DEB_100MS,
  37. DA7219_AAD_JACK_INS_DEB_200MS,
  38. DA7219_AAD_JACK_INS_DEB_500MS,
  39. DA7219_AAD_JACK_INS_DEB_1S,
  40. };
  41. enum da7219_aad_jack_det_rate {
  42. DA7219_AAD_JACK_DET_RATE_32_64MS = 0,
  43. DA7219_AAD_JACK_DET_RATE_64_128MS,
  44. DA7219_AAD_JACK_DET_RATE_128_256MS,
  45. DA7219_AAD_JACK_DET_RATE_256_512MS,
  46. };
  47. enum da7219_aad_jack_rem_deb {
  48. DA7219_AAD_JACK_REM_DEB_1MS = 0,
  49. DA7219_AAD_JACK_REM_DEB_5MS,
  50. DA7219_AAD_JACK_REM_DEB_10MS,
  51. DA7219_AAD_JACK_REM_DEB_20MS,
  52. };
  53. enum da7219_aad_btn_avg {
  54. DA7219_AAD_BTN_AVG_1 = 0,
  55. DA7219_AAD_BTN_AVG_2,
  56. DA7219_AAD_BTN_AVG_4,
  57. DA7219_AAD_BTN_AVG_8,
  58. };
  59. enum da7219_aad_adc_1bit_rpt {
  60. DA7219_AAD_ADC_1BIT_RPT_1 = 0,
  61. DA7219_AAD_ADC_1BIT_RPT_2,
  62. DA7219_AAD_ADC_1BIT_RPT_4,
  63. DA7219_AAD_ADC_1BIT_RPT_8,
  64. };
  65. struct da7219_aad_pdata {
  66. int irq;
  67. enum da7219_aad_micbias_pulse_lvl micbias_pulse_lvl;
  68. u32 micbias_pulse_time;
  69. enum da7219_aad_btn_cfg btn_cfg;
  70. enum da7219_aad_mic_det_thr mic_det_thr;
  71. enum da7219_aad_jack_ins_deb jack_ins_deb;
  72. enum da7219_aad_jack_det_rate jack_det_rate;
  73. enum da7219_aad_jack_rem_deb jack_rem_deb;
  74. u8 a_d_btn_thr;
  75. u8 d_b_btn_thr;
  76. u8 b_c_btn_thr;
  77. u8 c_mic_btn_thr;
  78. enum da7219_aad_btn_avg btn_avg;
  79. enum da7219_aad_adc_1bit_rpt adc_1bit_rpt;
  80. };
  81. #endif /* __DA7219_AAD_PDATA_H */