.../devicetree/bindings/sound/everest,es8316.yaml | 5 + .../devicetree/bindings/sound/qcom,sm8250.yaml | 1 + .../boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts | 159 ++++++++++++++++++ sound/soc/qcom/common.c | 61 ++++++- sound/soc/qcom/common.h | 3 + sound/soc/qcom/sc8280xp.c | 177 ++++++++++++++++++--- 6 files changed, 375 insertions(+), 31 deletions(-)
Add audio support for the Thundercomm RubikPi3 board based on QCS6490.
RubikPi3 uses AudioReach/GPR on the ADSP. An ES8316 codec connected to
primary MI2S provides headset playback, headset capture and jack
detection. The LT9611 bridge connected to quaternary MI2S provides HDMI
audio playback.
The series first documents the existing ES8316 jack-detect inversion
property and adds a board-specific Qualcomm sound-card compatible. A
generic Qualcomm headset helper is then added for codecs which implement
component jack detection but are not connected through a WCD codec DMA
link.
The sc8280xp machine driver board data is converted to a per-DAI
representation. This allows each backend to select its own DAI format,
clock programming and jack setup. RubikPi3 uses this to drive the ES8316
with a 19.2 MHz MCLK and to avoid unsupported sysclk programming on the
LT9611 HDMI link.
The final patch describes the two audio paths, clocks, pin control,
codec power and jack-detect wiring in the RubikPi3 device tree.
This series is based on next-20260710 and depends on Rafi's
q6apm-lpass-dais MI2S clock control series and Neil's q6prm MCLK clock
ID patch:
Depends-on: https://lore.kernel.org/all/20260714145250.2473461-1-mohammad.rafi.shaik@oss.qualcomm.com/
Depends-on: https://lore.kernel.org/all/20251008-topic-sm8x50-next-hdk-i2s-v2-1-6b7d38d4ad5e@linaro.org/
Tested on Thundercomm RubikPi3:
- HDMI playback
- Headset playback and capture
- Headset jack detection
Changes in v2:
- Rebased onto next-20260710 and Rafi's latest q6apm-lpass-dais MI2S
clock control series (v5).
- Dropped the bundled q6prm MCLK ID patch and added a dependency on
Neil's existing patch.
- Split the generic headset helper, per-DAI driver refactoring and
RubikPi3 machine data into separate patches.
- Reworked the sc8280xp board data from global flags to per-DAI
configuration and migrated existing users.
- Explained why the existing QCM6490 and QCS6490 sound-card compatibles
cannot be reused for RubikPi3.
- Moved MI2S pin control to the sound card and fixed audio-routing
formatting as requested during v1 review.
- Added primary MI2S backend clock subnodes for MCLK and BCLK control.
- Dropped the untested SPDIF links from the device tree.
- Verified HDMI and headset playback, headset capture and jack detection
on hardware.
Link: https://lore.kernel.org/all/20260607-rubikpi-next-20260605-v1-0-7f334e16fea6@thundersoft.com/
Signed-off-by: Hongyang Zhao <hongyang.zhao@thundersoft.com>
---
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 | 159 ++++++++++++++++++
sound/soc/qcom/common.c | 61 ++++++-
sound/soc/qcom/common.h | 3 +
sound/soc/qcom/sc8280xp.c | 177 ++++++++++++++++++---
6 files changed, 375 insertions(+), 31 deletions(-)
---
base-commit: bee763d5f341b99cf472afeb508d4988f62a6ca1
change-id: 20260605-rubikpi-next-20260605-fdda114824d7
prerequisite-message-id: <20260714145250.2473461-1-mohammad.rafi.shaik@oss.qualcomm.com>
prerequisite-patch-id: 2e26f868c659376d3a1dd4c3e3d34ddb24aa226d
prerequisite-patch-id: aa51a266a595ff79730f56920b7c552e53285869
prerequisite-patch-id: b469932718c83bffa60b62c84dfc4cc8abc199e3
prerequisite-patch-id: 2f1bd3efac328030dd8efe28fb95f84603868043
Best regards,
--
Hongyang Zhao <hongyang.zhao@thundersoft.com>
On Wed, Jul 15, 2026 at 10:02:49PM +0800, Hongyang Zhao wrote: > Add audio support for the Thundercomm RubikPi3 board based on QCS6490. > > RubikPi3 uses AudioReach/GPR on the ADSP. An ES8316 codec connected to > primary MI2S provides headset playback, headset capture and jack > detection. The LT9611 bridge connected to quaternary MI2S provides HDMI > audio playback. > > The series first documents the existing ES8316 jack-detect inversion > property and adds a board-specific Qualcomm sound-card compatible. A > generic Qualcomm headset helper is then added for codecs which implement > component jack detection but are not connected through a WCD codec DMA > link. > > The sc8280xp machine driver board data is converted to a per-DAI > representation. This allows each backend to select its own DAI format, > clock programming and jack setup. RubikPi3 uses this to drive the ES8316 > with a 19.2 MHz MCLK and to avoid unsupported sysclk programming on the > LT9611 HDMI link. > > The final patch describes the two audio paths, clocks, pin control, > codec power and jack-detect wiring in the RubikPi3 device tree. > > This series is based on next-20260710 and depends on Rafi's > q6apm-lpass-dais MI2S clock control series and Neil's q6prm MCLK clock > ID patch: > > Depends-on: https://lore.kernel.org/all/20260714145250.2473461-1-mohammad.rafi.shaik@oss.qualcomm.com/ > Depends-on: https://lore.kernel.org/all/20251008-topic-sm8x50-next-hdk-i2s-v2-1-6b7d38d4ad5e@linaro.org/ That's RFC with comments, so why do you send your patchset knowing IT CANNOT BE merged? Last days Mark complained, Rob complained, sure, we can ignore maintainers, but just stop for a second and think: what can we do with your patchset? Really, what can we do? Best regards, Krzysztof
On Wed, Jul 15, 2026 at 10:02:49PM +0800, Hongyang Zhao wrote: > > Add audio support for the Thundercomm RubikPi3 board based on QCS6490. > > > > RubikPi3 uses AudioReach/GPR on the ADSP. An ES8316 codec connected to > > primary MI2S provides headset playback, headset capture and jack > > detection. The LT9611 bridge connected to quaternary MI2S provides HDMI > > audio playback. > > > > The series first documents the existing ES8316 jack-detect inversion > > property and adds a board-specific Qualcomm sound-card compatible. A > > generic Qualcomm headset helper is then added for codecs which implement > > component jack detection but are not connected through a WCD codec DMA > > link. > > > > The sc8280xp machine driver board data is converted to a per-DAI > > representation. This allows each backend to select its own DAI format, > > clock programming and jack setup. RubikPi3 uses this to drive the ES8316 > > with a 19.2 MHz MCLK and to avoid unsupported sysclk programming on the > > LT9611 HDMI link. > > > > The final patch describes the two audio paths, clocks, pin control, > > codec power and jack-detect wiring in the RubikPi3 device tree. > > > > This series is based on next-20260710 and depends on Rafi's > > q6apm-lpass-dais MI2S clock control series and Neil's q6prm MCLK clock > > ID patch: > > > > Depends-on: https://lore.kernel.org/all/20260714145250.2473461-1-mohammad.rafi.shaik@oss.qualcomm.com/ > > Depends-on: https://lore.kernel.org/all/20251008-topic-sm8x50-next-hdk-i2s-v2-1-6b7d38d4ad5e@linaro.org/ > > That's RFC with comments, so why do you send your patchset knowing IT > CANNOT BE merged? > > Last days Mark complained, Rob complained, sure, we can ignore > maintainers, but just stop for a second and think: what can we do with > your patchset? Really, what can we do? > > Best regards, > Krzysztof Hi Krzysztof, You are right. I missed the RFC tag on Neil's series and misunderstood the status of that dependency. In v1 I carried Neil's MCLK clock-ID patch. I changed this to a Depends-on reference in v2 because I did not want to resend somebody else's work without coordination. I now understand that this still leaves the RubikPi series non-actionable while the dependency remains an RFC. Please consider this series withdrawn. I will coordinate with Neil about the MCLK clock-ID change and wait until the prerequisite work is in a mergeable state before sending another revision. Sorry for wasting your and the other maintainers' review time. Best regards, Hongyang
© 2016 - 2026 Red Hat, Inc.