xref: /rk3399_rockchip-uboot/include/sound.h (revision 1a4596601fd395f3afb8f82f3f840c5e00bdd57a)
1511ed5fdSRajeshwari Shinde /*
2511ed5fdSRajeshwari Shinde  * Copyright (C) 2012 Samsung Electronics
3511ed5fdSRajeshwari Shinde  * R. Chandrasekar < rcsekar@samsung.com>
4511ed5fdSRajeshwari Shinde  *
5*1a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
6511ed5fdSRajeshwari Shinde  */
7511ed5fdSRajeshwari Shinde 
8511ed5fdSRajeshwari Shinde #ifndef __SOUND_H__
9511ed5fdSRajeshwari Shinde #define __SOUND_H__
10511ed5fdSRajeshwari Shinde 
11511ed5fdSRajeshwari Shinde /* sound codec enum */
12511ed5fdSRajeshwari Shinde enum en_sound_codec {
13511ed5fdSRajeshwari Shinde 	CODEC_WM_8994,
14511ed5fdSRajeshwari Shinde 	CODEC_WM_8995,
1514d2dfc3SRajeshwari Shinde 	CODEC_MAX_98095,
16511ed5fdSRajeshwari Shinde 	CODEC_MAX
17511ed5fdSRajeshwari Shinde };
18511ed5fdSRajeshwari Shinde 
19511ed5fdSRajeshwari Shinde /* sound codec enum */
20511ed5fdSRajeshwari Shinde enum sound_compat {
21511ed5fdSRajeshwari Shinde 	AUDIO_COMPAT_SPI,
22511ed5fdSRajeshwari Shinde 	AUDIO_COMPAT_I2C,
23511ed5fdSRajeshwari Shinde };
24511ed5fdSRajeshwari Shinde 
25511ed5fdSRajeshwari Shinde /* Codec information structure to store the info from device tree */
26511ed5fdSRajeshwari Shinde struct sound_codec_info {
27511ed5fdSRajeshwari Shinde 	int i2c_bus;
28511ed5fdSRajeshwari Shinde 	int i2c_dev_addr;
29511ed5fdSRajeshwari Shinde 	enum en_sound_codec codec_type;
30511ed5fdSRajeshwari Shinde };
31511ed5fdSRajeshwari Shinde 
32511ed5fdSRajeshwari Shinde /*
33511ed5fdSRajeshwari Shinde  * Initialises audio sub system
34f482310cSRajeshwari Shinde  * @param blob	Pointer of device tree node or NULL if none.
35511ed5fdSRajeshwari Shinde  * @return	int value 0 for success, -1 for error
36511ed5fdSRajeshwari Shinde  */
37f482310cSRajeshwari Shinde int sound_init(const void *blob);
38511ed5fdSRajeshwari Shinde 
39511ed5fdSRajeshwari Shinde /*
40511ed5fdSRajeshwari Shinde  * plays the pcm data buffer in pcm_data.h through i2s1 to make the
41511ed5fdSRajeshwari Shinde  * sine wave sound
42511ed5fdSRajeshwari Shinde  *
43511ed5fdSRajeshwari Shinde  * @return	int 0 for success, -1 for error
44511ed5fdSRajeshwari Shinde  */
45511ed5fdSRajeshwari Shinde int sound_play(uint32_t msec, uint32_t frequency);
46511ed5fdSRajeshwari Shinde 
47511ed5fdSRajeshwari Shinde #endif  /* __SOUND__H__ */
48