From: Chancel Liu Date: Thu, 28 May 2026 02:07:24 +0000 (+0900) Subject: ASoC: imx-rpmsg: Support headphone jack detection X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ec74d4f934a63f8146f704eb0ed7b3af2b819a8d;p=thirdparty%2Flinux.git ASoC: imx-rpmsg: Support headphone jack detection Add headphone jack detection support for i.MX RPMSG audio cards. When the "hp-det-gpios" property is present in the device tree node, use simple_util_init_jack() from the ASoC simple card utilities to register a headphone jack with GPIO-based insertion detection. Signed-off-by: Chancel Liu Link: https://patch.msgid.link/20260528020725.2265321-3-chancel.liu@nxp.com Signed-off-by: Mark Brown --- diff --git a/sound/soc/fsl/Kconfig b/sound/soc/fsl/Kconfig index ae8774e11873d..8ae59c0948788 100644 --- a/sound/soc/fsl/Kconfig +++ b/sound/soc/fsl/Kconfig @@ -358,6 +358,7 @@ config SND_SOC_IMX_RPMSG depends on OF && I2C select SND_SOC_IMX_PCM_RPMSG select SND_SOC_IMX_AUDIO_RPMSG + select SND_SIMPLE_CARD_UTILS help SoC Audio support for i.MX boards with rpmsg. There should be rpmsg devices defined in other core (M core) diff --git a/sound/soc/fsl/imx-rpmsg.c b/sound/soc/fsl/imx-rpmsg.c index fd4624786b627..48fe471499bac 100644 --- a/sound/soc/fsl/imx-rpmsg.c +++ b/sound/soc/fsl/imx-rpmsg.c @@ -12,6 +12,7 @@ #include #include #include +#include #include "imx-pcm-rpmsg.h" struct imx_rpmsg { @@ -19,6 +20,7 @@ struct imx_rpmsg { struct snd_soc_card card; unsigned long sysclk; bool lpa; + struct simple_util_jack hp_jack; }; static struct dev_pm_ops lpa_pm; @@ -86,6 +88,15 @@ static int imx_rpmsg_late_probe(struct snd_soc_card *card) struct device *dev = card->dev; int ret; + if (of_property_present(card->dev->of_node, "hp-det-gpios")) { + ret = simple_util_init_jack(card, &data->hp_jack, + 1, NULL, "Headphone Jack"); + if (ret) { + dev_err(dev, "failed to init hp jack\n"); + return ret; + } + } + if (data->lpa) { struct device_node *codec_np; struct device_driver *codec_drv;