hpm_i2s_common.h 938 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * Copyright (c) 2021 HPMicro
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. *
  6. */
  7. #ifndef HPM_I2S_COMMON_H
  8. #define HPM_I2S_COMMON_H
  9. /**
  10. * @brief I2S common driver APIs
  11. * @defgroup i2s_common_interface I2S common driver APIs
  12. * @ingroup io_interfaces
  13. * @{
  14. */
  15. #define I2S_PROTOCOL_I2S_PHILIPS (0U)
  16. #define I2S_PROTOCOL_MSB_JUSTIFIED (1U)
  17. #define I2S_PROTOCOL_LEFT_JUSTIFIED (1U)
  18. #define I2S_PROTOCOL_LSB_JUSTIFIED (2U)
  19. #define I2S_PROTOCOL_RIGHT_JUSTIFIED (2U)
  20. #define I2S_PROTOCOL_PCM (3U)
  21. /**
  22. * @brief I2S audio depth
  23. */
  24. enum {
  25. i2s_audio_depth_16_bits = 16,
  26. i2s_audio_depth_24_bits = 24,
  27. i2s_audio_depth_32_bits = 32,
  28. };
  29. /**
  30. * @brief I2S channel length
  31. */
  32. enum {
  33. i2s_channel_length_16_bits = 16,
  34. i2s_channel_length_32_bits = 32,
  35. };
  36. /**
  37. * @brief I2S stereo/mono channel
  38. */
  39. enum {
  40. i2s_mono_left = 0,
  41. i2s_mono_right = 1,
  42. i2s_stereo = 2,
  43. };
  44. /**
  45. * @}
  46. */
  47. #endif /* HPM_I2S_COMMON_H */