1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 2942c435bSMark Brown /* 3942c435bSMark Brown * linux/sound/wm8993.h -- Platform data for WM8993 4942c435bSMark Brown * 5942c435bSMark Brown * Copyright 2009 Wolfson Microelectronics. PLC. 6942c435bSMark Brown */ 7942c435bSMark Brown 8942c435bSMark Brown #ifndef __LINUX_SND_WM8993_H 9942c435bSMark Brown #define __LINUX_SND_WM8993_H 10942c435bSMark Brown 11942c435bSMark Brown /* Note that EQ1 only contains the enable/disable bit so will be 12942c435bSMark Brown ignored but is included for simplicity. 13942c435bSMark Brown */ 14942c435bSMark Brown struct wm8993_retune_mobile_setting { 15942c435bSMark Brown const char *name; 16942c435bSMark Brown unsigned int rate; 17942c435bSMark Brown u16 config[24]; 18942c435bSMark Brown }; 19942c435bSMark Brown 20942c435bSMark Brown struct wm8993_platform_data { 21942c435bSMark Brown struct wm8993_retune_mobile_setting *retune_configs; 22942c435bSMark Brown int num_retune_configs; 23942c435bSMark Brown 24942c435bSMark Brown /* LINEOUT can be differential or single ended */ 25942c435bSMark Brown unsigned int lineout1_diff:1; 26942c435bSMark Brown unsigned int lineout2_diff:1; 27942c435bSMark Brown 28942c435bSMark Brown /* Common mode feedback */ 29942c435bSMark Brown unsigned int lineout1fb:1; 30942c435bSMark Brown unsigned int lineout2fb:1; 31942c435bSMark Brown 3202e79476SMark Brown /* Delay to add for microphones to stabalise after power up */ 3302e79476SMark Brown int micbias1_delay; 3402e79476SMark Brown int micbias2_delay; 3502e79476SMark Brown 36942c435bSMark Brown /* Microphone biases: 0=0.9*AVDD1 1=0.65*AVVD1 */ 37942c435bSMark Brown unsigned int micbias1_lvl:1; 38942c435bSMark Brown unsigned int micbias2_lvl:1; 39942c435bSMark Brown 40af901ca1SAndré Goddard Rosa /* Jack detect threshold levels, see datasheet for values */ 41942c435bSMark Brown unsigned int jd_scthr:2; 42942c435bSMark Brown unsigned int jd_thr:2; 43942c435bSMark Brown }; 44942c435bSMark Brown 45942c435bSMark Brown #endif 46