Commit 0befe3a0 authored by Mark Brown's avatar Mark Brown

Merge series "ASoC: mediatek: mt8183-mt6358: support machine driver for...

Merge series "ASoC: mediatek: mt8183-mt6358: support machine driver for rt1015p" from Tzung-Bi Shih <tzungbi@google.com>:

The series reuses mt8183-mt6358-ts3a227-max98357.c for supporting
machine driver with rt1015p speaker amplifier.

The 1st patch adds document for the new proposed compatible string.

The 2nd patch changes the machine driver to support "RT1015P" codec.

Tzung-Bi Shih (2):
  ASoC: dt-bindings: mt8183: add compatible string for using rt1015p
  ASoC: mediatek: mt8183: support machine driver with rt1015p

 .../sound/mt8183-mt6358-ts3a227-max98357.txt  |  1 +
 sound/soc/mediatek/Kconfig                    |  1 +
 .../mt8183/mt8183-mt6358-ts3a227-max98357.c   | 29 +++++++++++++++++++
 3 files changed, 31 insertions(+)

--
2.31.0.rc2.261.g7f71774620-goog
parents 6f2cd36f 9dc21a06
...@@ -4,6 +4,7 @@ Required properties: ...@@ -4,6 +4,7 @@ Required properties:
- compatible : "mediatek,mt8183_mt6358_ts3a227_max98357" for MAX98357A codec - compatible : "mediatek,mt8183_mt6358_ts3a227_max98357" for MAX98357A codec
"mediatek,mt8183_mt6358_ts3a227_max98357b" for MAX98357B codec "mediatek,mt8183_mt6358_ts3a227_max98357b" for MAX98357B codec
"mediatek,mt8183_mt6358_ts3a227_rt1015" for RT1015 codec "mediatek,mt8183_mt6358_ts3a227_rt1015" for RT1015 codec
"mediatek,mt8183_mt6358_ts3a227_rt1015p" for RT1015P codec
- mediatek,platform: the phandle of MT8183 ASoC platform - mediatek,platform: the phandle of MT8183 ASoC platform
Optional properties: Optional properties:
......
...@@ -124,6 +124,7 @@ config SND_SOC_MT8183_MT6358_TS3A227E_MAX98357A ...@@ -124,6 +124,7 @@ config SND_SOC_MT8183_MT6358_TS3A227E_MAX98357A
select SND_SOC_MT6358 select SND_SOC_MT6358
select SND_SOC_MAX98357A select SND_SOC_MAX98357A
select SND_SOC_RT1015 select SND_SOC_RT1015
select SND_SOC_RT1015P
select SND_SOC_BT_SCO select SND_SOC_BT_SCO
select SND_SOC_TS3A227E select SND_SOC_TS3A227E
select SND_SOC_CROS_EC_CODEC if CROS_EC select SND_SOC_CROS_EC_CODEC if CROS_EC
......
...@@ -284,6 +284,11 @@ SND_SOC_DAILINK_DEFS(i2s3_rt1015, ...@@ -284,6 +284,11 @@ SND_SOC_DAILINK_DEFS(i2s3_rt1015,
COMP_CODEC(RT1015_DEV1_NAME, RT1015_CODEC_DAI)), COMP_CODEC(RT1015_DEV1_NAME, RT1015_CODEC_DAI)),
DAILINK_COMP_ARRAY(COMP_EMPTY())); DAILINK_COMP_ARRAY(COMP_EMPTY()));
SND_SOC_DAILINK_DEFS(i2s3_rt1015p,
DAILINK_COMP_ARRAY(COMP_CPU("I2S3")),
DAILINK_COMP_ARRAY(COMP_CODEC("rt1015p", "HiFi")),
DAILINK_COMP_ARRAY(COMP_EMPTY()));
SND_SOC_DAILINK_DEFS(i2s5, SND_SOC_DAILINK_DEFS(i2s5,
DAILINK_COMP_ARRAY(COMP_CPU("I2S5")), DAILINK_COMP_ARRAY(COMP_CPU("I2S5")),
DAILINK_COMP_ARRAY(COMP_CODEC("bt-sco", "bt-sco-pcm")), DAILINK_COMP_ARRAY(COMP_CODEC("bt-sco", "bt-sco-pcm")),
...@@ -590,6 +595,13 @@ static struct snd_soc_card mt8183_mt6358_ts3a227_rt1015_card = { ...@@ -590,6 +595,13 @@ static struct snd_soc_card mt8183_mt6358_ts3a227_rt1015_card = {
.num_configs = ARRAY_SIZE(mt8183_mt6358_ts3a227_rt1015_amp_conf), .num_configs = ARRAY_SIZE(mt8183_mt6358_ts3a227_rt1015_amp_conf),
}; };
static struct snd_soc_card mt8183_mt6358_ts3a227_rt1015p_card = {
.name = "mt8183_mt6358_ts3a227_rt1015p",
.owner = THIS_MODULE,
.dai_link = mt8183_mt6358_ts3a227_dai_links,
.num_links = ARRAY_SIZE(mt8183_mt6358_ts3a227_dai_links),
};
static int static int
mt8183_mt6358_ts3a227_max98357_headset_init(struct snd_soc_component *component) mt8183_mt6358_ts3a227_max98357_headset_init(struct snd_soc_component *component)
{ {
...@@ -686,6 +698,19 @@ mt8183_mt6358_ts3a227_max98357_dev_probe(struct platform_device *pdev) ...@@ -686,6 +698,19 @@ mt8183_mt6358_ts3a227_max98357_dev_probe(struct platform_device *pdev)
dai_link->platforms = i2s3_rt1015_platforms; dai_link->platforms = i2s3_rt1015_platforms;
dai_link->num_platforms = dai_link->num_platforms =
ARRAY_SIZE(i2s3_rt1015_platforms); ARRAY_SIZE(i2s3_rt1015_platforms);
} else if (card == &mt8183_mt6358_ts3a227_rt1015p_card) {
dai_link->be_hw_params_fixup =
mt8183_rt1015_i2s_hw_params_fixup;
dai_link->ops = &mt8183_mt6358_i2s_ops;
dai_link->cpus = i2s3_rt1015p_cpus;
dai_link->num_cpus =
ARRAY_SIZE(i2s3_rt1015p_cpus);
dai_link->codecs = i2s3_rt1015p_codecs;
dai_link->num_codecs =
ARRAY_SIZE(i2s3_rt1015p_codecs);
dai_link->platforms = i2s3_rt1015p_platforms;
dai_link->num_platforms =
ARRAY_SIZE(i2s3_rt1015p_platforms);
} }
} }
...@@ -772,6 +797,10 @@ static const struct of_device_id mt8183_mt6358_ts3a227_max98357_dt_match[] = { ...@@ -772,6 +797,10 @@ static const struct of_device_id mt8183_mt6358_ts3a227_max98357_dt_match[] = {
.compatible = "mediatek,mt8183_mt6358_ts3a227_rt1015", .compatible = "mediatek,mt8183_mt6358_ts3a227_rt1015",
.data = &mt8183_mt6358_ts3a227_rt1015_card, .data = &mt8183_mt6358_ts3a227_rt1015_card,
}, },
{
.compatible = "mediatek,mt8183_mt6358_ts3a227_rt1015p",
.data = &mt8183_mt6358_ts3a227_rt1015p_card,
},
{} {}
}; };
#endif #endif
......
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