Commit 7ede9c4c authored by Mark Brown's avatar Mark Brown

Add Machine driver support for nau8825, max98560 and rt5682s, rt1019

Merge series from V sujith kumar Reddy <Vsujithkumar.Reddy@amd.com>:

Add support for some new AMD machines.
parents 52970da2 4dc6737c
...@@ -130,4 +130,34 @@ struct snd_soc_acpi_mach snd_soc_acpi_amd_sof_machines[] = { ...@@ -130,4 +130,34 @@ struct snd_soc_acpi_mach snd_soc_acpi_amd_sof_machines[] = {
}; };
EXPORT_SYMBOL(snd_soc_acpi_amd_sof_machines); EXPORT_SYMBOL(snd_soc_acpi_amd_sof_machines);
struct snd_soc_acpi_mach snd_soc_acpi_amd_rmb_sof_machines[] = {
{
.id = "AMDI1019",
.drv_name = "rmb-dsp",
.pdata = &acp_quirk_data,
.fw_filename = "sof-rmb.ri",
.sof_tplg_filename = "sof-acp-rmb.tplg",
},
{
.id = "10508825",
.drv_name = "nau8825-max",
.pdata = &acp_quirk_data,
.machine_quirk = snd_soc_acpi_codec_list,
.quirk_data = &amp_max,
.fw_filename = "sof-rmb.ri",
.sof_tplg_filename = "sof-rmb-nau8825-max98360.tplg",
},
{
.id = "RTL5682",
.drv_name = "rt5682s-hs-rt1019",
.pdata = &acp_quirk_data,
.machine_quirk = snd_soc_acpi_codec_list,
.quirk_data = &amp_rt1019,
.fw_filename = "sof-rmb.ri",
.sof_tplg_filename = "sof-rmb-rt5682s-rt1019.tplg",
},
{},
};
EXPORT_SYMBOL(snd_soc_acpi_amd_rmb_sof_machines);
MODULE_LICENSE("Dual BSD/GPL"); MODULE_LICENSE("Dual BSD/GPL");
...@@ -49,6 +49,7 @@ config SND_SOC_AMD_MACH_COMMON ...@@ -49,6 +49,7 @@ config SND_SOC_AMD_MACH_COMMON
select SND_SOC_RT1019 select SND_SOC_RT1019
select SND_SOC_MAX98357A select SND_SOC_MAX98357A
select SND_SOC_RT5682S select SND_SOC_RT5682S
select SND_SOC_NAU8825
help help
This option enables common Machine driver module for ACP. This option enables common Machine driver module for ACP.
......
This diff is collapsed.
...@@ -26,6 +26,7 @@ enum be_id { ...@@ -26,6 +26,7 @@ enum be_id {
enum cpu_endpoints { enum cpu_endpoints {
NONE = 0, NONE = 0,
I2S_HS,
I2S_SP, I2S_SP,
I2S_BT, I2S_BT,
DMIC, DMIC,
...@@ -37,6 +38,7 @@ enum codec_endpoints { ...@@ -37,6 +38,7 @@ enum codec_endpoints {
RT1019, RT1019,
MAX98360A, MAX98360A,
RT5682S, RT5682S,
NAU8825,
}; };
struct acp_card_drvdata { struct acp_card_drvdata {
...@@ -49,6 +51,7 @@ struct acp_card_drvdata { ...@@ -49,6 +51,7 @@ struct acp_card_drvdata {
unsigned int dai_fmt; unsigned int dai_fmt;
struct clk *wclk; struct clk *wclk;
struct clk *bclk; struct clk *bclk;
bool soc_mclk;
}; };
int acp_sofdsp_dai_links_create(struct snd_soc_card *card); int acp_sofdsp_dai_links_create(struct snd_soc_card *card);
......
...@@ -56,6 +56,26 @@ static struct acp_card_drvdata sof_rt5682s_max_data = { ...@@ -56,6 +56,26 @@ static struct acp_card_drvdata sof_rt5682s_max_data = {
.dmic_codec_id = DMIC, .dmic_codec_id = DMIC,
}; };
static struct acp_card_drvdata sof_nau8825_data = {
.hs_cpu_id = I2S_HS,
.amp_cpu_id = I2S_HS,
.dmic_cpu_id = DMIC,
.hs_codec_id = NAU8825,
.amp_codec_id = MAX98360A,
.dmic_codec_id = DMIC,
.soc_mclk = true,
};
static struct acp_card_drvdata sof_rt5682s_hs_rt1019_data = {
.hs_cpu_id = I2S_HS,
.amp_cpu_id = I2S_HS,
.dmic_cpu_id = DMIC,
.hs_codec_id = RT5682S,
.amp_codec_id = RT1019,
.dmic_codec_id = DMIC,
.soc_mclk = true,
};
static const struct snd_kcontrol_new acp_controls[] = { static const struct snd_kcontrol_new acp_controls[] = {
SOC_DAPM_PIN_SWITCH("Headphone Jack"), SOC_DAPM_PIN_SWITCH("Headphone Jack"),
SOC_DAPM_PIN_SWITCH("Headset Mic"), SOC_DAPM_PIN_SWITCH("Headset Mic"),
...@@ -124,6 +144,14 @@ static const struct platform_device_id board_ids[] = { ...@@ -124,6 +144,14 @@ static const struct platform_device_id board_ids[] = {
.name = "rt5682s-rt1019", .name = "rt5682s-rt1019",
.driver_data = (kernel_ulong_t)&sof_rt5682s_rt1019_data .driver_data = (kernel_ulong_t)&sof_rt5682s_rt1019_data
}, },
{
.name = "nau8825-max",
.driver_data = (kernel_ulong_t)&sof_nau8825_data
},
{
.name = "rt5682s-hs-rt1019",
.driver_data = (kernel_ulong_t)&sof_rt5682s_hs_rt1019_data
},
{ } { }
}; };
static struct platform_driver acp_asoc_audio = { static struct platform_driver acp_asoc_audio = {
...@@ -143,4 +171,6 @@ MODULE_ALIAS("platform:rt5682-rt1019"); ...@@ -143,4 +171,6 @@ MODULE_ALIAS("platform:rt5682-rt1019");
MODULE_ALIAS("platform:rt5682-max"); MODULE_ALIAS("platform:rt5682-max");
MODULE_ALIAS("platform:rt5682s-max"); MODULE_ALIAS("platform:rt5682s-max");
MODULE_ALIAS("platform:rt5682s-rt1019"); MODULE_ALIAS("platform:rt5682s-rt1019");
MODULE_ALIAS("platform:nau8825-max");
MODULE_ALIAS("platform:rt5682s-hs-rt1019");
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
#define ACP_PCI_DEV_ID 0x15E2 #define ACP_PCI_DEV_ID 0x15E2
extern struct snd_soc_acpi_mach snd_soc_acpi_amd_sof_machines[]; extern struct snd_soc_acpi_mach snd_soc_acpi_amd_sof_machines[];
extern struct snd_soc_acpi_mach snd_soc_acpi_amd_rmb_sof_machines[];
struct config_entry { struct config_entry {
u32 flags; u32 flags;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment