]>
Commit | Line | Data |
---|---|---|
83d290c5 | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
511ed5fd RS |
2 | /* |
3 | * Copyright (C) 2012 Samsung Electronics | |
4 | * R. Chandrasekar < [email protected]> | |
511ed5fd RS |
5 | */ |
6 | ||
7 | #ifndef __SOUND_H__ | |
8 | #define __SOUND_H__ | |
9 | ||
10 | /* sound codec enum */ | |
11 | enum en_sound_codec { | |
12 | CODEC_WM_8994, | |
13 | CODEC_WM_8995, | |
14d2dfc3 | 14 | CODEC_MAX_98095, |
511ed5fd RS |
15 | CODEC_MAX |
16 | }; | |
17 | ||
18 | /* sound codec enum */ | |
19 | enum sound_compat { | |
20 | AUDIO_COMPAT_SPI, | |
21 | AUDIO_COMPAT_I2C, | |
22 | }; | |
23 | ||
24 | /* Codec information structure to store the info from device tree */ | |
25 | struct sound_codec_info { | |
26 | int i2c_bus; | |
27 | int i2c_dev_addr; | |
28 | enum en_sound_codec codec_type; | |
29 | }; | |
30 | ||
a77bf709 SG |
31 | /* |
32 | * Generates square wave sound data for 1 second | |
33 | * | |
34 | * @param data data buffer pointer | |
35 | * @param size size of the buffer | |
36 | * @param freq frequency of the wave | |
37 | */ | |
38 | void sound_create_square_wave(unsigned short *data, int size, uint32_t freq); | |
39 | ||
511ed5fd RS |
40 | /* |
41 | * Initialises audio sub system | |
f482310c | 42 | * @param blob Pointer of device tree node or NULL if none. |
511ed5fd RS |
43 | * @return int value 0 for success, -1 for error |
44 | */ | |
f482310c | 45 | int sound_init(const void *blob); |
511ed5fd RS |
46 | |
47 | /* | |
48 | * plays the pcm data buffer in pcm_data.h through i2s1 to make the | |
49 | * sine wave sound | |
50 | * | |
51 | * @return int 0 for success, -1 for error | |
52 | */ | |
53 | int sound_play(uint32_t msec, uint32_t frequency); | |
54 | ||
55 | #endif /* __SOUND__H__ */ |