blob: 8016fd826f5aac8b599b846c189d0757b50ed033 [file] [log] [blame]
Mark Brown942c4352009-06-05 16:32:59 +01001/*
2 * linux/sound/wm8993.h -- Platform data for WM8993
3 *
4 * Copyright 2009 Wolfson Microelectronics. PLC.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
11#ifndef __LINUX_SND_WM8993_H
12#define __LINUX_SND_WM8993_H
13
14/* Note that EQ1 only contains the enable/disable bit so will be
15 ignored but is included for simplicity.
16 */
17struct wm8993_retune_mobile_setting {
18 const char *name;
19 unsigned int rate;
20 u16 config[24];
21};
22
23struct wm8993_platform_data {
24 struct wm8993_retune_mobile_setting *retune_configs;
25 int num_retune_configs;
26
27 /* LINEOUT can be differential or single ended */
28 unsigned int lineout1_diff:1;
29 unsigned int lineout2_diff:1;
30
31 /* Common mode feedback */
32 unsigned int lineout1fb:1;
33 unsigned int lineout2fb:1;
34
Mark Brown02e79472012-08-21 17:54:52 +010035 /* Delay to add for microphones to stabalise after power up */
36 int micbias1_delay;
37 int micbias2_delay;
38
Mark Brown942c4352009-06-05 16:32:59 +010039 /* Microphone biases: 0=0.9*AVDD1 1=0.65*AVVD1 */
40 unsigned int micbias1_lvl:1;
41 unsigned int micbias2_lvl:1;
42
André Goddard Rosaaf901ca2009-11-14 13:09:05 -020043 /* Jack detect threshold levels, see datasheet for values */
Mark Brown942c4352009-06-05 16:32:59 +010044 unsigned int jd_scthr:2;
45 unsigned int jd_thr:2;
46};
47
48#endif