[alsa-devel] Correct macro for Headset widgets

Lopez Cruz, Misael x0052729 at ti.com
Wed Mar 18 02:31:55 CET 2009

What is the correct way to declare a Headset widget in a machine
driver? I originally thought that by using SND_SOC_DAPM_HP macro
was enough, but it's not since the headset is both headphones and

In my machine driver I have the following widget and map for

SND_SOC_DAPM_HP("Headset Jack", NULL)


/* Headset: HSMIC (with bias), HSOL, HSOR */
{"Headset Jack", NULL, "HSOL"},
{"Headset Jack", NULL, "HSOR"},
{"HSMIC", NULL, "Headset Mic Bias"},
{"Headset Mic Bias", NULL, "Headset Jack"},

but the "Headset Mic Bias" widget never gets powered when the
"Headset Jack" pin is enabled.

When the audio map is scanned, only valid routes are powered:
DAC-Output, Input-DAC, Input-Output, DAC-ADC. And "Headset Jack"
(declared as SND_SOC_DAPM_HP) is not a valid input endpoint, then
the capture route becomes invalid.

Can we have a macro specifically for Headset widgets?


More information about the Alsa-devel mailing list