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