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