summaryrefslogtreecommitdiff
path: root/include/sound/rt5682s.h
blob: accfbc2dcdd2ca78a0c578c1b15d3eaa6288475a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * linux/sound/rt5682s.h -- Platform data for RT5682I-VS
 *
 * Copyright 2021 Realtek Microelectronics
 */

#ifndef __LINUX_SND_RT5682S_H
#define __LINUX_SND_RT5682S_H

enum rt5682s_dmic1_data_pin {
	RT5682S_DMIC1_DATA_NULL,
	RT5682S_DMIC1_DATA_GPIO2,
	RT5682S_DMIC1_DATA_GPIO5,
};

enum rt5682s_dmic1_clk_pin {
	RT5682S_DMIC1_CLK_NULL,
	RT5682S_DMIC1_CLK_GPIO1,
	RT5682S_DMIC1_CLK_GPIO3,
};

enum rt5682s_jd_src {
	RT5682S_JD_NULL,
	RT5682S_JD1,
};

enum rt5682s_dai_clks {
	RT5682S_DAI_WCLK_IDX,
	RT5682S_DAI_BCLK_IDX,
	RT5682S_DAI_NUM_CLKS,
};

struct rt5682s_platform_data {

	int ldo1_en; /* GPIO for LDO1_EN */

	enum rt5682s_dmic1_data_pin dmic1_data_pin;
	enum rt5682s_dmic1_clk_pin dmic1_clk_pin;
	enum rt5682s_jd_src jd_src;
	unsigned int dmic_clk_rate;
	unsigned int dmic_delay;
	bool dmic_clk_driving_high;

	const char *dai_clk_names[RT5682S_DAI_NUM_CLKS];
};

#endif