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