| From dcf7f582d5edc282f3608be5c30dbf39ac5e903d Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 26 Nov 2019 08:32:04 -0600 |
| Subject: ASoC: intel: sof_rt5682: Add support for tgl-max98357a-rt5682 |
| |
| From: Sathyanarayana Nujella <sathyanarayana.nujella@intel.com> |
| |
| [ Upstream commit 6605f0ca3af3b964635287ec7c9dadc812b78eb0 ] |
| |
| This patch adds the driver data and updates quirk info |
| for tgl with max98357a speaker amp and ALC5682 headset codec. |
| |
| Signed-off-by: Sathyanarayana Nujella <sathyanarayana.nujella@intel.com> |
| Signed-off-by: Jairaj Arava <jairaj.arava@intel.com> |
| Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> |
| Link: https://lore.kernel.org/r/20191126143205.21987-3-pierre-louis.bossart@linux.intel.com |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| sound/soc/intel/boards/sof_rt5682.c | 20 ++++++++++++++++++++ |
| 1 file changed, 20 insertions(+) |
| |
| diff --git a/sound/soc/intel/boards/sof_rt5682.c b/sound/soc/intel/boards/sof_rt5682.c |
| index 377ff17dedb98..9441ddfeea5e6 100644 |
| --- a/sound/soc/intel/boards/sof_rt5682.c |
| +++ b/sound/soc/intel/boards/sof_rt5682.c |
| @@ -589,6 +589,9 @@ static int sof_audio_probe(struct platform_device *pdev) |
| if (!ctx) |
| return -ENOMEM; |
| |
| + if (pdev->id_entry && pdev->id_entry->driver_data) |
| + sof_rt5682_quirk = (unsigned long)pdev->id_entry->driver_data; |
| + |
| dmi_check_system(sof_rt5682_quirk_table); |
| |
| if (soc_intel_is_byt() || soc_intel_is_cht()) { |
| @@ -680,6 +683,21 @@ static int sof_rt5682_remove(struct platform_device *pdev) |
| return 0; |
| } |
| |
| +static const struct platform_device_id board_ids[] = { |
| + { |
| + .name = "sof_rt5682", |
| + }, |
| + { |
| + .name = "tgl_max98357a_rt5682", |
| + .driver_data = (kernel_ulong_t)(SOF_RT5682_MCLK_EN | |
| + SOF_RT5682_SSP_CODEC(0) | |
| + SOF_SPEAKER_AMP_PRESENT | |
| + SOF_RT5682_SSP_AMP(1) | |
| + SOF_RT5682_NUM_HDMIDEV(4)), |
| + }, |
| + { } |
| +}; |
| + |
| static struct platform_driver sof_audio = { |
| .probe = sof_audio_probe, |
| .remove = sof_rt5682_remove, |
| @@ -687,6 +705,7 @@ static struct platform_driver sof_audio = { |
| .name = "sof_rt5682", |
| .pm = &snd_soc_pm_ops, |
| }, |
| + .id_table = board_ids, |
| }; |
| module_platform_driver(sof_audio) |
| |
| @@ -696,3 +715,4 @@ MODULE_AUTHOR("Bard Liao <bard.liao@intel.com>"); |
| MODULE_AUTHOR("Sathya Prakash M R <sathya.prakash.m.r@intel.com>"); |
| MODULE_LICENSE("GPL v2"); |
| MODULE_ALIAS("platform:sof_rt5682"); |
| +MODULE_ALIAS("platform:tgl_max98357a_rt5682"); |
| -- |
| 2.20.1 |
| |