Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) // SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3)  * soc-acpi-intel-bxt-match.c - tables and support for BXT ACPI enumeration.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5)  * Copyright (c) 2018, Intel Corporation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) #include <linux/dmi.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #include <sound/soc-acpi.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #include <sound/soc-acpi-intel-match.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) enum {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 	APL_RVP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) static const struct dmi_system_id apl_table[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 		.matches = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 			DMI_MATCH(DMI_SYS_VENDOR, "Intel Corp."),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 			DMI_MATCH(DMI_BOARD_NAME, "Apollolake RVP1A"),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 		},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 		.driver_data = (void *)(APL_RVP),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 	},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 	{}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) static struct snd_soc_acpi_mach *apl_quirk(void *arg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 	struct snd_soc_acpi_mach *mach = arg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 	const struct dmi_system_id *dmi_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 	unsigned long apl_machine_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 	dmi_id = dmi_first_match(apl_table);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 	if (dmi_id) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 		apl_machine_id = (unsigned long)dmi_id->driver_data;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 		if (apl_machine_id == APL_RVP)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 			return NULL;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 	return mach;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) static struct snd_soc_acpi_codecs bxt_codecs = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 	.num_codecs = 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 	.codecs = {"MX98357A"}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) struct snd_soc_acpi_mach snd_soc_acpi_intel_bxt_machines[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) 		.id = "INT343A",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 		.drv_name = "bxt_alc298s_i2s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 		.fw_filename = "intel/dsp_fw_bxtn.bin",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) 		.sof_fw_filename = "sof-apl.ri",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) 		.sof_tplg_filename = "sof-apl-rt298.tplg",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) 	},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) 		.id = "DLGS7219",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 		.drv_name = "bxt_da7219_max98357a",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 		.fw_filename = "intel/dsp_fw_bxtn.bin",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) 		.machine_quirk = snd_soc_acpi_codec_list,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) 		.quirk_data = &bxt_codecs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) 		.sof_fw_filename = "sof-apl.ri",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) 		.sof_tplg_filename = "sof-apl-da7219.tplg",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) 	},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) 		.id = "104C5122",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) 		.drv_name = "sof_pcm512x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) 		.sof_fw_filename = "sof-apl.ri",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) 		.sof_tplg_filename = "sof-apl-pcm512x.tplg",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) 	},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) 		.id = "1AEC8804",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) 		.drv_name = "sof-wm8804",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) 		.sof_fw_filename = "sof-apl.ri",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) 		.sof_tplg_filename = "sof-apl-wm8804.tplg",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) 	},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) 		.id = "INT34C3",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) 		.drv_name = "bxt_tdf8532",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) 		.machine_quirk = apl_quirk,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) 		.sof_fw_filename = "sof-apl.ri",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) 		.sof_tplg_filename = "sof-apl-tdf8532.tplg",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) 	},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) 	{},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_bxt_machines);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) MODULE_LICENSE("GPL v2");
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) MODULE_DESCRIPTION("Intel Common ACPI Match module");