xref: /openbmc/linux/sound/soc/amd/acp/acp-mach.h (revision d4c750f2)
1*d4c750f2SAjit Kumar Pandey /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
2*d4c750f2SAjit Kumar Pandey /*
3*d4c750f2SAjit Kumar Pandey  * This file is provided under a dual BSD/GPLv2 license. When using or
4*d4c750f2SAjit Kumar Pandey  * redistributing this file, you may do so under either license.
5*d4c750f2SAjit Kumar Pandey  *
6*d4c750f2SAjit Kumar Pandey  * Copyright(c) 2021 Advanced Micro Devices, Inc. All rights reserved.
7*d4c750f2SAjit Kumar Pandey  *
8*d4c750f2SAjit Kumar Pandey  * Author: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com>
9*d4c750f2SAjit Kumar Pandey  */
10*d4c750f2SAjit Kumar Pandey #ifndef __ACP_MACH_H
11*d4c750f2SAjit Kumar Pandey #define __ACP_MACH_H
12*d4c750f2SAjit Kumar Pandey 
13*d4c750f2SAjit Kumar Pandey #include <sound/core.h>
14*d4c750f2SAjit Kumar Pandey #include <sound/jack.h>
15*d4c750f2SAjit Kumar Pandey #include <sound/pcm_params.h>
16*d4c750f2SAjit Kumar Pandey #include <sound/soc-dapm.h>
17*d4c750f2SAjit Kumar Pandey #include <linux/input.h>
18*d4c750f2SAjit Kumar Pandey #include <linux/module.h>
19*d4c750f2SAjit Kumar Pandey #include <sound/soc.h>
20*d4c750f2SAjit Kumar Pandey 
21*d4c750f2SAjit Kumar Pandey enum be_id {
22*d4c750f2SAjit Kumar Pandey 	HEADSET_BE_ID = 0,
23*d4c750f2SAjit Kumar Pandey 	AMP_BE_ID,
24*d4c750f2SAjit Kumar Pandey 	DMIC_BE_ID,
25*d4c750f2SAjit Kumar Pandey };
26*d4c750f2SAjit Kumar Pandey 
27*d4c750f2SAjit Kumar Pandey enum cpu_endpoints {
28*d4c750f2SAjit Kumar Pandey 	NONE = 0,
29*d4c750f2SAjit Kumar Pandey 	I2S_SP,
30*d4c750f2SAjit Kumar Pandey 	I2S_BT,
31*d4c750f2SAjit Kumar Pandey 	DMIC,
32*d4c750f2SAjit Kumar Pandey };
33*d4c750f2SAjit Kumar Pandey 
34*d4c750f2SAjit Kumar Pandey enum codec_endpoints {
35*d4c750f2SAjit Kumar Pandey 	DUMMY = 0,
36*d4c750f2SAjit Kumar Pandey 	RT5682,
37*d4c750f2SAjit Kumar Pandey 	RT1019,
38*d4c750f2SAjit Kumar Pandey };
39*d4c750f2SAjit Kumar Pandey 
40*d4c750f2SAjit Kumar Pandey struct acp_card_drvdata {
41*d4c750f2SAjit Kumar Pandey 	unsigned int hs_cpu_id;
42*d4c750f2SAjit Kumar Pandey 	unsigned int amp_cpu_id;
43*d4c750f2SAjit Kumar Pandey 	unsigned int dmic_cpu_id;
44*d4c750f2SAjit Kumar Pandey 	unsigned int hs_codec_id;
45*d4c750f2SAjit Kumar Pandey 	unsigned int amp_codec_id;
46*d4c750f2SAjit Kumar Pandey 	unsigned int dmic_codec_id;
47*d4c750f2SAjit Kumar Pandey 	unsigned int dai_fmt;
48*d4c750f2SAjit Kumar Pandey 	struct clk *wclk;
49*d4c750f2SAjit Kumar Pandey 	struct clk *bclk;
50*d4c750f2SAjit Kumar Pandey };
51*d4c750f2SAjit Kumar Pandey 
52*d4c750f2SAjit Kumar Pandey int acp_sofdsp_dai_links_create(struct snd_soc_card *card);
53*d4c750f2SAjit Kumar Pandey int acp_legacy_dai_links_create(struct snd_soc_card *card);
54*d4c750f2SAjit Kumar Pandey 
55*d4c750f2SAjit Kumar Pandey #endif
56