From: Qianghua Wang <qianghua.wang@senarytech.com>
To: linux-sound@vger.kernel.org
Cc: Qianghua Wang <qianghua.wang@senarytech.com>,
Mark Brown <broonie@kernel.org>,
Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>,
Bard Liao <yung-chuan.liao@linux.intel.com>,
Liam Girdwood <liam.r.girdwood@linux.intel.com>,
Peter Ujfalusi <peter.ujfalusi@linux.intel.com>,
Kai Vehmanen <kai.vehmanen@linux.intel.com>,
Cezary Rojewski <cezary.rojewski@intel.com>,
Charles Keepax <ckeepax@opensource.cirrus.com>,
bo liu <bo.liu@senarytech.com>
Subject: [PATCH v4 0/3] ASoC: add Senary SN624x SoundWire SDCA support
Date: Tue, 18 Aug 2026 10:08:43 +0800 [thread overview]
Message-ID: <cover.1787017592.git.qianghua.wang@senarytech.com> (raw)
This series adds SoundWire SDCA support for Senary SN624x
multi-function codecs (jack, speaker amp, DMIC) on Intel ARL,
LNL, MTL, and PTL.
v3 was dropped due to a CI build break against current SDCA
helpers, so this is a full resend with those fixes folded in
(not an incremental on top of v3).
Changes since v3:
- Enable runtime PM from io_init() on first ATTACHED, matching
the rt722 pattern, instead of enabling it from probe after
register_component().
- Update sdca_asoc_pde_poll_actual_ps() / sdca_parse_function()
call sites to the current prototypes (drop unused device and
SoundWire slave arguments) so the driver builds on for-next.
Changes since v2:
- Propagate io_init Function Status / defaults failures instead of
skipping init and still returning success.
- Zero-initialize sdw stream/port configs and use
snd_sdw_params_to_config().
- Program jack SampleFreqIndex only for the configured stream
direction (avoid forcing symmetric rates).
- Mark regmap cache dirty on suspend and on re-io_init after
re-attach so regcache_sync restores state after power loss/reset.
- Hold a long-lived runtime PM get while jack detect is enabled
via set_jack / remove (drop poll mark_last_busy refresh).
- Use sdw_slave_wait_for_init() on resume when unattach_request
is set.
Patch summary:
1/3 codec driver + MAINTAINERS
2/3 sdw_utils helpers and codec_info
3/3 Intel ARL/LNL/MTL/PTL ACPI match + SOF mach select
Validated on LG Wildcat Lake / PTL with part_id 0x6247
(MODALIAS sdw:m0496p6247v03c01).
Qianghua Wang (3):
ASoC: codecs: add SN624x SDCA SoundWire driver
ASoC: sdw_utils: add Senary SN624x helpers and codec_info
ASoC: Intel: soc-acpi: add SN624x entries for ARL/LNL/MTL/PTL
MAINTAINERS | 3 +
include/sound/soc_sdw_utils.h | 20 +
sound/soc/codecs/Kconfig | 13 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/sn624x-sdca-sdw.c | 1888 +++++++++++++++++
sound/soc/codecs/sn624x-sdca.h | 152 ++
sound/soc/intel/boards/Kconfig | 1 +
.../intel/common/soc-acpi-intel-arl-match.c | 71 +
.../intel/common/soc-acpi-intel-lnl-match.c | 71 +
.../intel/common/soc-acpi-intel-mtl-match.c | 71 +
.../intel/common/soc-acpi-intel-ptl-match.c | 82 +
sound/soc/sdw_utils/Makefile | 4 +-
sound/soc/sdw_utils/soc_sdw_senary_amp.c | 80 +
sound/soc/sdw_utils/soc_sdw_senary_dmic.c | 49 +
sound/soc/sdw_utils/soc_sdw_senary_sdca.c | 63 +
.../soc_sdw_senary_sdca_jack_common.c | 197 ++
sound/soc/sdw_utils/soc_sdw_utils.c | 166 ++
17 files changed, 2932 insertions(+), 1 deletion(-)
create mode 100644 sound/soc/codecs/sn624x-sdca-sdw.c
create mode 100644 sound/soc/codecs/sn624x-sdca.h
create mode 100644 sound/soc/sdw_utils/soc_sdw_senary_amp.c
create mode 100644 sound/soc/sdw_utils/soc_sdw_senary_dmic.c
create mode 100644 sound/soc/sdw_utils/soc_sdw_senary_sdca.c
create mode 100644 sound/soc/sdw_utils/soc_sdw_senary_sdca_jack_common.c
--
2.47.3
next reply other threads:[~2026-08-18 2:14 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-18 2:08 Qianghua Wang [this message]
2026-08-18 2:08 ` [PATCH v4 1/3] ASoC: codecs: add SN624x SDCA SoundWire driver Qianghua Wang
2026-08-18 2:08 ` [PATCH v4 2/3] ASoC: sdw_utils: add Senary SN624x helpers and codec_info Qianghua Wang
2026-08-18 2:08 ` [PATCH v4 3/3] ASoC: Intel: soc-acpi: add SN624x entries for ARL/LNL/MTL/PTL Qianghua Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1787017592.git.qianghua.wang@senarytech.com \
--to=qianghua.wang@senarytech.com \
--cc=bo.liu@senarytech.com \
--cc=broonie@kernel.org \
--cc=cezary.rojewski@intel.com \
--cc=ckeepax@opensource.cirrus.com \
--cc=kai.vehmanen@linux.intel.com \
--cc=liam.r.girdwood@linux.intel.com \
--cc=linux-sound@vger.kernel.org \
--cc=peter.ujfalusi@linux.intel.com \
--cc=pierre-louis.bossart@linux.dev \
--cc=yung-chuan.liao@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.