[PATCH v6 0/7] ASoC: qcom: add AudioReach TDM backend support
Prasad Kumpatla <[email protected]> Tue, 4 Aug 2026 01:26:17 +0530
| Newsgroups | org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-sound |
|---|---|
| Message-ID | <[email protected]> |
Add AudioReach support for LPASS Audio IF based TDM backends and wire it up for the sc8280xp machine driver. The series first adds topology-driven Audio IF source/sink handling so the DSP interface parameters can be described by topology while runtime media format and slot configuration still come from the machine driver. It then adds TDM DAI operations for q6apm-lpass-dais, exposes the Audio IF clock IDs through the q6dsp-lpass-ports binding and q6prm clock tables, and introduces common QCOM helpers for parsing standard dai-tdm-slot-* properties from backend CPU and codec endpoints. Finally, sc8280xp uses the common helpers during hw_params to program CPU and codec TDM slots, derive the backend bit clock from the active PCM parameters, and request the CPU and codec clocks before the stream is started. changes in v6: - Addressed comments from srini - Provided QAIF Supported types, Removed dead code, add kernel doc for ep_frame_duration struct, variable consistant checks. - Addressed shasiko comments on patch#6, - Distinguish missing TDM configuration from invalid configuration to avoid masking DT validation errors. - Restore accidentally dropped Reviewed-by tags. - Link to v5: https://lore.kernel.org/linux-arm-msm/[email protected]/ changes in v5: - Addressed comments from Srini - Removed unwanted comments, Define Macros for frame durations, Updated the logic solts, validate the tx/rx masks. - Link to v4: https://lore.kernel.org/linux-arm-msm/[email protected]/ Changes in v4: - Addressed comments related to bindings from Rob. - Link to v3: https://lore.kernel.org/all/[email protected]/ Changes in v3: - Reusing of tdm-slot.yaml and update the bindings. - Link to v2: https://lore.kernel.org/all/[email protected]/ Changes in v2: - Update AR Module token definitions and validation prefixes. - Reorder module addresses. - Add kernel-doc for `struct param_id_audio_if_intf_cfg`. - Remove unused code and stale comments. - Clean up comments and naming in q6apm-lpass-ports.h. - Add bindings for TDM slots. - Link to v1: https://lore.kernel.org/all/[email protected]/ Prasad Kumpatla (7): ASoC: qcom: qdsp6: add topology-driven Audio IF support ASoC: qcom: q6apm-lpass-dais: add TDM DAI operations dt-bindings: sound: qcom,q6dsp-lpass-ports: add Audio IF clocks ASoC: qcom: q6prm: add Audio IF clock IDs dt-bindings: sound: qcom,sm8250: allow TDM slot properties ASoC: qcom: common: add DAI-node TDM slot helpers ASoC: qcom: sc8280xp: add TDM hw_params support .../bindings/sound/qcom,sm8250.yaml | 26 +++ .../sound/qcom,q6dsp-lpass-ports.h | 29 ++++ include/uapi/sound/snd_ar_tokens.h | 93 +++++++++++ sound/soc/qcom/common.c | 155 ++++++++++++++++++ sound/soc/qcom/common.h | 14 ++ sound/soc/qcom/qdsp6/audioreach.c | 93 +++++++++++ sound/soc/qcom/qdsp6/audioreach.h | 90 ++++++++++ sound/soc/qcom/qdsp6/q6apm-lpass-dais.c | 60 +++++++ sound/soc/qcom/qdsp6/q6prm-clocks.c | 28 ++++ sound/soc/qcom/qdsp6/q6prm.h | 29 ++++ sound/soc/qcom/qdsp6/topology.c | 103 ++++++++++++ sound/soc/qcom/sc8280xp.c | 59 +++++++ 12 files changed, 779 insertions(+) -- 2.34.1