Commit 08145535 authored by Tzung-Bi Shih's avatar Tzung-Bi Shih Committed by Mark Brown

ASoC: mediatek: mt8183: support machine driver with max98357b

Supports machine driver with max98357b
("mt8183-mt6358-ts3a227-max98357b").

The key difference from max98357a: max98357b needs to use left
justified format.
Signed-off-by: default avatarTzung-Bi Shih <tzungbi@google.com>
Link: https://lore.kernel.org/r/20200720012559.906088-4-tzungbi@google.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent e3c3cdbd
...@@ -528,6 +528,13 @@ static struct snd_soc_card mt8183_mt6358_ts3a227_max98357_card = { ...@@ -528,6 +528,13 @@ static struct snd_soc_card mt8183_mt6358_ts3a227_max98357_card = {
.num_links = ARRAY_SIZE(mt8183_mt6358_ts3a227_dai_links), .num_links = ARRAY_SIZE(mt8183_mt6358_ts3a227_dai_links),
}; };
static struct snd_soc_card mt8183_mt6358_ts3a227_max98357b_card = {
.name = "mt8183_mt6358_ts3a227_max98357b",
.owner = THIS_MODULE,
.dai_link = mt8183_mt6358_ts3a227_dai_links,
.num_links = ARRAY_SIZE(mt8183_mt6358_ts3a227_dai_links),
};
static struct snd_soc_codec_conf mt8183_mt6358_ts3a227_rt1015_amp_conf[] = { static struct snd_soc_codec_conf mt8183_mt6358_ts3a227_rt1015_amp_conf[] = {
{ {
.dlc = COMP_CODEC_CONF(RT1015_DEV0_NAME), .dlc = COMP_CODEC_CONF(RT1015_DEV0_NAME),
...@@ -617,7 +624,8 @@ mt8183_mt6358_ts3a227_max98357_dev_probe(struct platform_device *pdev) ...@@ -617,7 +624,8 @@ mt8183_mt6358_ts3a227_max98357_dev_probe(struct platform_device *pdev)
} }
if (strcmp(dai_link->name, "I2S3") == 0) { if (strcmp(dai_link->name, "I2S3") == 0) {
if (card == &mt8183_mt6358_ts3a227_max98357_card) { if (card == &mt8183_mt6358_ts3a227_max98357_card ||
card == &mt8183_mt6358_ts3a227_max98357b_card) {
dai_link->be_hw_params_fixup = dai_link->be_hw_params_fixup =
mt8183_i2s_hw_params_fixup; mt8183_i2s_hw_params_fixup;
dai_link->ops = &mt8183_mt6358_i2s_ops; dai_link->ops = &mt8183_mt6358_i2s_ops;
...@@ -646,6 +654,14 @@ mt8183_mt6358_ts3a227_max98357_dev_probe(struct platform_device *pdev) ...@@ -646,6 +654,14 @@ mt8183_mt6358_ts3a227_max98357_dev_probe(struct platform_device *pdev)
} }
} }
if (card == &mt8183_mt6358_ts3a227_max98357b_card) {
if (strcmp(dai_link->name, "I2S2") == 0 ||
strcmp(dai_link->name, "I2S3") == 0)
dai_link->dai_fmt = SND_SOC_DAIFMT_LEFT_J |
SND_SOC_DAIFMT_NB_NF |
SND_SOC_DAIFMT_CBM_CFM;
}
if (hdmi_codec && strcmp(dai_link->name, "TDM") == 0) if (hdmi_codec && strcmp(dai_link->name, "TDM") == 0)
dai_link->codecs->of_node = hdmi_codec; dai_link->codecs->of_node = hdmi_codec;
...@@ -711,6 +727,10 @@ static const struct of_device_id mt8183_mt6358_ts3a227_max98357_dt_match[] = { ...@@ -711,6 +727,10 @@ static const struct of_device_id mt8183_mt6358_ts3a227_max98357_dt_match[] = {
.compatible = "mediatek,mt8183_mt6358_ts3a227_max98357", .compatible = "mediatek,mt8183_mt6358_ts3a227_max98357",
.data = &mt8183_mt6358_ts3a227_max98357_card, .data = &mt8183_mt6358_ts3a227_max98357_card,
}, },
{
.compatible = "mediatek,mt8183_mt6358_ts3a227_max98357b",
.data = &mt8183_mt6358_ts3a227_max98357b_card,
},
{ {
.compatible = "mediatek,mt8183_mt6358_ts3a227_rt1015", .compatible = "mediatek,mt8183_mt6358_ts3a227_rt1015",
.data = &mt8183_mt6358_ts3a227_rt1015_card, .data = &mt8183_mt6358_ts3a227_rt1015_card,
......
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