xref: /btstack/port/stm32-f4discovery-cc256x/bsp/audio.h (revision 225f4ba4fe806afeda1ee8519bb5f4a8ce540af2)
1*225f4ba4SMatthias Ringwald /**
2*225f4ba4SMatthias Ringwald   ******************************************************************************
3*225f4ba4SMatthias Ringwald   * @file    audio.h
4*225f4ba4SMatthias Ringwald   * @author  MCD Application Team
5*225f4ba4SMatthias Ringwald   * @version V4.0.1
6*225f4ba4SMatthias Ringwald   * @date    21-July-2015
7*225f4ba4SMatthias Ringwald   * @brief   This header file contains the common defines and functions prototypes
8*225f4ba4SMatthias Ringwald   *          for the Audio driver.
9*225f4ba4SMatthias Ringwald   ******************************************************************************
10*225f4ba4SMatthias Ringwald   * @attention
11*225f4ba4SMatthias Ringwald   *
12*225f4ba4SMatthias Ringwald   * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
13*225f4ba4SMatthias Ringwald   *
14*225f4ba4SMatthias Ringwald   * Redistribution and use in source and binary forms, with or without modification,
15*225f4ba4SMatthias Ringwald   * are permitted provided that the following conditions are met:
16*225f4ba4SMatthias Ringwald   *   1. Redistributions of source code must retain the above copyright notice,
17*225f4ba4SMatthias Ringwald   *      this list of conditions and the following disclaimer.
18*225f4ba4SMatthias Ringwald   *   2. Redistributions in binary form must reproduce the above copyright notice,
19*225f4ba4SMatthias Ringwald   *      this list of conditions and the following disclaimer in the documentation
20*225f4ba4SMatthias Ringwald   *      and/or other materials provided with the distribution.
21*225f4ba4SMatthias Ringwald   *   3. Neither the name of STMicroelectronics nor the names of its contributors
22*225f4ba4SMatthias Ringwald   *      may be used to endorse or promote products derived from this software
23*225f4ba4SMatthias Ringwald   *      without specific prior written permission.
24*225f4ba4SMatthias Ringwald   *
25*225f4ba4SMatthias Ringwald   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26*225f4ba4SMatthias Ringwald   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27*225f4ba4SMatthias Ringwald   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
28*225f4ba4SMatthias Ringwald   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
29*225f4ba4SMatthias Ringwald   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30*225f4ba4SMatthias Ringwald   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31*225f4ba4SMatthias Ringwald   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
32*225f4ba4SMatthias Ringwald   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
33*225f4ba4SMatthias Ringwald   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34*225f4ba4SMatthias Ringwald   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35*225f4ba4SMatthias Ringwald   *
36*225f4ba4SMatthias Ringwald   ******************************************************************************
37*225f4ba4SMatthias Ringwald   */
38*225f4ba4SMatthias Ringwald 
39*225f4ba4SMatthias Ringwald /* Define to prevent recursive inclusion -------------------------------------*/
40*225f4ba4SMatthias Ringwald #ifndef __AUDIO_H
41*225f4ba4SMatthias Ringwald #define __AUDIO_H
42*225f4ba4SMatthias Ringwald 
43*225f4ba4SMatthias Ringwald #ifdef __cplusplus
44*225f4ba4SMatthias Ringwald  extern "C" {
45*225f4ba4SMatthias Ringwald #endif
46*225f4ba4SMatthias Ringwald 
47*225f4ba4SMatthias Ringwald /* Includes ------------------------------------------------------------------*/
48*225f4ba4SMatthias Ringwald #include <stdint.h>
49*225f4ba4SMatthias Ringwald 
50*225f4ba4SMatthias Ringwald /** @addtogroup BSP
51*225f4ba4SMatthias Ringwald   * @{
52*225f4ba4SMatthias Ringwald   */
53*225f4ba4SMatthias Ringwald 
54*225f4ba4SMatthias Ringwald /** @addtogroup Components
55*225f4ba4SMatthias Ringwald   * @{
56*225f4ba4SMatthias Ringwald   */
57*225f4ba4SMatthias Ringwald 
58*225f4ba4SMatthias Ringwald /** @addtogroup AUDIO
59*225f4ba4SMatthias Ringwald   * @{
60*225f4ba4SMatthias Ringwald   */
61*225f4ba4SMatthias Ringwald 
62*225f4ba4SMatthias Ringwald /** @defgroup AUDIO_Exported_Constants
63*225f4ba4SMatthias Ringwald   * @{
64*225f4ba4SMatthias Ringwald   */
65*225f4ba4SMatthias Ringwald 
66*225f4ba4SMatthias Ringwald /* Codec audio Standards */
67*225f4ba4SMatthias Ringwald #define CODEC_STANDARD                0x04
68*225f4ba4SMatthias Ringwald #define I2S_STANDARD                  I2S_STANDARD_PHILIPS
69*225f4ba4SMatthias Ringwald 
70*225f4ba4SMatthias Ringwald /**
71*225f4ba4SMatthias Ringwald   * @}
72*225f4ba4SMatthias Ringwald   */
73*225f4ba4SMatthias Ringwald 
74*225f4ba4SMatthias Ringwald /** @defgroup AUDIO_Exported_Types
75*225f4ba4SMatthias Ringwald   * @{
76*225f4ba4SMatthias Ringwald   */
77*225f4ba4SMatthias Ringwald 
78*225f4ba4SMatthias Ringwald /** @defgroup AUDIO_Driver_structure  Audio Driver structure
79*225f4ba4SMatthias Ringwald   * @{
80*225f4ba4SMatthias Ringwald   */
81*225f4ba4SMatthias Ringwald typedef struct
82*225f4ba4SMatthias Ringwald {
83*225f4ba4SMatthias Ringwald   uint32_t  (*Init)(uint16_t, uint16_t, uint8_t, uint32_t);
84*225f4ba4SMatthias Ringwald   void      (*DeInit)(void);
85*225f4ba4SMatthias Ringwald   uint32_t  (*ReadID)(uint16_t);
86*225f4ba4SMatthias Ringwald   uint32_t  (*Play)(uint16_t, uint16_t*, uint16_t);
87*225f4ba4SMatthias Ringwald   uint32_t  (*Pause)(uint16_t);
88*225f4ba4SMatthias Ringwald   uint32_t  (*Resume)(uint16_t);
89*225f4ba4SMatthias Ringwald   uint32_t  (*Stop)(uint16_t, uint32_t);
90*225f4ba4SMatthias Ringwald   uint32_t  (*SetFrequency)(uint16_t, uint32_t);
91*225f4ba4SMatthias Ringwald   uint32_t  (*SetVolume)(uint16_t, uint8_t);
92*225f4ba4SMatthias Ringwald   uint32_t  (*SetMute)(uint16_t, uint32_t);
93*225f4ba4SMatthias Ringwald   uint32_t  (*SetOutputMode)(uint16_t, uint8_t);
94*225f4ba4SMatthias Ringwald   uint32_t  (*Reset)(uint16_t);
95*225f4ba4SMatthias Ringwald }AUDIO_DrvTypeDef;
96*225f4ba4SMatthias Ringwald /**
97*225f4ba4SMatthias Ringwald   * @}
98*225f4ba4SMatthias Ringwald   */
99*225f4ba4SMatthias Ringwald 
100*225f4ba4SMatthias Ringwald /**
101*225f4ba4SMatthias Ringwald   * @}
102*225f4ba4SMatthias Ringwald   */
103*225f4ba4SMatthias Ringwald 
104*225f4ba4SMatthias Ringwald /**
105*225f4ba4SMatthias Ringwald   * @}
106*225f4ba4SMatthias Ringwald   */
107*225f4ba4SMatthias Ringwald 
108*225f4ba4SMatthias Ringwald /**
109*225f4ba4SMatthias Ringwald   * @}
110*225f4ba4SMatthias Ringwald   */
111*225f4ba4SMatthias Ringwald 
112*225f4ba4SMatthias Ringwald /**
113*225f4ba4SMatthias Ringwald   * @}
114*225f4ba4SMatthias Ringwald   */
115*225f4ba4SMatthias Ringwald 
116*225f4ba4SMatthias Ringwald #ifdef __cplusplus
117*225f4ba4SMatthias Ringwald }
118*225f4ba4SMatthias Ringwald #endif
119*225f4ba4SMatthias Ringwald 
120*225f4ba4SMatthias Ringwald #endif /* __AUDIO_H */
121*225f4ba4SMatthias Ringwald 
122*225f4ba4SMatthias Ringwald /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
123