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 #include "sof_ssp_common.h" 15 16 /* 17 * Maxim MAX98373 18 */ 19 #define MAX_98373_CODEC_DAI "max98373-aif1" 20 #define MAX_98373_DEV0_NAME "i2c-" MAX_98373_ACPI_HID ":00" 21 #define MAX_98373_DEV1_NAME "i2c-" MAX_98373_ACPI_HID ":01" 22 23 extern struct snd_soc_dai_link_component max_98373_components[2]; 24 extern struct snd_soc_ops max_98373_ops; 25 extern const struct snd_soc_dapm_route max_98373_dapm_routes[]; 26 27 int max_98373_spk_codec_init(struct snd_soc_pcm_runtime *rtd); 28 void max_98373_set_codec_conf(struct snd_soc_card *card); 29 int max_98373_trigger(struct snd_pcm_substream *substream, int cmd); 30 31 /* 32 * Maxim MAX98390 33 */ 34 #define MAX_98390_CODEC_DAI "max98390-aif1" 35 #define MAX_98390_DEV0_NAME "i2c-" MAX_98390_ACPI_HID ":00" 36 #define MAX_98390_DEV1_NAME "i2c-" MAX_98390_ACPI_HID ":01" 37 #define MAX_98390_DEV2_NAME "i2c-" MAX_98390_ACPI_HID ":02" 38 #define MAX_98390_DEV3_NAME "i2c-" MAX_98390_ACPI_HID ":03" 39 40 void max_98390_dai_link(struct device *dev, struct snd_soc_dai_link *link); 41 void max_98390_set_codec_conf(struct device *dev, struct snd_soc_card *card); 42 43 /* 44 * Maxim MAX98357A/MAX98360A 45 */ 46 #define MAX_98357A_CODEC_DAI "HiFi" 47 #define MAX_98357A_DEV0_NAME MAX_98357A_ACPI_HID ":00" 48 #define MAX_98360A_DEV0_NAME MAX_98360A_ACPI_HID ":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