1*511ed5fdSRajeshwari Shinde /* 2*511ed5fdSRajeshwari Shinde * Copyright (C) 2012 Samsung Electronics 3*511ed5fdSRajeshwari Shinde * R. Chandrasekar < rcsekar@samsung.com> 4*511ed5fdSRajeshwari Shinde * 5*511ed5fdSRajeshwari Shinde * See file CREDITS for list of people who contributed to this 6*511ed5fdSRajeshwari Shinde * project. 7*511ed5fdSRajeshwari Shinde * 8*511ed5fdSRajeshwari Shinde * This program is free software; you can redistribute it and/or 9*511ed5fdSRajeshwari Shinde * modify it under the terms of the GNU General Public License as 10*511ed5fdSRajeshwari Shinde * published by the Free Software Foundation; either version 2 of 11*511ed5fdSRajeshwari Shinde * the License, or (at your option) any later version. 12*511ed5fdSRajeshwari Shinde * 13*511ed5fdSRajeshwari Shinde * This program is distributed in the hope that it will be useful, 14*511ed5fdSRajeshwari Shinde * but WITHOUT ANY WARRANTY; without even the implied warranty of 15*511ed5fdSRajeshwari Shinde * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16*511ed5fdSRajeshwari Shinde * GNU General Public License for more details. 17*511ed5fdSRajeshwari Shinde * 18*511ed5fdSRajeshwari Shinde * You should have received a copy of the GNU General Public License 19*511ed5fdSRajeshwari Shinde * along with this program; if not, write to the Free Software 20*511ed5fdSRajeshwari Shinde * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 21*511ed5fdSRajeshwari Shinde * MA 02111-1307 USA 22*511ed5fdSRajeshwari Shinde */ 23*511ed5fdSRajeshwari Shinde 24*511ed5fdSRajeshwari Shinde #ifndef __SOUND_H__ 25*511ed5fdSRajeshwari Shinde #define __SOUND_H__ 26*511ed5fdSRajeshwari Shinde 27*511ed5fdSRajeshwari Shinde /* sound codec enum */ 28*511ed5fdSRajeshwari Shinde enum en_sound_codec { 29*511ed5fdSRajeshwari Shinde CODEC_WM_8994, 30*511ed5fdSRajeshwari Shinde CODEC_WM_8995, 31*511ed5fdSRajeshwari Shinde CODEC_MAX 32*511ed5fdSRajeshwari Shinde }; 33*511ed5fdSRajeshwari Shinde 34*511ed5fdSRajeshwari Shinde /* sound codec enum */ 35*511ed5fdSRajeshwari Shinde enum sound_compat { 36*511ed5fdSRajeshwari Shinde AUDIO_COMPAT_SPI, 37*511ed5fdSRajeshwari Shinde AUDIO_COMPAT_I2C, 38*511ed5fdSRajeshwari Shinde }; 39*511ed5fdSRajeshwari Shinde 40*511ed5fdSRajeshwari Shinde /* Codec information structure to store the info from device tree */ 41*511ed5fdSRajeshwari Shinde struct sound_codec_info { 42*511ed5fdSRajeshwari Shinde int i2c_bus; 43*511ed5fdSRajeshwari Shinde int i2c_dev_addr; 44*511ed5fdSRajeshwari Shinde enum en_sound_codec codec_type; 45*511ed5fdSRajeshwari Shinde }; 46*511ed5fdSRajeshwari Shinde 47*511ed5fdSRajeshwari Shinde /* 48*511ed5fdSRajeshwari Shinde * Initialises audio sub system 49*511ed5fdSRajeshwari Shinde * 50*511ed5fdSRajeshwari Shinde * @return int value 0 for success, -1 for error 51*511ed5fdSRajeshwari Shinde */ 52*511ed5fdSRajeshwari Shinde int sound_init(void); 53*511ed5fdSRajeshwari Shinde 54*511ed5fdSRajeshwari Shinde /* 55*511ed5fdSRajeshwari Shinde * plays the pcm data buffer in pcm_data.h through i2s1 to make the 56*511ed5fdSRajeshwari Shinde * sine wave sound 57*511ed5fdSRajeshwari Shinde * 58*511ed5fdSRajeshwari Shinde * @return int 0 for success, -1 for error 59*511ed5fdSRajeshwari Shinde */ 60*511ed5fdSRajeshwari Shinde int sound_play(uint32_t msec, uint32_t frequency); 61*511ed5fdSRajeshwari Shinde 62*511ed5fdSRajeshwari Shinde #endif /* __SOUND__H__ */ 63