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