Add audio support for the Thundercomm RubikPi3 board based on QCS6490.
RubikPi3 uses AudioReach/GPR on the ADSP, an ES8316 headset codec on
primary MI2S, HDMI audio through the LT9611 bridge, and SPDIF TX/RX
on tertiary MI2S exposed on the 40-pin header.
The series first documents the ES8316 jack detect inversion property
and the board-specific Qualcomm sound card compatible. It then adds the
missing q6prm MCLK IDs required to drive the external codec MCLK.
The sc8280xp machine driver is extended with per-card data so the
RubikPi3 MI2S DAI format, MCLK, BE parameters and headset jack pins
can be handled without adding DAI format properties to devicetree.
The final patch describes the RubikPi3 audio hardware in devicetree.
Tested on Thundercomm RubikPi3:
- HDMI playback
- Headset playback and capture
- Headset jack detection
Signed-off-by: Hongyang Zhao <hongyang.zhao@thundersoft.com>
---
Hongyang Zhao (4):
ASoC: dt-bindings: es8316: Document jack detect inversion
ASoC: dt-bindings: qcom,sm8250: Add QCS6490 RubikPi3 sound card
ASoC: qcom: sc8280xp: Add per-card data
arm64: dts: qcom: qcs6490-rubikpi3: Add audio support
Neil Armstrong (1):
ASoC: qcom: qdsp6: q6prm: add the missing MCLK clock IDs
.../devicetree/bindings/sound/everest,es8316.yaml | 5 +
.../devicetree/bindings/sound/qcom,sm8250.yaml | 1 +
.../boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts | 196 +++++++++++++
sound/soc/qcom/common.c | 75 ++++-
sound/soc/qcom/common.h | 6 +-
sound/soc/qcom/qdsp6/q6prm-clocks.c | 5 +
sound/soc/qcom/qdsp6/q6prm.h | 11 +
sound/soc/qcom/sc8280xp.c | 319 +++++++++++++++++++--
8 files changed, 575 insertions(+), 43 deletions(-)
---
base-commit: 6e845bcb78c95af935094040bd4edc3c2b6dd784
change-id: 20260605-rubikpi-next-20260605-fdda114824d7
Best regards,
--
Hongyang Zhao <hongyang.zhao@thundersoft.com>