[PATCH v3 0/6] Add audio support for QCS6490 Rubik Pi 3
From: Hongyang Zhao <hidden>
Date: 2026-09-04 11:18:41
Also in:
linux-arm-msm, linux-sound, lkml
Add audio support for the Thundercomm Rubik Pi 3, based on QCS6490. The board uses AudioReach/GPR on the ADSP. An ES8316 codec on primary MI2S provides headset playback, capture and jack detection, while the LT9611 bridge on quaternary MI2S provides HDMI playback. Document the ES8316 jack-detect inversion property and add a dedicated sound-card compatible. Factor out a generic Qualcomm headset helper for external codecs, extend the sc8280xp machine driver with optional per-DAI clock and jack configuration, and describe the audio hardware in the board device tree. Existing cards continue to use their card-wide defaults, and the DAI format remains card-wide. This series is based on next-20260902. The required q6prm MCLK IDs, q6apm MI2S clock control and ES8316 regulator support are present in that tree, so there are no external dependencies. Tested on Rubik Pi 3 with HDMI playback, headset playback and capture, and headset jack detection. The bindings and board DTB were also validated against next-20260902. Corresponding AudioReach topology and alsa-ucm-conf updates have also been tested and will be submitted separately to their respective upstream projects. Changes in v3: - Rebase onto next-20260902 and drop the external dependencies, which are now present in linux-next. - Adapt the machine driver to the current board data, keeping existing card-wide settings as fallbacks and codec_dai_fmt card-wide. - Describe MCLK at the ES8316 codec and BCLK at the primary MI2S backend DAIs. - Use the upstream ES8316 supplies without regulator-always-on or regulator-boot-on, and assign the shared GPIO117 pinctrl state to only one fixed regulator. - Put capture before playback and use human-readable link names. Link: https://lore.kernel.org/r/20260715-rubikpi-next-20260605-v2-0-67601d7a8581@thundersoft.com (local) Signed-off-by: Hongyang Zhao <redacted> --- Hongyang Zhao (6): ASoC: dt-bindings: es8316: Document jack detect inversion ASoC: dt-bindings: qcom,sm8250: Add RubikPi 3 sound card ASoC: qcom: common: Add generic headset jack helpers ASoC: qcom: sc8280xp: Add per-DAI board configuration ASoC: qcom: sc8280xp: Add RubikPi 3 sound card support arm64: dts: qcom: qcs6490-rubikpi3: Add audio support .../devicetree/bindings/sound/everest,es8316.yaml | 5 + .../devicetree/bindings/sound/qcom,sm8250.yaml | 1 + .../boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts | 169 +++++++++++++++++++++ sound/soc/qcom/common.c | 61 +++++++- sound/soc/qcom/common.h | 3 + sound/soc/qcom/sc8280xp.c | 130 ++++++++++++++-- 6 files changed, 352 insertions(+), 17 deletions(-) --- base-commit: 32b6ef9a5d0eca44f9cd91f52f4faa89f145a0de change-id: 20260605-rubikpi-next-20260605-fdda114824d7 Best regards, -- Hongyang Zhao [off-list ref]