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

The series reuses mt8183-da7219-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-da7219: add compatible string for using
    rt1015p
  ASoC: mediatek: mt8183-da7219: support machine driver with rt1015p

 .../bindings/sound/mt8183-da7219-max98357.txt |  1 +
 sound/soc/mediatek/Kconfig                    |  1 +
 .../mediatek/mt8183/mt8183-da7219-max98357.c  | 40 +++++++++++++++++++
 3 files changed, 42 insertions(+)

--
2.28.0.526.ge36021eeef-goog
This commit is contained in:
Mark Brown 2020-09-11 15:52:23 +01:00
commit 2b7d52a9ba
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0
3 changed files with 42 additions and 0 deletions

View File

@ -3,6 +3,7 @@ MT8183 with MT6358, DA7219, MAX98357, and RT1015 CODECS
Required properties: Required properties:
- compatible : "mediatek,mt8183_da7219_max98357" for MAX98357A codec - compatible : "mediatek,mt8183_da7219_max98357" for MAX98357A codec
"mediatek,mt8183_da7219_rt1015" for RT1015 codec "mediatek,mt8183_da7219_rt1015" for RT1015 codec
"mediatek,mt8183_da7219_rt1015p" for RT1015P codec
- mediatek,headset-codec: the phandles of da7219 codecs - mediatek,headset-codec: the phandles of da7219 codecs
- mediatek,platform: the phandle of MT8183 ASoC platform - mediatek,platform: the phandle of MT8183 ASoC platform

View File

@ -140,6 +140,7 @@ config SND_SOC_MT8183_DA7219_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_DA7219 select SND_SOC_DA7219
select SND_SOC_BT_SCO select SND_SOC_BT_SCO
select SND_SOC_HDMI_CODEC select SND_SOC_HDMI_CODEC

View File

@ -348,6 +348,12 @@ SND_SOC_DAILINK_DEFS(i2s3_rt1015,
COMP_CODEC(DA7219_DEV_NAME, DA7219_CODEC_DAI)), COMP_CODEC(DA7219_DEV_NAME, DA7219_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"),
COMP_CODEC(DA7219_DEV_NAME, DA7219_CODEC_DAI)),
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")),
@ -641,6 +647,23 @@ static struct snd_soc_card mt8183_da7219_rt1015_card = {
.num_configs = ARRAY_SIZE(mt8183_da7219_rt1015_codec_conf), .num_configs = ARRAY_SIZE(mt8183_da7219_rt1015_codec_conf),
}; };
static struct snd_soc_card mt8183_da7219_rt1015p_card = {
.name = "mt8183_da7219_rt1015p",
.owner = THIS_MODULE,
.controls = mt8183_da7219_max98357_snd_controls,
.num_controls = ARRAY_SIZE(mt8183_da7219_max98357_snd_controls),
.dapm_widgets = mt8183_da7219_max98357_dapm_widgets,
.num_dapm_widgets = ARRAY_SIZE(mt8183_da7219_max98357_dapm_widgets),
.dapm_routes = mt8183_da7219_max98357_dapm_routes,
.num_dapm_routes = ARRAY_SIZE(mt8183_da7219_max98357_dapm_routes),
.dai_link = mt8183_da7219_dai_links,
.num_links = ARRAY_SIZE(mt8183_da7219_dai_links),
.aux_dev = &mt8183_da7219_max98357_headset_dev,
.num_aux_devs = 1,
.codec_conf = mt6358_codec_conf,
.num_configs = ARRAY_SIZE(mt6358_codec_conf),
};
static int mt8183_da7219_max98357_dev_probe(struct platform_device *pdev) static int mt8183_da7219_max98357_dev_probe(struct platform_device *pdev)
{ {
struct snd_soc_card *card; struct snd_soc_card *card;
@ -696,6 +719,19 @@ static int mt8183_da7219_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_da7219_rt1015p_card) {
dai_link->be_hw_params_fixup =
mt8183_rt1015_i2s_hw_params_fixup;
dai_link->ops = &mt8183_da7219_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);
} }
} }
@ -742,6 +778,10 @@ static const struct of_device_id mt8183_da7219_max98357_dt_match[] = {
.compatible = "mediatek,mt8183_da7219_rt1015", .compatible = "mediatek,mt8183_da7219_rt1015",
.data = &mt8183_da7219_rt1015_card, .data = &mt8183_da7219_rt1015_card,
}, },
{
.compatible = "mediatek,mt8183_da7219_rt1015p",
.data = &mt8183_da7219_rt1015p_card,
},
{} {}
}; };
#endif #endif