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