dai-imx.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
  2. /*
  3. * Copyright 2019 NXP
  4. *
  5. * Author: Daniel Baluta <daniel.baluta@nxp.com>
  6. */
  7. #ifndef __INCLUDE_SOUND_SOF_DAI_IMX_H__
  8. #define __INCLUDE_SOUND_SOF_DAI_IMX_H__
  9. #include <sound/sof/header.h>
  10. /* ESAI Configuration Request - SOF_IPC_DAI_ESAI_CONFIG */
  11. struct sof_ipc_dai_esai_params {
  12. struct sof_ipc_hdr hdr;
  13. /* MCLK */
  14. uint16_t reserved1;
  15. uint16_t mclk_id;
  16. uint32_t mclk_direction;
  17. uint32_t mclk_rate; /* MCLK frequency in Hz */
  18. uint32_t fsync_rate; /* FSYNC frequency in Hz */
  19. uint32_t bclk_rate; /* BCLK frequency in Hz */
  20. /* TDM */
  21. uint32_t tdm_slots;
  22. uint32_t rx_slots;
  23. uint32_t tx_slots;
  24. uint16_t tdm_slot_width;
  25. uint16_t reserved2; /* alignment */
  26. } __packed;
  27. /* SAI Configuration Request - SOF_IPC_DAI_SAI_CONFIG */
  28. struct sof_ipc_dai_sai_params {
  29. struct sof_ipc_hdr hdr;
  30. /* MCLK */
  31. uint16_t reserved1;
  32. uint16_t mclk_id;
  33. uint32_t mclk_direction;
  34. uint32_t mclk_rate; /* MCLK frequency in Hz */
  35. uint32_t fsync_rate; /* FSYNC frequency in Hz */
  36. uint32_t bclk_rate; /* BCLK frequency in Hz */
  37. /* TDM */
  38. uint32_t tdm_slots;
  39. uint32_t rx_slots;
  40. uint32_t tx_slots;
  41. uint16_t tdm_slot_width;
  42. uint16_t reserved2; /* alignment */
  43. } __packed;
  44. /* MICFIL Configuration Request - SOF_IPC_DAI_MICFIL_CONFIG */
  45. struct sof_ipc_dai_micfil_params {
  46. uint32_t pdm_rate;
  47. uint32_t pdm_ch;
  48. } __packed;
  49. #endif