1942c435bSMark Brown /* 2942c435bSMark Brown * linux/sound/wm8993.h -- Platform data for WM8993 3942c435bSMark Brown * 4942c435bSMark Brown * Copyright 2009 Wolfson Microelectronics. PLC. 5942c435bSMark Brown * 6942c435bSMark Brown * This program is free software; you can redistribute it and/or modify 7942c435bSMark Brown * it under the terms of the GNU General Public License version 2 as 8942c435bSMark Brown * published by the Free Software Foundation. 9942c435bSMark Brown */ 10942c435bSMark Brown 11942c435bSMark Brown #ifndef __LINUX_SND_WM8993_H 12942c435bSMark Brown #define __LINUX_SND_WM8993_H 13942c435bSMark Brown 14942c435bSMark Brown /* Note that EQ1 only contains the enable/disable bit so will be 15942c435bSMark Brown ignored but is included for simplicity. 16942c435bSMark Brown */ 17942c435bSMark Brown struct wm8993_retune_mobile_setting { 18942c435bSMark Brown const char *name; 19942c435bSMark Brown unsigned int rate; 20942c435bSMark Brown u16 config[24]; 21942c435bSMark Brown }; 22942c435bSMark Brown 23942c435bSMark Brown struct wm8993_platform_data { 24942c435bSMark Brown struct wm8993_retune_mobile_setting *retune_configs; 25942c435bSMark Brown int num_retune_configs; 26942c435bSMark Brown 27942c435bSMark Brown /* LINEOUT can be differential or single ended */ 28942c435bSMark Brown unsigned int lineout1_diff:1; 29942c435bSMark Brown unsigned int lineout2_diff:1; 30942c435bSMark Brown 31942c435bSMark Brown /* Common mode feedback */ 32942c435bSMark Brown unsigned int lineout1fb:1; 33942c435bSMark Brown unsigned int lineout2fb:1; 34942c435bSMark Brown 35942c435bSMark Brown /* Microphone biases: 0=0.9*AVDD1 1=0.65*AVVD1 */ 36942c435bSMark Brown unsigned int micbias1_lvl:1; 37942c435bSMark Brown unsigned int micbias2_lvl:1; 38942c435bSMark Brown 39*af901ca1SAndré Goddard Rosa /* Jack detect threshold levels, see datasheet for values */ 40942c435bSMark Brown unsigned int jd_scthr:2; 41942c435bSMark Brown unsigned int jd_thr:2; 42942c435bSMark Brown }; 43942c435bSMark Brown 44942c435bSMark Brown #endif 45