Devicetree
 help / color / mirror / Atom feed
* [PATCH v2 0/6] Add audio support for QCS6490 RubikPi3
@ 2026-07-15 14:02 Hongyang Zhao
  2026-07-15 14:02 ` [PATCH v2 1/6] ASoC: dt-bindings: es8316: Document jack detect inversion Hongyang Zhao
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Hongyang Zhao @ 2026-07-15 14:02 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Daniel Drake, Katsuhiro Suzuki, Matteo Martelli,
	Binbin Zhou, Srinivas Kandagatla, Jaroslav Kysela, Takashi Iwai,
	Bjorn Andersson, Konrad Dybcio
  Cc: Mohammad Rafi Shaik, Neil Armstrong, Dmitry Baryshkov,
	Roger Shimizu, linux-sound, devicetree, linux-kernel,
	linux-arm-msm, Hongyang Zhao, Krzysztof Kozlowski

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>


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2026-07-16 11:38 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-15 14:02 [PATCH v2 0/6] Add audio support for QCS6490 RubikPi3 Hongyang Zhao
2026-07-15 14:02 ` [PATCH v2 1/6] ASoC: dt-bindings: es8316: Document jack detect inversion Hongyang Zhao
2026-07-15 14:02 ` [PATCH v2 2/6] ASoC: dt-bindings: qcom,sm8250: Add RubikPi 3 sound card Hongyang Zhao
2026-07-15 14:02 ` [PATCH v2 3/6] ASoC: qcom: common: Add generic headset jack helpers Hongyang Zhao
2026-07-15 14:02 ` [PATCH v2 4/6] ASoC: qcom: sc8280xp: Add per-DAI board configuration Hongyang Zhao
2026-07-15 14:02 ` [PATCH v2 5/6] ASoC: qcom: sc8280xp: Add RubikPi 3 sound card support Hongyang Zhao
2026-07-15 18:08   ` Mohammad Rafi Shaik
2026-07-16  9:15     ` Hongyang Zhao
2026-07-15 14:02 ` [PATCH v2 6/6] arm64: dts: qcom: qcs6490-rubikpi3: Add audio support Hongyang Zhao
2026-07-15 18:17   ` Mohammad Rafi Shaik
2026-07-16  9:52     ` Hongyang Zhao
2026-07-16  8:11 ` [PATCH v2 0/6] Add audio support for QCS6490 RubikPi3 Krzysztof Kozlowski
2026-07-16  8:46   ` Hongyang Zhao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox