blob: 8cf9de85d3794bb93a792adac740cd382d7a6098 [file] [log] [blame]
Thomas Gleixnerd2912cb2019-06-04 10:11:33 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Mark Brown942c4352009-06-05 16:32:59 +01002/*
3 * linux/sound/wm8993.h -- Platform data for WM8993
4 *
5 * Copyright 2009 Wolfson Microelectronics. PLC.
Mark Brown942c4352009-06-05 16:32:59 +01006 */
7
8#ifndef __LINUX_SND_WM8993_H
9#define __LINUX_SND_WM8993_H
10
11/* Note that EQ1 only contains the enable/disable bit so will be
12 ignored but is included for simplicity.
13 */
14struct wm8993_retune_mobile_setting {
15 const char *name;
16 unsigned int rate;
17 u16 config[24];
18};
19
20struct wm8993_platform_data {
21 struct wm8993_retune_mobile_setting *retune_configs;
22 int num_retune_configs;
23
24 /* LINEOUT can be differential or single ended */
25 unsigned int lineout1_diff:1;
26 unsigned int lineout2_diff:1;
27
28 /* Common mode feedback */
29 unsigned int lineout1fb:1;
30 unsigned int lineout2fb:1;
31
Mark Brown02e79472012-08-21 17:54:52 +010032 /* Delay to add for microphones to stabalise after power up */
33 int micbias1_delay;
34 int micbias2_delay;
35
Mark Brown942c4352009-06-05 16:32:59 +010036 /* Microphone biases: 0=0.9*AVDD1 1=0.65*AVVD1 */
37 unsigned int micbias1_lvl:1;
38 unsigned int micbias2_lvl:1;
39
André Goddard Rosaaf901ca2009-11-14 13:09:05 -020040 /* Jack detect threshold levels, see datasheet for values */
Mark Brown942c4352009-06-05 16:32:59 +010041 unsigned int jd_scthr:2;
42 unsigned int jd_thr:2;
43};
44
45#endif