[PATCH v4 0/3] ASoC: qcom: qdsp6: Add MI2S clock control
From: Mohammad Rafi Shaik
Date: Sat Jul 11 2026 - 08:58:04 EST
Add support for MI2S clock control within q6apm-lpass DAIs, including
handling of MCLK, BCLK, and ECLK via the DAI .set_sysclk callback.
Each MI2S port now retrieves its clock handles from the device tree,
allowing per-port clock configuration and proper enable/disable during
startup and shutdown.
On platforms such as Monaco and Lemans, third-party codecs are
hardware-wired to the SoC and do not always have an in-tree codec
driver to manage their clocks. For these designs, clock line
enablement must be driven from the platform side, and this
series provides the necessary support for that.
On QAIF-based platforms such as Shikra and Hawi, responsibility
for voting I2S MCLK and bit-clock has moved from the DSP to the
kernel. This series introduces the required device tree binding
support to represent and vote for these clocks from the kernel.
Enhances the sc8280xp machine driver to set the boards spacific
configurations.
---
Changes in v4:
- Addressed review comments from Mark Brown.
- Resolved all sashiko comments.
- Link to v3: https://lore.kernel.org/all/20260706132009.1496321-1-mohammad.rafi.shaik@xxxxxxxxxxxxxxxx/
Changes in v3:
- Addressed all review comments from Mark Brown.
- Fixed OF node reference handling, clock configuration, and sample-rate
handling issues as suggested by Mark Brown.
- Added proper error checking for DAI configuration APIs as suggested by Mark Brown.
- Added SENARY DAI support alongside MI2S DAIs as suggested by Val Packett.
- Link to v2: https://lore.kernel.org/all/20260608023011.942228-1-mohammad.rafi.shaik@xxxxxxxxxxxxxxxx/
Changes in v2:
- Added a detailed commit description to clearly explain the need for this change.
- Improved the machine driver based on Neil’s feedback.
- Link to v1: https://lore.kernel.org/all/20260309111300.2484262-1-mohammad.rafi.shaik@xxxxxxxxxxxxxxxx/
---
Mohammad Rafi Shaik (3):
ASoC: dt-bindings: qcom,q6apm-lpass-dais: Document DAI subnode
ASoC: qcom: q6apm-lpass-dais: Add MI2S clock control
ASoC: qcom: sc8280xp: enhance machine driver for board-specific config
.../bindings/sound/qcom,q6apm-lpass-dais.yaml | 58 ++++
sound/soc/qcom/qdsp6/q6apm-lpass-dais.c | 193 +++++++++++++-
sound/soc/qcom/qdsp6/q6prm.h | 4 +
sound/soc/qcom/sc8280xp.c | 252 ++++++++++++++++--
4 files changed, 484 insertions(+), 23 deletions(-)
base-commit: bee763d5f341b99cf472afeb508d4988f62a6ca1
--
2.34.1