xref: /linux/include/sound/soc-acpi-intel-ssp-common.h (revision c771600c6af14749609b49565ffb4cac2959710d)
14b38d639SBrent Lu /* SPDX-License-Identifier: GPL-2.0-only */
24b38d639SBrent Lu /*
34b38d639SBrent Lu  * Copyright(c) 2023 Intel Corporation.
44b38d639SBrent Lu  */
54b38d639SBrent Lu 
6a17fea38SBrent Lu #ifndef __LINUX_SND_SOC_ACPI_INTEL_SSP_COMMON_H
7a17fea38SBrent Lu #define __LINUX_SND_SOC_ACPI_INTEL_SSP_COMMON_H
84b38d639SBrent Lu 
94b38d639SBrent Lu /* Cirrus Logic */
104b38d639SBrent Lu #define CS35L41_ACPI_HID	"CSC3541"
114b38d639SBrent Lu #define CS42L42_ACPI_HID	"10134242"
124b38d639SBrent Lu 
134b38d639SBrent Lu /* Dialog */
144b38d639SBrent Lu #define DA7219_ACPI_HID		"DLGS7219"
154b38d639SBrent Lu 
164b38d639SBrent Lu /* Everest */
174b38d639SBrent Lu #define ES8316_ACPI_HID		"ESSX8316"
184b38d639SBrent Lu #define ES8326_ACPI_HID		"ESSX8326"
194b38d639SBrent Lu #define ES8336_ACPI_HID		"ESSX8336"
204b38d639SBrent Lu 
214b38d639SBrent Lu #define MAX_98357A_ACPI_HID	"MX98357A"
224b38d639SBrent Lu #define MAX_98360A_ACPI_HID	"MX98360A"
234b38d639SBrent Lu #define MAX_98373_ACPI_HID	"MX98373"
244b38d639SBrent Lu #define MAX_98390_ACPI_HID	"MX98390"
254b38d639SBrent Lu 
264b38d639SBrent Lu /* Nuvoton */
274b38d639SBrent Lu #define NAU8318_ACPI_HID	"NVTN2012"
284b38d639SBrent Lu #define NAU8825_ACPI_HID	"10508825"
294b38d639SBrent Lu 
304b38d639SBrent Lu /* Realtek */
314b38d639SBrent Lu #define RT1011_ACPI_HID		"10EC1011"
324b38d639SBrent Lu #define RT1015_ACPI_HID		"10EC1015"
334b38d639SBrent Lu #define RT1015P_ACPI_HID	"RTL1015"
344b38d639SBrent Lu #define RT1019P_ACPI_HID	"RTL1019"
354b38d639SBrent Lu #define RT1308_ACPI_HID		"10EC1308"
364b38d639SBrent Lu #define RT5650_ACPI_HID		"10EC5650"
374b38d639SBrent Lu #define RT5682_ACPI_HID		"10EC5682"
384b38d639SBrent Lu #define RT5682S_ACPI_HID	"RTL5682"
394b38d639SBrent Lu 
40a17fea38SBrent Lu enum snd_soc_acpi_intel_codec {
414b38d639SBrent Lu 	CODEC_NONE,
424b38d639SBrent Lu 
434b38d639SBrent Lu 	/* headphone codec */
444b38d639SBrent Lu 	CODEC_CS42L42,
454b38d639SBrent Lu 	CODEC_DA7219,
464b38d639SBrent Lu 	CODEC_ES8316,
474b38d639SBrent Lu 	CODEC_ES8326,
484b38d639SBrent Lu 	CODEC_ES8336,
494b38d639SBrent Lu 	CODEC_NAU8825,
504b38d639SBrent Lu 	CODEC_RT5650,
514b38d639SBrent Lu 	CODEC_RT5682,
524b38d639SBrent Lu 	CODEC_RT5682S,
534b38d639SBrent Lu 
544b38d639SBrent Lu 	/* speaker amplifier */
554b38d639SBrent Lu 	CODEC_CS35L41,
564b38d639SBrent Lu 	CODEC_MAX98357A,
574b38d639SBrent Lu 	CODEC_MAX98360A,
584b38d639SBrent Lu 	CODEC_MAX98373,
594b38d639SBrent Lu 	CODEC_MAX98390,
604b38d639SBrent Lu 	CODEC_NAU8318,
614b38d639SBrent Lu 	CODEC_RT1011,
624b38d639SBrent Lu 	CODEC_RT1015,
634b38d639SBrent Lu 	CODEC_RT1015P,
644b38d639SBrent Lu 	CODEC_RT1019P,
654b38d639SBrent Lu 	CODEC_RT1308,
664b38d639SBrent Lu };
674b38d639SBrent Lu 
68a17fea38SBrent Lu enum snd_soc_acpi_intel_codec
69a17fea38SBrent Lu snd_soc_acpi_intel_detect_codec_type(struct device *dev);
70a17fea38SBrent Lu enum snd_soc_acpi_intel_codec
71a17fea38SBrent Lu snd_soc_acpi_intel_detect_amp_type(struct device *dev);
72c1469c3aSCharles Keepax 
73a17fea38SBrent Lu const char *
74a17fea38SBrent Lu snd_soc_acpi_intel_get_codec_name(enum snd_soc_acpi_intel_codec codec_type);
754b38d639SBrent Lu 
76*2e723a79SBrent Lu const char *
77*2e723a79SBrent Lu snd_soc_acpi_intel_get_codec_tplg_suffix(enum snd_soc_acpi_intel_codec codec_type);
78*2e723a79SBrent Lu const char *
79*2e723a79SBrent Lu snd_soc_acpi_intel_get_amp_tplg_suffix(enum snd_soc_acpi_intel_codec codec_type);
80*2e723a79SBrent Lu 
81a17fea38SBrent Lu #endif /* __LINUX_SND_SOC_ACPI_INTEL_SSP_COMMON_H */
82