[PATCH v4 0/3] ASoC: add Senary SN624x SoundWire SDCA support

Qianghua Wang <[email protected]>
Newsgroups gmane.linux.sound
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.