[PATCH v3 2/5] ASoC: sun4i-codec: correct dapm widgets and controls for h616
Jernej Škrabec
jernej.skrabec at gmail.com
Thu Feb 20 11:05:39 PST 2025
Dne petek, 14. februar 2025 ob 23:02:24 Srednjeevropski standardni čas je Ryan Walklin napisal(a):
> The previous H616 support patch added a single LINEOUT DAPM pin switch
> to the card controls. As the codec in this SoC only has a single route,
> this seemed reasonable at the time, however is redundant given the
> existing DAPM codec widget definitions controlling the digital and
> analog sides of the codec.
>
> It is also insufficient to describe the scenario where separate
> components (muxes, jack detection etc) are used to modify the audio
> route external to the SoC. For example the Anbernic RG(##)XX series of
> devices uses a headphone jack detection switch, GPIO-controlled speaker
> amplifier and a passive external mux chip to route audio.
>
> Remove the redundant LINEOUT card control, and add a Speaker pin switch
> control and Headphone DAPM widget to allow control of the above
> hardware.
>
> Signed-off-by: Chris Morgan <macromorgan at hotmail.com>
> Signed-off-by: Ryan Walklin <ryan at testtoast.com>
> ---
> sound/soc/sunxi/sun4i-codec.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/sound/soc/sunxi/sun4i-codec.c b/sound/soc/sunxi/sun4i-codec.c
> index 886b3fa537d26..f24bbefeb3923 100644
> --- a/sound/soc/sunxi/sun4i-codec.c
> +++ b/sound/soc/sunxi/sun4i-codec.c
> @@ -1916,10 +1916,11 @@ static const struct snd_soc_component_driver sun50i_h616_codec_codec = {
> };
>
> static const struct snd_kcontrol_new sun50i_h616_card_controls[] = {
> - SOC_DAPM_PIN_SWITCH("LINEOUT"),
> + SOC_DAPM_PIN_SWITCH("Speaker"),
Will this break sun50i-h616-x96-mate and sun50i-h616-orangepi-zero based boards?
If so, other solution must be found.
Best regards,
Jernej
> };
>
> static const struct snd_soc_dapm_widget sun50i_h616_codec_card_dapm_widgets[] = {
> + SND_SOC_DAPM_HP("Headphone", NULL),
> SND_SOC_DAPM_LINE("Line Out", NULL),
> SND_SOC_DAPM_SPK("Speaker", sun4i_codec_spk_event),
> };
>
More information about the linux-arm-kernel
mailing list