Lines Matching +full:speaker +full:- +full:codecs

1 // SPDX-License-Identifier: GPL-2.0-only
19 #include "../codecs/ts3a227e.h"
21 #define DRV_NAME "rockchip-snd-max98090"
42 SND_SOC_DAPM_SPK("Speaker", NULL)
66 {"Speaker", NULL, "SPKL"}, \
67 {"Speaker", NULL, "SPKR"}
89 SOC_DAPM_PIN_SWITCH("Speaker")
111 struct snd_soc_dapm_context *dapm = &jack->card->dapm;
167 return -EINVAL;
173 dev_err(cpu_dai->dev, "Can't set cpu dai clock %d\n", ret);
181 if (!strcmp(rtd->dai_link->name, "HDMI"))
185 dev_err(codec_dai->dev, "Can't set codec dai clock %d\n", ret);
198 return snd_pcm_hw_constraint_minmax(substream->runtime,
214 DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "i2s-hifi")),
226 struct snd_soc_card *card = runtime->card;
227 struct snd_soc_component *component = snd_soc_rtd_to_codec(runtime, 0)->component;
234 dev_err(card->dev, "Can't new HDMI Jack %d\n", ret);
299 .name = "ROCKCHIP-I2S",
314 .name = "ROCKCHIP-HDMI",
327 .name = "ROCKCHIP-MAX98090-HDMI",
346 ret = snd_soc_card_jack_new_pins(component->card, "Headset Jack",
364 np, "rockchip,headset-codec", 0);
367 "Property 'rockchip,headset-codec' missing/invalid\n");
368 return -EINVAL;
377 struct device *dev = &pdev->dev;
378 struct device_node *np = pdev->dev.of_node;
383 np_cpu = of_parse_phandle(np, "rockchip,i2s-controller", 0);
386 dev_err(&pdev->dev,
387 "Property 'rockchip,i2s-controller missing or invalid\n");
388 return -EINVAL;
395 np_audio = of_parse_phandle(np, "rockchip,audio-codec", 0);
396 np_hdmi = of_parse_phandle(np, "rockchip,hdmi-codec", 0);
399 card->dai_link[DAILINK_MAX98090].codecs->of_node = np_audio;
400 card->dai_link[DAILINK_HDMI].codecs->of_node = np_hdmi;
401 card->dai_link[DAILINK_MAX98090].cpus->of_node = np_cpu;
402 card->dai_link[DAILINK_MAX98090].platforms->of_node = np_cpu;
403 card->dai_link[DAILINK_HDMI].cpus->of_node = np_cpu;
404 card->dai_link[DAILINK_HDMI].platforms->of_node = np_cpu;
407 card->dai_link[0].codecs->of_node = np_audio;
408 card->dai_link[0].cpus->of_node = np_cpu;
409 card->dai_link[0].platforms->of_node = np_cpu;
412 card->dai_link[0].codecs->of_node = np_hdmi;
413 card->dai_link[0].cpus->of_node = np_cpu;
414 card->dai_link[0].platforms->of_node = np_cpu;
416 dev_err(dev, "At least one of codecs should be specified\n");
417 return -EINVAL;
420 card->dev = dev;
432 dev_err(&pdev->dev,
438 ret = devm_snd_soc_register_card(&pdev->dev, card);
440 dev_err(&pdev->dev,
449 { .compatible = "rockchip,rockchip-audio-max98090", },
466 MODULE_AUTHOR("jianqun <jay.xu@rock-chips.com>");