max98095.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. * Platform data for MAX98095
  4. *
  5. * Copyright 2011 Maxim Integrated Products
  6. */
  7. #ifndef __SOUND_MAX98095_PDATA_H__
  8. #define __SOUND_MAX98095_PDATA_H__
  9. /* Equalizer filter response configuration */
  10. struct max98095_eq_cfg {
  11. const char *name;
  12. unsigned int rate;
  13. u16 band1[5];
  14. u16 band2[5];
  15. u16 band3[5];
  16. u16 band4[5];
  17. u16 band5[5];
  18. };
  19. /* Biquad filter response configuration */
  20. struct max98095_biquad_cfg {
  21. const char *name;
  22. unsigned int rate;
  23. u16 band1[5];
  24. u16 band2[5];
  25. };
  26. /* codec platform data */
  27. struct max98095_pdata {
  28. /* Equalizers for DAI1 and DAI2 */
  29. struct max98095_eq_cfg *eq_cfg;
  30. unsigned int eq_cfgcnt;
  31. /* Biquad filter for DAI1 and DAI2 */
  32. struct max98095_biquad_cfg *bq_cfg;
  33. unsigned int bq_cfgcnt;
  34. /* Analog/digital microphone configuration:
  35. * 0 = analog microphone input (normal setting)
  36. * 1 = digital microphone input
  37. */
  38. unsigned int digmic_left_mode:1;
  39. unsigned int digmic_right_mode:1;
  40. /* Pin5 is the mechanical method of sensing jack insertion
  41. * but it is something that might not be supported.
  42. * 0 = PIN5 not supported
  43. * 1 = PIN5 supported
  44. */
  45. unsigned int jack_detect_pin5en:1;
  46. /* Slew amount for jack detection. Calculated as 4 * (delay + 1).
  47. * Default delay is 24 to get a time of 100ms.
  48. */
  49. unsigned int jack_detect_delay;
  50. };
  51. #endif