* [PATCH 0/5] qrb2210-rb1: HDMI/I2S audio playback support
@ 2025-03-02 2:49 Alexey Klimov
2025-03-02 2:49 ` [PATCH 1/5] dt-bindings: pinctrl: qcom,sm6115-lpass-lpi: add QCM2290 compatible Alexey Klimov
` (4 more replies)
0 siblings, 5 replies; 15+ messages in thread
From: Alexey Klimov @ 2025-03-02 2:49 UTC (permalink / raw)
To: Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Konrad Dybcio, Srinivas Kandagatla, Liam Girdwood,
Mark Brown
Cc: linux-arm-msm, devicetree, linux-kernel, linux-sound,
Alexey Klimov
This series adds a feature to playback/output audio via HDMI
on the Qualcomm RB1 board. Since RB1 and RB2 are very similar
to each and other and most likely use the same mainboard therefore
this series is a rework of the similar patchset for RB2.
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
Alexey Klimov (5):
dt-bindings: pinctrl: qcom,sm6115-lpass-lpi: add QCM2290 compatible
dt-bindings: sound: qcom,sm8250: add RB1 (QCM2290) soundcard
arm64: dts: qcom: qcm2290: add apr and its services
arm64: dts: qcom: qcm2290: add LPASS LPI pin controller
arm64: dts: qcom: qrb2210-rb1: add HDMI/I2S audio playback support
.../pinctrl/qcom,sm6115-lpass-lpi-pinctrl.yaml | 8 +-
.../devicetree/bindings/sound/qcom,sm8250.yaml | 4 +
arch/arm64/boot/dts/qcom/qcm2290.dtsi | 113 +++++++++++++++++++++
arch/arm64/boot/dts/qcom/qrb2210-rb1.dts | 49 +++++++++
4 files changed, 173 insertions(+), 1 deletion(-)
---
base-commit: be5c7bbb3a64baf884481a1ba0c2f8fb2f93f7c3
change-id: 20250302-rb1_hdmi_sound_first-653a64931ae5
Best regards,
--
Alexey Klimov <alexey.klimov@linaro.org>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/5] dt-bindings: pinctrl: qcom,sm6115-lpass-lpi: add QCM2290 compatible
2025-03-02 2:49 [PATCH 0/5] qrb2210-rb1: HDMI/I2S audio playback support Alexey Klimov
@ 2025-03-02 2:49 ` Alexey Klimov
2025-03-03 15:09 ` Rob Herring (Arm)
2025-03-02 2:49 ` [PATCH 2/5] dt-bindings: sound: qcom,sm8250: add RB1 (QCM2290) soundcard Alexey Klimov
` (3 subsequent siblings)
4 siblings, 1 reply; 15+ messages in thread
From: Alexey Klimov @ 2025-03-02 2:49 UTC (permalink / raw)
To: Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Konrad Dybcio, Srinivas Kandagatla, Liam Girdwood,
Mark Brown
Cc: linux-arm-msm, devicetree, linux-kernel, linux-sound,
Alexey Klimov
Add a compatible for the LPASS LPI pin controller on QCM2290. It seems
to be compatible with sm6115 LPASS pinctrl.
Cc: Konrad Dybcio <konradybcio@kernel.org>
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
.../bindings/pinctrl/qcom,sm6115-lpass-lpi-pinctrl.yaml | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,sm6115-lpass-lpi-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,sm6115-lpass-lpi-pinctrl.yaml
index f4cf2ce86fcd425b7522918442de25c836bf24f0..ec1cd684753ad22050ae349a2e7acbb2545a9070 100644
--- a/Documentation/devicetree/bindings/pinctrl/qcom,sm6115-lpass-lpi-pinctrl.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/qcom,sm6115-lpass-lpi-pinctrl.yaml
@@ -16,7 +16,13 @@ description:
properties:
compatible:
- const: qcom,sm6115-lpass-lpi-pinctrl
+ oneOf:
+ - enum:
+ - qcom,sm6115-lpass-lpi-pinctrl
+ - items:
+ - enum:
+ - qcom,qcm2290-lpass-lpi-pinctrl
+ - const: qcom,sm6115-lpass-lpi-pinctrl
reg:
items:
--
2.47.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/5] dt-bindings: sound: qcom,sm8250: add RB1 (QCM2290) soundcard
2025-03-02 2:49 [PATCH 0/5] qrb2210-rb1: HDMI/I2S audio playback support Alexey Klimov
2025-03-02 2:49 ` [PATCH 1/5] dt-bindings: pinctrl: qcom,sm6115-lpass-lpi: add QCM2290 compatible Alexey Klimov
@ 2025-03-02 2:49 ` Alexey Klimov
2025-03-02 8:20 ` Dmitry Baryshkov
2025-03-02 2:49 ` [PATCH 3/5] arm64: dts: qcom: qcm2290: add apr and its services Alexey Klimov
` (2 subsequent siblings)
4 siblings, 1 reply; 15+ messages in thread
From: Alexey Klimov @ 2025-03-02 2:49 UTC (permalink / raw)
To: Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Konrad Dybcio, Srinivas Kandagatla, Liam Girdwood,
Mark Brown
Cc: linux-arm-msm, devicetree, linux-kernel, linux-sound,
Alexey Klimov
Add soundcard compatible for the soundcard on QRB2210 RB1 platform,
which at this point seems to be compatible with soundcard on
QRB4210 RB2 platform.
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
Documentation/devicetree/bindings/sound/qcom,sm8250.yaml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
index b9e33a7429b0c063dc5f5b806925cd541e546cf6..2493ed99268bf2ff8343020150c2c9aca4262514 100644
--- a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
+++ b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
@@ -21,6 +21,10 @@ properties:
- lenovo,yoga-c630-sndcard
- qcom,db845c-sndcard
- const: qcom,sdm845-sndcard
+ - items:
+ - enum:
+ - qcom,qrb2210-rb1-sndcard
+ - const: qcom,qrb4210-rb2-sndcard
- items:
- enum:
- qcom,sm8550-sndcard
--
2.47.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 3/5] arm64: dts: qcom: qcm2290: add apr and its services
2025-03-02 2:49 [PATCH 0/5] qrb2210-rb1: HDMI/I2S audio playback support Alexey Klimov
2025-03-02 2:49 ` [PATCH 1/5] dt-bindings: pinctrl: qcom,sm6115-lpass-lpi: add QCM2290 compatible Alexey Klimov
2025-03-02 2:49 ` [PATCH 2/5] dt-bindings: sound: qcom,sm8250: add RB1 (QCM2290) soundcard Alexey Klimov
@ 2025-03-02 2:49 ` Alexey Klimov
2025-03-02 8:20 ` Dmitry Baryshkov
2025-03-04 16:48 ` Konrad Dybcio
2025-03-02 2:49 ` [PATCH 4/5] arm64: dts: qcom: qcm2290: add LPASS LPI pin controller Alexey Klimov
2025-03-02 2:49 ` [PATCH 5/5] arm64: dts: qcom: qrb2210-rb1: add HDMI/I2S audio playback support Alexey Klimov
4 siblings, 2 replies; 15+ messages in thread
From: Alexey Klimov @ 2025-03-02 2:49 UTC (permalink / raw)
To: Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Konrad Dybcio, Srinivas Kandagatla, Liam Girdwood,
Mark Brown
Cc: linux-arm-msm, devicetree, linux-kernel, linux-sound,
Alexey Klimov
Add apr (asynchronous packet router) node and its associated services
required to enable audio on QRB2210 RB1 board.
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
arch/arm64/boot/dts/qcom/qcm2290.dtsi | 72 +++++++++++++++++++++++++++++++++++
1 file changed, 72 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcm2290.dtsi b/arch/arm64/boot/dts/qcom/qcm2290.dtsi
index f0746123e594d5ce5cc314c956eaca11556a9211..2c90047f7dd867580836284721c60ed5983f3f34 100644
--- a/arch/arm64/boot/dts/qcom/qcm2290.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcm2290.dtsi
@@ -16,6 +16,8 @@
#include <dt-bindings/interconnect/qcom,qcm2290.h>
#include <dt-bindings/interconnect/qcom,rpm-icc.h>
#include <dt-bindings/power/qcom-rpmpd.h>
+#include <dt-bindings/soc/qcom,apr.h>
+#include <dt-bindings/sound/qcom,q6asm.h>
/ {
interrupt-parent = <&intc>;
@@ -1868,6 +1870,76 @@ glink-edge {
label = "lpass";
qcom,remote-pid = <2>;
mboxes = <&apcs_glb 8>;
+
+ apr {
+ compatible = "qcom,apr-v2";
+ qcom,glink-channels = "apr_audio_svc";
+ qcom,domain = <APR_DOMAIN_ADSP>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ service@3 {
+ reg = <APR_SVC_ADSP_CORE>;
+ compatible = "qcom,q6core";
+ qcom,protection-domain = "avs/audio",
+ "msm/adsp/audio_pd";
+ };
+
+ q6afe: service@4 {
+ compatible = "qcom,q6afe";
+ reg = <APR_SVC_AFE>;
+ qcom,protection-domain = "avs/audio",
+ "msm/adsp/audio_pd";
+ q6afedai: dais {
+ compatible = "qcom,q6afe-dais";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ #sound-dai-cells = <1>;
+ };
+
+ q6afecc: clock-controller {
+ compatible = "qcom,q6afe-clocks";
+ #clock-cells = <2>;
+ };
+ };
+
+ q6asm: service@7 {
+ compatible = "qcom,q6asm";
+ reg = <APR_SVC_ASM>;
+ qcom,protection-domain = "avs/audio",
+ "msm/adsp/audio_pd";
+ q6asmdai: dais {
+ compatible = "qcom,q6asm-dais";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ #sound-dai-cells = <1>;
+ iommus = <&apps_smmu 0x1c1 0x0>;
+
+ dai@0 {
+ reg = <MSM_FRONTEND_DAI_MULTIMEDIA1>;
+ };
+
+ dai@1 {
+ reg = <MSM_FRONTEND_DAI_MULTIMEDIA2>;
+ };
+
+ dai@2 {
+ reg = <MSM_FRONTEND_DAI_MULTIMEDIA3>;
+ };
+ };
+ };
+
+ q6adm: service@8 {
+ compatible = "qcom,q6adm";
+ reg = <APR_SVC_ADM>;
+ qcom,protection-domain = "avs/audio",
+ "msm/adsp/audio_pd";
+ q6routing: routing {
+ compatible = "qcom,q6adm-routing";
+ #sound-dai-cells = <0>;
+ };
+ };
+ };
};
};
--
2.47.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 4/5] arm64: dts: qcom: qcm2290: add LPASS LPI pin controller
2025-03-02 2:49 [PATCH 0/5] qrb2210-rb1: HDMI/I2S audio playback support Alexey Klimov
` (2 preceding siblings ...)
2025-03-02 2:49 ` [PATCH 3/5] arm64: dts: qcom: qcm2290: add apr and its services Alexey Klimov
@ 2025-03-02 2:49 ` Alexey Klimov
2025-03-04 16:55 ` Konrad Dybcio
2025-03-02 2:49 ` [PATCH 5/5] arm64: dts: qcom: qrb2210-rb1: add HDMI/I2S audio playback support Alexey Klimov
4 siblings, 1 reply; 15+ messages in thread
From: Alexey Klimov @ 2025-03-02 2:49 UTC (permalink / raw)
To: Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Konrad Dybcio, Srinivas Kandagatla, Liam Girdwood,
Mark Brown
Cc: linux-arm-msm, devicetree, linux-kernel, linux-sound,
Alexey Klimov
Add the Low Power Audio SubSystem Low Power Island (LPASS LPI) pin
controller device node required for audio subsystem on Qualcomm
QRB2210 RB1. QRB2210 is based on qcm2290 which is based on sm6115.
While at this, also add description of lpi_i2s2 pins (active state)
required for audio playback via HDMI/I2S.
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
arch/arm64/boot/dts/qcom/qcm2290.dtsi | 41 +++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcm2290.dtsi b/arch/arm64/boot/dts/qcom/qcm2290.dtsi
index 2c90047f7dd867580836284721c60ed5983f3f34..623046ba833b6da284ffa4e30e65ea4ae5fb77a2 100644
--- a/arch/arm64/boot/dts/qcom/qcm2290.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcm2290.dtsi
@@ -18,6 +18,7 @@
#include <dt-bindings/power/qcom-rpmpd.h>
#include <dt-bindings/soc/qcom,apr.h>
#include <dt-bindings/sound/qcom,q6asm.h>
+#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
/ {
interrupt-parent = <&intc>;
@@ -650,6 +651,46 @@ data-pins {
};
};
+ lpass_tlmm: pinctrl@a7c0000 {
+ compatible = "qcom,qcm2290-lpass-lpi-pinctrl",
+ "qcom,sm6115-lpass-lpi-pinctrl";
+ reg = <0x0 0x0a7c0000 0x0 0x20000>,
+ <0x0 0x0a950000 0x0 0x10000>;
+
+ clocks = <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "audio";
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&lpass_tlmm 0 0 19>;
+
+ lpi_i2s2_active: lpi-i2s2-active-state {
+ sck-pins {
+ pins = "gpio10";
+ function = "i2s2_clk";
+ bias-disable;
+ drive-strength = <8>;
+ output-high;
+ };
+
+ ws-pins {
+ pins = "gpio11";
+ function = "i2s2_ws";
+ bias-disable;
+ drive-strength = <8>;
+ output-high;
+ };
+
+ data-pins {
+ pins = "gpio12";
+ function = "i2s2_data";
+ bias-disable;
+ drive-strength = <8>;
+ output-high;
+ };
+ };
+ };
+
gcc: clock-controller@1400000 {
compatible = "qcom,gcc-qcm2290";
reg = <0x0 0x01400000 0x0 0x1f0000>;
--
2.47.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 5/5] arm64: dts: qcom: qrb2210-rb1: add HDMI/I2S audio playback support
2025-03-02 2:49 [PATCH 0/5] qrb2210-rb1: HDMI/I2S audio playback support Alexey Klimov
` (3 preceding siblings ...)
2025-03-02 2:49 ` [PATCH 4/5] arm64: dts: qcom: qcm2290: add LPASS LPI pin controller Alexey Klimov
@ 2025-03-02 2:49 ` Alexey Klimov
2025-03-04 16:56 ` Konrad Dybcio
4 siblings, 1 reply; 15+ messages in thread
From: Alexey Klimov @ 2025-03-02 2:49 UTC (permalink / raw)
To: Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Konrad Dybcio, Srinivas Kandagatla, Liam Girdwood,
Mark Brown
Cc: linux-arm-msm, devicetree, linux-kernel, linux-sound,
Alexey Klimov
Add sound node and dsp-related pieces to enable HDMI+I2S audio playback
support on Qualcomm QR2210 RB1 board. That is the only sound output
supported for now.
The audio playback is verified using the following commands:
amixer -c0 cset iface=MIXER,name='SEC_MI2S_RX Audio Mixer MultiMedia1' 1
aplay -D hw:0,0 /usr/share/sounds/alsa/Front_Center.wav
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
arch/arm64/boot/dts/qcom/qrb2210-rb1.dts | 49 ++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
index 7a789b41c2f1887f0c41ae24da2e2fe8915ab13c..e547537cffdbc13cfd21b8b8b7210b62996ff431 100644
--- a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
+++ b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
@@ -186,6 +186,47 @@ vph_pwr: regulator-vph-pwr {
regulator-always-on;
regulator-boot-on;
};
+
+ sound {
+ compatible = "qcom,qrb2210-rb1-sndcard", "qcom,qrb4210-rb2-sndcard";
+ pinctrl-0 = <&lpi_i2s2_active>;
+ pinctrl-names = "default";
+ model = "Qualcomm-RB1-WSA8815-Speakers-DMIC0";
+ audio-routing = "MM_DL1", "MultiMedia1 Playback",
+ "MM_DL2", "MultiMedia2 Playback";
+
+ mm1-dai-link {
+ link-name = "MultiMedia1";
+
+ cpu {
+ sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
+ };
+ };
+
+ mm2-dai-link {
+ link-name = "MultiMedia2";
+
+ cpu {
+ sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
+ };
+ };
+
+ hdmi-i2s-dai-link {
+ link-name = "HDMI/I2S Playback";
+
+ cpu {
+ sound-dai = <&q6afedai SECONDARY_MI2S_RX>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <<9611_codec 0>;
+ };
+ };
+ };
};
&cpu_pd0 {
@@ -321,6 +362,14 @@ &pm4125_vbus {
status = "okay";
};
+/* SECONDARY I2S uses 1 I2S SD Line for audio on LT9611UXC HDMI Bridge */
+&q6afedai {
+ dai@18 {
+ reg = <SECONDARY_MI2S_RX>;
+ qcom,sd-lines = <0>;
+ };
+};
+
&qupv3_id_0 {
status = "okay";
};
--
2.47.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 2/5] dt-bindings: sound: qcom,sm8250: add RB1 (QCM2290) soundcard
2025-03-02 2:49 ` [PATCH 2/5] dt-bindings: sound: qcom,sm8250: add RB1 (QCM2290) soundcard Alexey Klimov
@ 2025-03-02 8:20 ` Dmitry Baryshkov
2025-09-30 15:59 ` Alexey Klimov
0 siblings, 1 reply; 15+ messages in thread
From: Dmitry Baryshkov @ 2025-03-02 8:20 UTC (permalink / raw)
To: Alexey Klimov
Cc: Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Konrad Dybcio, Srinivas Kandagatla, Liam Girdwood,
Mark Brown, linux-arm-msm, devicetree, linux-kernel, linux-sound
On Sun, Mar 02, 2025 at 02:49:52AM +0000, Alexey Klimov wrote:
> Add soundcard compatible for the soundcard on QRB2210 RB1 platform,
> which at this point seems to be compatible with soundcard on
> QRB4210 RB2 platform.
Is it? The RB1 uses PM4125 for audio output, while RB2 uses WCD codec.
>
> Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
> ---
> Documentation/devicetree/bindings/sound/qcom,sm8250.yaml | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
> index b9e33a7429b0c063dc5f5b806925cd541e546cf6..2493ed99268bf2ff8343020150c2c9aca4262514 100644
> --- a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
> +++ b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
> @@ -21,6 +21,10 @@ properties:
> - lenovo,yoga-c630-sndcard
> - qcom,db845c-sndcard
> - const: qcom,sdm845-sndcard
> + - items:
> + - enum:
> + - qcom,qrb2210-rb1-sndcard
> + - const: qcom,qrb4210-rb2-sndcard
> - items:
> - enum:
> - qcom,sm8550-sndcard
>
> --
> 2.47.2
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 3/5] arm64: dts: qcom: qcm2290: add apr and its services
2025-03-02 2:49 ` [PATCH 3/5] arm64: dts: qcom: qcm2290: add apr and its services Alexey Klimov
@ 2025-03-02 8:20 ` Dmitry Baryshkov
2025-03-04 16:48 ` Konrad Dybcio
1 sibling, 0 replies; 15+ messages in thread
From: Dmitry Baryshkov @ 2025-03-02 8:20 UTC (permalink / raw)
To: Alexey Klimov
Cc: Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Konrad Dybcio, Srinivas Kandagatla, Liam Girdwood,
Mark Brown, linux-arm-msm, devicetree, linux-kernel, linux-sound
On Sun, Mar 02, 2025 at 02:49:53AM +0000, Alexey Klimov wrote:
> Add apr (asynchronous packet router) node and its associated services
Nit: APR?
> required to enable audio on QRB2210 RB1 board.
>
> Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
> ---
> arch/arm64/boot/dts/qcom/qcm2290.dtsi | 72 +++++++++++++++++++++++++++++++++++
> 1 file changed, 72 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/qcm2290.dtsi b/arch/arm64/boot/dts/qcom/qcm2290.dtsi
> index f0746123e594d5ce5cc314c956eaca11556a9211..2c90047f7dd867580836284721c60ed5983f3f34 100644
> --- a/arch/arm64/boot/dts/qcom/qcm2290.dtsi
> +++ b/arch/arm64/boot/dts/qcom/qcm2290.dtsi
> @@ -16,6 +16,8 @@
> #include <dt-bindings/interconnect/qcom,qcm2290.h>
> #include <dt-bindings/interconnect/qcom,rpm-icc.h>
> #include <dt-bindings/power/qcom-rpmpd.h>
> +#include <dt-bindings/soc/qcom,apr.h>
> +#include <dt-bindings/sound/qcom,q6asm.h>
>
> / {
> interrupt-parent = <&intc>;
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/5] dt-bindings: pinctrl: qcom,sm6115-lpass-lpi: add QCM2290 compatible
2025-03-02 2:49 ` [PATCH 1/5] dt-bindings: pinctrl: qcom,sm6115-lpass-lpi: add QCM2290 compatible Alexey Klimov
@ 2025-03-03 15:09 ` Rob Herring (Arm)
0 siblings, 0 replies; 15+ messages in thread
From: Rob Herring (Arm) @ 2025-03-03 15:09 UTC (permalink / raw)
To: Alexey Klimov
Cc: Konrad Dybcio, Liam Girdwood, linux-kernel, Krzysztof Kozlowski,
linux-arm-msm, Srinivas Kandagatla, linux-sound, Bjorn Andersson,
Linus Walleij, devicetree, Conor Dooley, Mark Brown
On Sun, 02 Mar 2025 02:49:51 +0000, Alexey Klimov wrote:
> Add a compatible for the LPASS LPI pin controller on QCM2290. It seems
> to be compatible with sm6115 LPASS pinctrl.
>
> Cc: Konrad Dybcio <konradybcio@kernel.org>
> Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
> ---
> .../bindings/pinctrl/qcom,sm6115-lpass-lpi-pinctrl.yaml | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 3/5] arm64: dts: qcom: qcm2290: add apr and its services
2025-03-02 2:49 ` [PATCH 3/5] arm64: dts: qcom: qcm2290: add apr and its services Alexey Klimov
2025-03-02 8:20 ` Dmitry Baryshkov
@ 2025-03-04 16:48 ` Konrad Dybcio
1 sibling, 0 replies; 15+ messages in thread
From: Konrad Dybcio @ 2025-03-04 16:48 UTC (permalink / raw)
To: Alexey Klimov, Bjorn Andersson, Linus Walleij, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Konrad Dybcio,
Srinivas Kandagatla, Liam Girdwood, Mark Brown
Cc: linux-arm-msm, devicetree, linux-kernel, linux-sound
On 2.03.2025 3:49 AM, Alexey Klimov wrote:
> Add apr (asynchronous packet router) node and its associated services
> required to enable audio on QRB2210 RB1 board.
>
> Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 4/5] arm64: dts: qcom: qcm2290: add LPASS LPI pin controller
2025-03-02 2:49 ` [PATCH 4/5] arm64: dts: qcom: qcm2290: add LPASS LPI pin controller Alexey Klimov
@ 2025-03-04 16:55 ` Konrad Dybcio
0 siblings, 0 replies; 15+ messages in thread
From: Konrad Dybcio @ 2025-03-04 16:55 UTC (permalink / raw)
To: Alexey Klimov, Bjorn Andersson, Linus Walleij, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Konrad Dybcio,
Srinivas Kandagatla, Liam Girdwood, Mark Brown
Cc: linux-arm-msm, devicetree, linux-kernel, linux-sound
On 2.03.2025 3:49 AM, Alexey Klimov wrote:
> Add the Low Power Audio SubSystem Low Power Island (LPASS LPI) pin
> controller device node required for audio subsystem on Qualcomm
> QRB2210 RB1. QRB2210 is based on qcm2290 which is based on sm6115.
>
> While at this, also add description of lpi_i2s2 pins (active state)
> required for audio playback via HDMI/I2S.
>
> Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
> ---
> arch/arm64/boot/dts/qcom/qcm2290.dtsi | 41 +++++++++++++++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/qcm2290.dtsi b/arch/arm64/boot/dts/qcom/qcm2290.dtsi
> index 2c90047f7dd867580836284721c60ed5983f3f34..623046ba833b6da284ffa4e30e65ea4ae5fb77a2 100644
> --- a/arch/arm64/boot/dts/qcom/qcm2290.dtsi
> +++ b/arch/arm64/boot/dts/qcom/qcm2290.dtsi
> @@ -18,6 +18,7 @@
> #include <dt-bindings/power/qcom-rpmpd.h>
> #include <dt-bindings/soc/qcom,apr.h>
> #include <dt-bindings/sound/qcom,q6asm.h>
> +#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
>
> / {
> interrupt-parent = <&intc>;
> @@ -650,6 +651,46 @@ data-pins {
> };
> };
>
> + lpass_tlmm: pinctrl@a7c0000 {
> + compatible = "qcom,qcm2290-lpass-lpi-pinctrl",
> + "qcom,sm6115-lpass-lpi-pinctrl";
> + reg = <0x0 0x0a7c0000 0x0 0x20000>,
> + <0x0 0x0a950000 0x0 0x10000>;
The nodes look good, but this addition isn't correctly sorted
Konrad
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 5/5] arm64: dts: qcom: qrb2210-rb1: add HDMI/I2S audio playback support
2025-03-02 2:49 ` [PATCH 5/5] arm64: dts: qcom: qrb2210-rb1: add HDMI/I2S audio playback support Alexey Klimov
@ 2025-03-04 16:56 ` Konrad Dybcio
2025-09-18 14:15 ` Alexey Klimov
0 siblings, 1 reply; 15+ messages in thread
From: Konrad Dybcio @ 2025-03-04 16:56 UTC (permalink / raw)
To: Alexey Klimov, Bjorn Andersson, Linus Walleij, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Konrad Dybcio,
Srinivas Kandagatla, Liam Girdwood, Mark Brown
Cc: linux-arm-msm, devicetree, linux-kernel, linux-sound
On 2.03.2025 3:49 AM, Alexey Klimov wrote:
> Add sound node and dsp-related pieces to enable HDMI+I2S audio playback
> support on Qualcomm QR2210 RB1 board. That is the only sound output
> supported for now.
>
> The audio playback is verified using the following commands:
> amixer -c0 cset iface=MIXER,name='SEC_MI2S_RX Audio Mixer MultiMedia1' 1
> aplay -D hw:0,0 /usr/share/sounds/alsa/Front_Center.wav
>
> Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
> ---
> arch/arm64/boot/dts/qcom/qrb2210-rb1.dts | 49 ++++++++++++++++++++++++++++++++
> 1 file changed, 49 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
> index 7a789b41c2f1887f0c41ae24da2e2fe8915ab13c..e547537cffdbc13cfd21b8b8b7210b62996ff431 100644
> --- a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
> +++ b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
> @@ -186,6 +186,47 @@ vph_pwr: regulator-vph-pwr {
> regulator-always-on;
> regulator-boot-on;
> };
> +
> + sound {
> + compatible = "qcom,qrb2210-rb1-sndcard", "qcom,qrb4210-rb2-sndcard";
> + pinctrl-0 = <&lpi_i2s2_active>;
> + pinctrl-names = "default";
> + model = "Qualcomm-RB1-WSA8815-Speakers-DMIC0";
> + audio-routing = "MM_DL1", "MultiMedia1 Playback",
> + "MM_DL2", "MultiMedia2 Playback";
> +
> + mm1-dai-link {
> + link-name = "MultiMedia1";
> +
> + cpu {
> + sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
> + };
> + };
> +
> + mm2-dai-link {
> + link-name = "MultiMedia2";
> +
> + cpu {
> + sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
> + };
> + };
> +
> + hdmi-i2s-dai-link {
> + link-name = "HDMI/I2S Playback";
> +
> + cpu {
> + sound-dai = <&q6afedai SECONDARY_MI2S_RX>;
> + };
> +
> + platform {
> + sound-dai = <&q6routing>;
> + };
> +
> + codec {
> + sound-dai = <<9611_codec 0>;
> + };
"codec" < "cpu" < "platform"
with that:
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 5/5] arm64: dts: qcom: qrb2210-rb1: add HDMI/I2S audio playback support
2025-03-04 16:56 ` Konrad Dybcio
@ 2025-09-18 14:15 ` Alexey Klimov
0 siblings, 0 replies; 15+ messages in thread
From: Alexey Klimov @ 2025-09-18 14:15 UTC (permalink / raw)
To: Konrad Dybcio, Bjorn Andersson, Linus Walleij, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Konrad Dybcio,
Srinivas Kandagatla, Liam Girdwood, Mark Brown
Cc: linux-arm-msm, devicetree, linux-kernel, linux-sound
On Tue Mar 4, 2025 at 4:56 PM GMT, Konrad Dybcio wrote:
> On 2.03.2025 3:49 AM, Alexey Klimov wrote:
>> Add sound node and dsp-related pieces to enable HDMI+I2S audio playback
>> support on Qualcomm QR2210 RB1 board. That is the only sound output
>> supported for now.
>>
>> The audio playback is verified using the following commands:
>> amixer -c0 cset iface=MIXER,name='SEC_MI2S_RX Audio Mixer MultiMedia1' 1
>> aplay -D hw:0,0 /usr/share/sounds/alsa/Front_Center.wav
>>
>> Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
>> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
>> ---
>> arch/arm64/boot/dts/qcom/qrb2210-rb1.dts | 49 ++++++++++++++++++++++++++++++++
>> 1 file changed, 49 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
>> index 7a789b41c2f1887f0c41ae24da2e2fe8915ab13c..e547537cffdbc13cfd21b8b8b7210b62996ff431 100644
>> --- a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
>> +++ b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
>> @@ -186,6 +186,47 @@ vph_pwr: regulator-vph-pwr {
>> regulator-always-on;
>> regulator-boot-on;
>> };
>> +
>> + sound {
>> + compatible = "qcom,qrb2210-rb1-sndcard", "qcom,qrb4210-rb2-sndcard";
>> + pinctrl-0 = <&lpi_i2s2_active>;
>> + pinctrl-names = "default";
>> + model = "Qualcomm-RB1-WSA8815-Speakers-DMIC0";
>> + audio-routing = "MM_DL1", "MultiMedia1 Playback",
>> + "MM_DL2", "MultiMedia2 Playback";
>> +
>> + mm1-dai-link {
>> + link-name = "MultiMedia1";
>> +
>> + cpu {
>> + sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
>> + };
>> + };
>> +
>> + mm2-dai-link {
>> + link-name = "MultiMedia2";
>> +
>> + cpu {
>> + sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
>> + };
>> + };
>> +
>> + hdmi-i2s-dai-link {
>> + link-name = "HDMI/I2S Playback";
>> +
>> + cpu {
>> + sound-dai = <&q6afedai SECONDARY_MI2S_RX>;
>> + };
>> +
>> + platform {
>> + sound-dai = <&q6routing>;
>> + };
>> +
>> + codec {
>> + sound-dai = <<9611_codec 0>;
>> + };
>
> "codec" < "cpu" < "platform"
>
> with that:
>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Yes, you're right. I need to sort it for the next version. Thanks.
Best regards,
Alexey
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/5] dt-bindings: sound: qcom,sm8250: add RB1 (QCM2290) soundcard
2025-03-02 8:20 ` Dmitry Baryshkov
@ 2025-09-30 15:59 ` Alexey Klimov
2025-09-30 18:44 ` Dmitry Baryshkov
0 siblings, 1 reply; 15+ messages in thread
From: Alexey Klimov @ 2025-09-30 15:59 UTC (permalink / raw)
To: dmitry.baryshkov
Cc: Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Konrad Dybcio, Liam Girdwood, Mark Brown,
linux-arm-msm, devicetree, linux-kernel, linux-sound, srini
(update emails, drop old ones)
On Sun Mar 2, 2025 at 8:20 AM GMT, Dmitry Baryshkov wrote:
> On Sun, Mar 02, 2025 at 02:49:52AM +0000, Alexey Klimov wrote:
>> Add soundcard compatible for the soundcard on QRB2210 RB1 platform,
>> which at this point seems to be compatible with soundcard on
>> QRB4210 RB2 platform.
>
> Is it? The RB1 uses PM4125 for audio output, while RB2 uses WCD codec.
That's correct. I also managed to enable hdmi audio, vamacro dmic and
pm4125 line out output keeping it all compatible with qrb4210-rb2-sndcard.
Things are mostly the same between RB1 and RB2 apart from last stage
in the output and analog inputs (non-HDMI and not dmics). The diff can
be described in board-specific device tree, amixer's control commands
and model property.
Is it still need new separate compatible "qcom,qrb2210-rb1-sndcard"?
Thanks,
Alexey
>> Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
>> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
>> ---
>> Documentation/devicetree/bindings/sound/qcom,sm8250.yaml | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
>> index b9e33a7429b0c063dc5f5b806925cd541e546cf6..2493ed99268bf2ff8343020150c2c9aca4262514 100644
>> --- a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
>> +++ b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
>> @@ -21,6 +21,10 @@ properties:
>> - lenovo,yoga-c630-sndcard
>> - qcom,db845c-sndcard
>> - const: qcom,sdm845-sndcard
>> + - items:
>> + - enum:
>> + - qcom,qrb2210-rb1-sndcard
>> + - const: qcom,qrb4210-rb2-sndcard
>> - items:
>> - enum:
>> - qcom,sm8550-sndcard
>>
>> --
>> 2.47.2
>>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/5] dt-bindings: sound: qcom,sm8250: add RB1 (QCM2290) soundcard
2025-09-30 15:59 ` Alexey Klimov
@ 2025-09-30 18:44 ` Dmitry Baryshkov
0 siblings, 0 replies; 15+ messages in thread
From: Dmitry Baryshkov @ 2025-09-30 18:44 UTC (permalink / raw)
To: Alexey Klimov
Cc: Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Konrad Dybcio, Liam Girdwood, Mark Brown,
linux-arm-msm, devicetree, linux-kernel, linux-sound, srini
On Tue, Sep 30, 2025 at 04:59:46PM +0100, Alexey Klimov wrote:
> (update emails, drop old ones)
>
> On Sun Mar 2, 2025 at 8:20 AM GMT, Dmitry Baryshkov wrote:
> > On Sun, Mar 02, 2025 at 02:49:52AM +0000, Alexey Klimov wrote:
> >> Add soundcard compatible for the soundcard on QRB2210 RB1 platform,
> >> which at this point seems to be compatible with soundcard on
> >> QRB4210 RB2 platform.
> >
> > Is it? The RB1 uses PM4125 for audio output, while RB2 uses WCD codec.
>
> That's correct. I also managed to enable hdmi audio, vamacro dmic and
> pm4125 line out output keeping it all compatible with qrb4210-rb2-sndcard.
>
> Things are mostly the same between RB1 and RB2 apart from last stage
> in the output and analog inputs (non-HDMI and not dmics). The diff can
> be described in board-specific device tree, amixer's control commands
> and model property.
>
> Is it still need new separate compatible "qcom,qrb2210-rb1-sndcard"?
If I were to follow other examples in this file, it should be
"qcom,qrb2210-rb1-sndcard", "qcom,qrb2210-sndcard".
>
> Thanks,
> Alexey
>
> >> Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> >> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
> >> ---
> >> Documentation/devicetree/bindings/sound/qcom,sm8250.yaml | 4 ++++
> >> 1 file changed, 4 insertions(+)
> >>
> >> diff --git a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
> >> index b9e33a7429b0c063dc5f5b806925cd541e546cf6..2493ed99268bf2ff8343020150c2c9aca4262514 100644
> >> --- a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
> >> +++ b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
> >> @@ -21,6 +21,10 @@ properties:
> >> - lenovo,yoga-c630-sndcard
> >> - qcom,db845c-sndcard
> >> - const: qcom,sdm845-sndcard
> >> + - items:
> >> + - enum:
> >> + - qcom,qrb2210-rb1-sndcard
> >> + - const: qcom,qrb4210-rb2-sndcard
> >> - items:
> >> - enum:
> >> - qcom,sm8550-sndcard
> >>
> >> --
> >> 2.47.2
> >>
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2025-09-30 18:44 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-02 2:49 [PATCH 0/5] qrb2210-rb1: HDMI/I2S audio playback support Alexey Klimov
2025-03-02 2:49 ` [PATCH 1/5] dt-bindings: pinctrl: qcom,sm6115-lpass-lpi: add QCM2290 compatible Alexey Klimov
2025-03-03 15:09 ` Rob Herring (Arm)
2025-03-02 2:49 ` [PATCH 2/5] dt-bindings: sound: qcom,sm8250: add RB1 (QCM2290) soundcard Alexey Klimov
2025-03-02 8:20 ` Dmitry Baryshkov
2025-09-30 15:59 ` Alexey Klimov
2025-09-30 18:44 ` Dmitry Baryshkov
2025-03-02 2:49 ` [PATCH 3/5] arm64: dts: qcom: qcm2290: add apr and its services Alexey Klimov
2025-03-02 8:20 ` Dmitry Baryshkov
2025-03-04 16:48 ` Konrad Dybcio
2025-03-02 2:49 ` [PATCH 4/5] arm64: dts: qcom: qcm2290: add LPASS LPI pin controller Alexey Klimov
2025-03-04 16:55 ` Konrad Dybcio
2025-03-02 2:49 ` [PATCH 5/5] arm64: dts: qcom: qrb2210-rb1: add HDMI/I2S audio playback support Alexey Klimov
2025-03-04 16:56 ` Konrad Dybcio
2025-09-18 14:15 ` Alexey Klimov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox