1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * linux/sound/rt5682s.h -- Platform data for RT5682I-VS
4  *
5  * Copyright 2021 Realtek Microelectronics
6  */
7 
8 #ifndef __LINUX_SND_RT5682S_H
9 #define __LINUX_SND_RT5682S_H
10 
11 enum rt5682s_dmic1_data_pin {
12 	RT5682S_DMIC1_DATA_NULL,
13 	RT5682S_DMIC1_DATA_GPIO2,
14 	RT5682S_DMIC1_DATA_GPIO5,
15 };
16 
17 enum rt5682s_dmic1_clk_pin {
18 	RT5682S_DMIC1_CLK_NULL,
19 	RT5682S_DMIC1_CLK_GPIO1,
20 	RT5682S_DMIC1_CLK_GPIO3,
21 };
22 
23 enum rt5682s_jd_src {
24 	RT5682S_JD_NULL,
25 	RT5682S_JD1,
26 };
27 
28 enum rt5682s_dai_clks {
29 	RT5682S_DAI_WCLK_IDX,
30 	RT5682S_DAI_BCLK_IDX,
31 	RT5682S_DAI_NUM_CLKS,
32 };
33 
34 enum {
35 	RT5682S_LDO_1_607V,
36 	RT5682S_LDO_1_5V,
37 	RT5682S_LDO_1_406V,
38 	RT5682S_LDO_1_731V,
39 };
40 
41 struct rt5682s_platform_data {
42 	enum rt5682s_dmic1_data_pin dmic1_data_pin;
43 	enum rt5682s_dmic1_clk_pin dmic1_clk_pin;
44 	enum rt5682s_jd_src jd_src;
45 	unsigned int dmic_clk_rate;
46 	unsigned int dmic_delay;
47 	unsigned int amic_delay;
48 	unsigned int ldo_dacref;
49 	bool dmic_clk_driving_high;
50 
51 	const char *dai_clk_names[RT5682S_DAI_NUM_CLKS];
52 };
53 
54 #endif
55