msm-dai-q6-v2.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /* Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
  2. *
  3. * This program is free software; you can redistribute it and/or modify
  4. * it under the terms of the GNU General Public License version 2 and
  5. * only version 2 as published by the Free Software Foundation.
  6. *
  7. * This program is distributed in the hope that it will be useful,
  8. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. * GNU General Public License for more details.
  11. */
  12. #ifndef __MSM_DAI_Q6_PDATA_H__
  13. #define __MSM_DAI_Q6_PDATA_H__
  14. #define MSM_MI2S_SD0 (1 << 0)
  15. #define MSM_MI2S_SD1 (1 << 1)
  16. #define MSM_MI2S_SD2 (1 << 2)
  17. #define MSM_MI2S_SD3 (1 << 3)
  18. #define MSM_MI2S_CAP_RX 0
  19. #define MSM_MI2S_CAP_TX 1
  20. #define MSM_PRIM_MI2S 0
  21. #define MSM_SEC_MI2S 1
  22. #define MSM_TERT_MI2S 2
  23. #define MSM_QUAT_MI2S 3
  24. struct msm_dai_auxpcm_config {
  25. u16 mode;
  26. u16 sync;
  27. u16 frame;
  28. u16 quant;
  29. /* modify slot to arr[4] to specify
  30. * the slot number for each channel
  31. * in multichannel scenario */
  32. u16 slot;
  33. u16 data;
  34. int pcm_clk_rate;
  35. };
  36. struct msm_dai_auxpcm_pdata {
  37. struct msm_dai_auxpcm_config mode_8k;
  38. struct msm_dai_auxpcm_config mode_16k;
  39. };
  40. struct msm_mi2s_pdata {
  41. u16 rx_sd_lines;
  42. u16 tx_sd_lines;
  43. };
  44. struct msm_i2s_data {
  45. u32 capability; /* RX or TX */
  46. u16 sd_lines;
  47. };
  48. #endif