Lines Matching +full:spk +full:- +full:shutdown
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * poodle.c -- SoC audio for Poodle
22 #include <asm/mach-types.h>
28 #include "pxa2xx-i2s.h"
35 /* audio clock in Hz - rounded from 12.235MHz */
61 snd_soc_dapm_enable_pin(dapm, "Ext Spk"); in poodle_ext_control()
63 snd_soc_dapm_disable_pin(dapm, "Ext Spk"); in poodle_ext_control()
74 poodle_ext_control(&rtd->card->dapm); in poodle_startup()
79 /* we need to unmute the HP at shutdown as the mute burns power on poodle */
130 .shutdown = poodle_shutdown,
136 ucontrol->value.enumerated.item[0] = poodle_jack_func; in poodle_get_jack()
145 if (poodle_jack_func == ucontrol->value.enumerated.item[0]) in poodle_set_jack()
148 poodle_jack_func = ucontrol->value.enumerated.item[0]; in poodle_set_jack()
149 poodle_ext_control(&card->dapm); in poodle_set_jack()
156 ucontrol->value.enumerated.item[0] = poodle_spk_func; in poodle_get_spk()
165 if (poodle_spk_func == ucontrol->value.enumerated.item[0]) in poodle_set_spk()
168 poodle_spk_func = ucontrol->value.enumerated.item[0]; in poodle_set_spk()
169 poodle_ext_control(&card->dapm); in poodle_set_spk()
189 SND_SOC_DAPM_SPK("Ext Spk", poodle_amp_event),
201 {"Ext Spk", NULL, "ROUT"},
202 {"Ext Spk", NULL, "LOUT"},
221 /* poodle digital audio interface glue - connects codec <--> CPU */
223 DAILINK_COMP_ARRAY(COMP_CPU("pxa2xx-i2s")),
224 DAILINK_COMP_ARRAY(COMP_CODEC("wm8731.0-001b", "wm8731-hifi")),
225 DAILINK_COMP_ARRAY(COMP_PLATFORM("pxa-pcm-audio")));
259 /* should we mute HP at startup - burning power ?*/ in poodle_probe()
265 card->dev = &pdev->dev; in poodle_probe()
267 ret = devm_snd_soc_register_card(&pdev->dev, card); in poodle_probe()
269 dev_err(&pdev->dev, "snd_soc_register_card() failed: %d\n", in poodle_probe()
276 .name = "poodle-audio",
288 MODULE_ALIAS("platform:poodle-audio");