Commit c68e0797 authored by Sathyanarayana Nujella's avatar Sathyanarayana Nujella Committed by Mark Brown

ASoC: intel: sof_rt5682: Add quirk for number of HDMI DAI's

TGL supports one more HDMI DAI than previous models.
So add quirk support for number of HDMI DAI's.
Signed-off-by: default avatarSathyanarayana Nujella <sathyanarayana.nujella@intel.com>
Signed-off-by: default avatarJairaj Arava <jairaj.arava@intel.com>
Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20191126143205.21987-2-pierre-louis.bossart@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent e42617b8
...@@ -35,6 +35,10 @@ ...@@ -35,6 +35,10 @@
#define SOF_RT5682_SSP_AMP(quirk) \ #define SOF_RT5682_SSP_AMP(quirk) \
(((quirk) << SOF_RT5682_SSP_AMP_SHIFT) & SOF_RT5682_SSP_AMP_MASK) (((quirk) << SOF_RT5682_SSP_AMP_SHIFT) & SOF_RT5682_SSP_AMP_MASK)
#define SOF_RT5682_MCLK_BYTCHT_EN BIT(9) #define SOF_RT5682_MCLK_BYTCHT_EN BIT(9)
#define SOF_RT5682_NUM_HDMIDEV_SHIFT 10
#define SOF_RT5682_NUM_HDMIDEV_MASK (GENMASK(12, 10))
#define SOF_RT5682_NUM_HDMIDEV(quirk) \
((quirk << SOF_RT5682_NUM_HDMIDEV_SHIFT) & SOF_RT5682_NUM_HDMIDEV_MASK)
/* Default: MCLK on, MCLK 19.2M, SSP0 */ /* Default: MCLK on, MCLK 19.2M, SSP0 */
static unsigned long sof_rt5682_quirk = SOF_RT5682_MCLK_EN | static unsigned long sof_rt5682_quirk = SOF_RT5682_MCLK_EN |
...@@ -594,6 +598,8 @@ static int sof_audio_probe(struct platform_device *pdev) ...@@ -594,6 +598,8 @@ static int sof_audio_probe(struct platform_device *pdev)
if (!ctx) if (!ctx)
return -ENOMEM; return -ENOMEM;
dmi_check_system(sof_rt5682_quirk_table);
if (soc_intel_is_byt() || soc_intel_is_cht()) { if (soc_intel_is_byt() || soc_intel_is_cht()) {
is_legacy_cpu = 1; is_legacy_cpu = 1;
dmic_be_num = 0; dmic_be_num = 0;
...@@ -604,11 +610,13 @@ static int sof_audio_probe(struct platform_device *pdev) ...@@ -604,11 +610,13 @@ static int sof_audio_probe(struct platform_device *pdev)
SOF_RT5682_SSP_CODEC(2); SOF_RT5682_SSP_CODEC(2);
} else { } else {
dmic_be_num = 2; dmic_be_num = 2;
hdmi_num = 3; hdmi_num = (sof_rt5682_quirk & SOF_RT5682_NUM_HDMIDEV_MASK) >>
SOF_RT5682_NUM_HDMIDEV_SHIFT;
/* default number of HDMI DAI's */
if (!hdmi_num)
hdmi_num = 3;
} }
dmi_check_system(sof_rt5682_quirk_table);
/* need to get main clock from pmc */ /* need to get main clock from pmc */
if (sof_rt5682_quirk & SOF_RT5682_MCLK_BYTCHT_EN) { if (sof_rt5682_quirk & SOF_RT5682_MCLK_BYTCHT_EN) {
ctx->mclk = devm_clk_get(&pdev->dev, "pmc_plt_clk_3"); ctx->mclk = devm_clk_get(&pdev->dev, "pmc_plt_clk_3");
......
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