cs35l33.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * linux/sound/cs35l33.h -- Platform data for CS35l33
  3. *
  4. * Copyright (c) 2016 Cirrus Logic Inc.
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License version 2 as
  8. * published by the Free Software Foundation.
  9. */
  10. #ifndef __CS35L33_H
  11. #define __CS35L33_H
  12. struct cs35l33_hg {
  13. bool enable_hg_algo;
  14. unsigned int mem_depth;
  15. unsigned int release_rate;
  16. unsigned int hd_rm;
  17. unsigned int ldo_thld;
  18. unsigned int ldo_path_disable;
  19. unsigned int ldo_entry_delay;
  20. bool vp_hg_auto;
  21. unsigned int vp_hg;
  22. unsigned int vp_hg_rate;
  23. unsigned int vp_hg_va;
  24. };
  25. struct cs35l33_pdata {
  26. /* Boost Controller Voltage Setting */
  27. unsigned int boost_ctl;
  28. /* Boost Controller Peak Current */
  29. unsigned int boost_ipk;
  30. /* Amplifier Drive Select */
  31. unsigned int amp_drv_sel;
  32. /* soft volume ramp */
  33. unsigned int ramp_rate;
  34. /* IMON adc scale */
  35. unsigned int imon_adc_scale;
  36. /* H/G algo configuration */
  37. struct cs35l33_hg hg_config;
  38. };
  39. #endif /* __CS35L33_H */