1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Copyright(c) 2020 Intel Corporation. 4 */ 5 6 /* 7 * This file defines data structures used in Machine Driver for Intel 8 * platforms with Maxim Codecs. 9 */ 10 #ifndef __SOF_MAXIM_COMMON_H 11 #define __SOF_MAXIM_COMMON_H 12 13 #include <sound/soc.h> 14 15 #define MAX_98373_CODEC_DAI "max98373-aif1" 16 #define MAX_98373_DEV0_NAME "i2c-MX98373:00" 17 #define MAX_98373_DEV1_NAME "i2c-MX98373:01" 18 19 extern struct snd_soc_dai_link_component max_98373_components[2]; 20 extern struct snd_soc_ops max_98373_ops; 21 extern const struct snd_soc_dapm_route max_98373_dapm_routes[]; 22 23 int max_98373_spk_codec_init(struct snd_soc_pcm_runtime *rtd); 24 void max_98373_set_codec_conf(struct snd_soc_card *card); 25 int max_98373_trigger(struct snd_pcm_substream *substream, int cmd); 26 27 /* 28 * Maxim MAX98390 29 */ 30 #define MAX_98390_CODEC_DAI "max98390-aif1" 31 #define MAX_98390_DEV0_NAME "i2c-MX98390:00" 32 #define MAX_98390_DEV1_NAME "i2c-MX98390:01" 33 #define MAX_98390_DEV2_NAME "i2c-MX98390:02" 34 #define MAX_98390_DEV3_NAME "i2c-MX98390:03" 35 36 extern struct snd_soc_dai_link_component max_98390_components[2]; 37 extern struct snd_soc_dai_link_component max_98390_4spk_components[4]; 38 extern const struct snd_soc_ops max_98390_ops; 39 40 void max_98390_set_codec_conf(struct snd_soc_card *card, int ch); 41 int max_98390_spk_codec_init(struct snd_soc_pcm_runtime *rtd); 42 43 /* 44 * Maxim MAX98357A/MAX98360A 45 */ 46 #define MAX_98357A_CODEC_DAI "HiFi" 47 #define MAX_98357A_DEV0_NAME "MX98357A:00" 48 #define MAX_98360A_DEV0_NAME "MX98360A:00" 49 50 void max_98357a_dai_link(struct snd_soc_dai_link *link); 51 void max_98360a_dai_link(struct snd_soc_dai_link *link); 52 53 #endif /* __SOF_MAXIM_COMMON_H */ 54