1/* 2 * ALSA SoC TWL4030 codec driver 3 * 4 * Author: Steve Sakoman <steve@sakoman.com> 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * version 2 as published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope that it will be useful, but 11 * WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 18 * 02110-1301 USA 19 * 20 */ 21 22#ifndef __TWL4030_AUDIO_H__ 23#define __TWL4030_AUDIO_H__ 24 25/* Register descriptions are here */ 26#include <linux/mfd/twl4030-codec.h> 27 28/* Shadow register used by the audio driver */ 29#define TWL4030_REG_SW_SHADOW 0x4A 30#define TWL4030_CACHEREGNUM (TWL4030_REG_SW_SHADOW + 1) 31 32/* TWL4030_REG_SW_SHADOW (0x4A) Fields */ 33#define TWL4030_HFL_EN 0x01 34#define TWL4030_HFR_EN 0x02 35 36#define TWL4030_DAI_HIFI 0 37#define TWL4030_DAI_VOICE 1 38 39extern struct snd_soc_dai twl4030_dai[2]; 40extern struct snd_soc_codec_device soc_codec_dev_twl4030; 41 42struct twl4030_setup_data { 43 unsigned int ramp_delay_value; 44 unsigned int digimic_delay; /* in ms */ 45 unsigned int sysclk; 46 unsigned int offset_cncl_path; 47 unsigned int check_defaults:1; 48 unsigned int reset_registers:1; 49 unsigned int hs_extmute:1; 50 void (*set_hs_extmute)(int mute); 51}; 52 53#endif /* End of __TWL4030_AUDIO_H__ */ 54