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