1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * linux/sound/wm8993.h -- Platform data for WM8993
4 *
5 * Copyright 2009 Wolfson Microelectronics. PLC.
6 */
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
32	/* Delay to add for microphones to stabalise after power up */
33	int micbias1_delay;
34	int micbias2_delay;
35
36	/* Microphone biases: 0=0.9*AVDD1 1=0.65*AVVD1 */
37	unsigned int micbias1_lvl:1;
38	unsigned int micbias2_lvl:1;
39
40	/* Jack detect threshold levels, see datasheet for values */
41	unsigned int jd_scthr:2;
42	unsigned int jd_thr:2;
43};
44
45#endif
46