1/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ 2/* 3 * This file is provided under a dual BSD/GPLv2 license. When using or 4 * redistributing this file, you may do so under either license. 5 * 6 * Copyright(c) 2021 Advanced Micro Devices, Inc. All rights reserved. 7 * 8 * Author: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com> 9 */ 10#ifndef __ACP_MACH_H 11#define __ACP_MACH_H 12 13#include <sound/core.h> 14#include <sound/jack.h> 15#include <sound/pcm_params.h> 16#include <sound/soc-dapm.h> 17#include <linux/input.h> 18#include <linux/module.h> 19#include <sound/soc.h> 20 21#define TDM_CHANNELS 8 22 23enum be_id { 24 HEADSET_BE_ID = 0, 25 AMP_BE_ID, 26 DMIC_BE_ID, 27}; 28 29enum cpu_endpoints { 30 NONE = 0, 31 I2S_HS, 32 I2S_SP, 33 I2S_BT, 34 DMIC, 35}; 36 37enum codec_endpoints { 38 DUMMY = 0, 39 RT5682, 40 RT1019, 41 MAX98360A, 42 RT5682S, 43 NAU8825, 44 NAU8821, 45 MAX98388, 46}; 47 48enum platform_end_point { 49 RENOIR = 0, 50 REMBRANDT, 51}; 52 53struct acp_card_drvdata { 54 unsigned int hs_cpu_id; 55 unsigned int amp_cpu_id; 56 unsigned int dmic_cpu_id; 57 unsigned int hs_codec_id; 58 unsigned int amp_codec_id; 59 unsigned int dmic_codec_id; 60 unsigned int dai_fmt; 61 unsigned int platform; 62 struct clk *wclk; 63 struct clk *bclk; 64 bool soc_mclk; 65 bool tdm_mode; 66}; 67 68int acp_sofdsp_dai_links_create(struct snd_soc_card *card); 69int acp_legacy_dai_links_create(struct snd_soc_card *card); 70extern const struct dmi_system_id acp_quirk_table[]; 71 72#endif 73