This is basically RFC, REVIEW or v1. At least to understand if splitting wsa881x is a right direction and also it is not clear to me what should be done to force mono output (to mix two channels together). Unfortunately, only one amplifier is wired in hence only single speaker. There is no support for capture, visense, reading wsa temperature yet. This implements the playback via the following path: RX1 from DSP is connected to rxmacro which communicates with wcd codec using soundwire. This goes into AUX input of wcd. wcd codec outputs analog audio into wsa amplifier which can, surprisingly, amplify the signal. Special thanks to Srini. Without his help and support this patchset wouldn't be here. This series depends on: -- HDMI audio playback https://lore.kernel.org/linux-sound/20241101005925.186696-1-alexey.klimov@xxxxxxxxxx/ -- and on LPASS clock controller https://lore.kernel.org/linux-clk/20241101012247.216825-1-alexey.klimov@xxxxxxxxxx/ The other bits like fixes for rxmacro and wcd937x codecs were accepted as far as I understand. Alexey Klimov (10): arm64: dts: qcom: sm6115: add LPASS devices arm64: dts: qcom: sm4250: add description of soundwire pins arm64: dts: qcom: qrb4210-rb2: add wcd937x codec support ASoC: codecs: wsa881x: split into common and soundwire drivers dt-bindings: arm: qcom-soc: extend pattern matching for QRB4210/QRB2210 SoCs ASoC: dt-bindings: add wsa881x-i2c binding for analog mode ASoC: codecs: add wsa881x-i2c amplifier codec driver arm64: dts: qcom: qrb4210-rb2: enable wsa881x amplifier arm64: dts: qcom: qrb4210-rb2: add WSA audio playback support ASoC: qcom: sm8250: force single channel via RX_1 output .../devicetree/bindings/arm/qcom-soc.yaml | 4 +- .../bindings/sound/qcom,wsa881x-i2c.yaml | 103 ++ arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 120 +- arch/arm64/boot/dts/qcom/sm4250.dtsi | 46 + arch/arm64/boot/dts/qcom/sm6115.dtsi | 132 ++ sound/soc/codecs/Kconfig | 15 + sound/soc/codecs/Makefile | 4 + sound/soc/codecs/wsa881x-common.c | 123 ++ sound/soc/codecs/wsa881x-common.h | 425 +++++ sound/soc/codecs/wsa881x-i2c.c | 1454 +++++++++++++++++ sound/soc/codecs/wsa881x.c | 493 +----- sound/soc/qcom/sm8250.c | 10 + 12 files changed, 2445 insertions(+), 484 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/qcom,wsa881x-i2c.yaml create mode 100644 sound/soc/codecs/wsa881x-common.c create mode 100644 sound/soc/codecs/wsa881x-common.h create mode 100644 sound/soc/codecs/wsa881x-i2c.c -- 2.45.2