aboutsummaryrefslogtreecommitdiff
path: root/include/sound/rt5682.h
blob: 3900a07e3935fd11f332a6b439579e5330431df5 (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
49
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * linux/sound/rt5682.h -- Platform data for RT5682
 *
 * Copyright 2018 Realtek Microelectronics
 */

#ifndef __LINUX_SND_RT5682_H
#define __LINUX_SND_RT5682_H

enum rt5682_dmic1_data_pin {
	RT5682_DMIC1_NULL,
	RT5682_DMIC1_DATA_GPIO2,
	RT5682_DMIC1_DATA_GPIO5,
};

enum rt5682_dmic1_clk_pin {
	RT5682_DMIC1_CLK_GPIO1,
	RT5682_DMIC1_CLK_GPIO3,
};

enum rt5682_jd_src {
	RT5682_JD_NULL,
	RT5682_JD1,
};

enum rt5682_dai_clks {
	RT5682_DAI_WCLK_IDX,
	RT5682_DAI_BCLK_IDX,
	RT5682_DAI_NUM_CLKS,
};

struct rt5682_platform_data {

	int ldo1_en; /* GPIO for LDO1_EN */

	enum rt5682_dmic1_data_pin dmic1_data_pin;
	enum rt5682_dmic1_clk_pin dmic1_clk_pin;
	enum rt5682_jd_src jd_src;
	unsigned int btndet_delay;
	unsigned int dmic_clk_rate;
	unsigned int dmic_delay;
	bool dmic_clk_driving_high;

	const char *dai_clk_names[RT5682_DAI_NUM_CLKS];
};

#endif