* [PATCH v5 1/4] arm64: dts: qcom: sm6115: add apr and its services
2024-11-12 2:53 [PATCH v5 0/4] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
@ 2024-11-12 2:53 ` Alexey Klimov
2024-11-12 2:53 ` [PATCH v5 2/4] arm64: dts: qcom: sm6115: add LPASS LPI pin controller Alexey Klimov
` (3 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Alexey Klimov @ 2024-11-12 2:53 UTC (permalink / raw)
To: andersson, konradybcio, linux-arm-msm
Cc: linux-sound, srinivas.kandagatla, robh, krzk+dt, conor+dt,
devicetree, dmitry.baryshkov, krzysztof.kozlowski, caleb.connolly,
a39.skl, konrad.dybcio, linux-kernel
Add apr (asynchronous packet router) node and its associated services
required to enable audio on QRB4210 RB2 platform.
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
arch/arm64/boot/dts/qcom/sm6115.dtsi | 72 ++++++++++++++++++++++++++++
1 file changed, 72 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm6115.dtsi b/arch/arm64/boot/dts/qcom/sm6115.dtsi
index 9b23534c456b..816b8331933d 100644
--- a/arch/arm64/boot/dts/qcom/sm6115.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm6115.dtsi
@@ -14,6 +14,8 @@
#include <dt-bindings/interconnect/qcom,sm6115.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/power/qcom-rpmpd.h>
+#include <dt-bindings/soc/qcom,apr.h>
+#include <dt-bindings/sound/qcom,q6asm.h>
#include <dt-bindings/thermal/thermal.h>
/ {
@@ -2701,6 +2703,76 @@ glink-edge {
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>;
+ };
+ };
+ };
+
fastrpc {
compatible = "qcom,fastrpc";
qcom,glink-channels = "fastrpcglink-apps-dsp";
--
2.45.2
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v5 2/4] arm64: dts: qcom: sm6115: add LPASS LPI pin controller
2024-11-12 2:53 [PATCH v5 0/4] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
2024-11-12 2:53 ` [PATCH v5 1/4] arm64: dts: qcom: sm6115: add apr and its services Alexey Klimov
@ 2024-11-12 2:53 ` Alexey Klimov
2024-11-14 13:06 ` Konrad Dybcio
2024-11-12 2:53 ` [PATCH v5 3/4] arm64: dts: qcom: sm4250: " Alexey Klimov
` (2 subsequent siblings)
4 siblings, 1 reply; 8+ messages in thread
From: Alexey Klimov @ 2024-11-12 2:53 UTC (permalink / raw)
To: andersson, konradybcio, linux-arm-msm
Cc: linux-sound, srinivas.kandagatla, robh, krzk+dt, conor+dt,
devicetree, dmitry.baryshkov, krzysztof.kozlowski, caleb.connolly,
a39.skl, konrad.dybcio, linux-kernel
Add the Low Power Audio SubSystem Low Power Island (LPASS LPI) pin
controller device node required for audio subsystem on Qualcomm
QRB4210 RB2.
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
arch/arm64/boot/dts/qcom/sm6115.dtsi | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm6115.dtsi b/arch/arm64/boot/dts/qcom/sm6115.dtsi
index 816b8331933d..df2241237b26 100644
--- a/arch/arm64/boot/dts/qcom/sm6115.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm6115.dtsi
@@ -16,6 +16,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>
#include <dt-bindings/thermal/thermal.h>
/ {
@@ -810,6 +811,20 @@ data-pins {
};
};
+ lpass_tlmm: pinctrl@a7c0000 {
+ compatible = "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>;
+
+ };
+
gcc: clock-controller@1400000 {
compatible = "qcom,gcc-sm6115";
reg = <0x0 0x01400000 0x0 0x1f0000>;
--
2.45.2
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v5 2/4] arm64: dts: qcom: sm6115: add LPASS LPI pin controller
2024-11-12 2:53 ` [PATCH v5 2/4] arm64: dts: qcom: sm6115: add LPASS LPI pin controller Alexey Klimov
@ 2024-11-14 13:06 ` Konrad Dybcio
0 siblings, 0 replies; 8+ messages in thread
From: Konrad Dybcio @ 2024-11-14 13:06 UTC (permalink / raw)
To: Alexey Klimov, andersson, konradybcio, linux-arm-msm
Cc: linux-sound, srinivas.kandagatla, robh, krzk+dt, conor+dt,
devicetree, dmitry.baryshkov, krzysztof.kozlowski, caleb.connolly,
a39.skl, konrad.dybcio, linux-kernel
On 12.11.2024 3:53 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
> QRB4210 RB2.
>
> Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@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] 8+ messages in thread
* [PATCH v5 3/4] arm64: dts: qcom: sm4250: add LPASS LPI pin controller
2024-11-12 2:53 [PATCH v5 0/4] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
2024-11-12 2:53 ` [PATCH v5 1/4] arm64: dts: qcom: sm6115: add apr and its services Alexey Klimov
2024-11-12 2:53 ` [PATCH v5 2/4] arm64: dts: qcom: sm6115: add LPASS LPI pin controller Alexey Klimov
@ 2024-11-12 2:53 ` Alexey Klimov
2024-11-12 2:53 ` [PATCH v5 4/4] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support Alexey Klimov
2024-12-27 4:40 ` [PATCH v5 0/4] " Bjorn Andersson
4 siblings, 0 replies; 8+ messages in thread
From: Alexey Klimov @ 2024-11-12 2:53 UTC (permalink / raw)
To: andersson, konradybcio, linux-arm-msm
Cc: linux-sound, srinivas.kandagatla, robh, krzk+dt, conor+dt,
devicetree, dmitry.baryshkov, krzysztof.kozlowski, caleb.connolly,
a39.skl, konrad.dybcio, linux-kernel
Add the Low Power Audio SubSystem Low Power Island (LPASS LPI) pin
controller device node required for audio subsystem on Qualcomm
QRB4210 RB2. QRB4210 is based on sm4250 which has a slightly different
lpass pin controller comparing to sm6115.
While at this, also add description of lpi_i2s2 pins (active state)
required for audio playback via HDMI.
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
arch/arm64/boot/dts/qcom/sm4250.dtsi | 39 ++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm4250.dtsi b/arch/arm64/boot/dts/qcom/sm4250.dtsi
index a0ed61925e12..cd8c8e59976e 100644
--- a/arch/arm64/boot/dts/qcom/sm4250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm4250.dtsi
@@ -36,3 +36,42 @@ &cpu6 {
&cpu7 {
compatible = "qcom,kryo240";
};
+
+&lpass_tlmm {
+ compatible = "qcom,sm4250-lpass-lpi-pinctrl";
+ gpio-ranges = <&lpass_tlmm 0 0 27>;
+
+ 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;
+ };
+
+ ext-mclk1-pins {
+ pins = "gpio18";
+ function = "ext_mclk1_a";
+ bias-disable;
+ drive-strength = <16>;
+ output-high;
+ };
+ };
+};
--
2.45.2
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v5 4/4] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support
2024-11-12 2:53 [PATCH v5 0/4] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
` (2 preceding siblings ...)
2024-11-12 2:53 ` [PATCH v5 3/4] arm64: dts: qcom: sm4250: " Alexey Klimov
@ 2024-11-12 2:53 ` Alexey Klimov
2024-12-27 4:40 ` [PATCH v5 0/4] " Bjorn Andersson
4 siblings, 0 replies; 8+ messages in thread
From: Alexey Klimov @ 2024-11-12 2:53 UTC (permalink / raw)
To: andersson, konradybcio, linux-arm-msm
Cc: linux-sound, srinivas.kandagatla, robh, krzk+dt, conor+dt,
devicetree, dmitry.baryshkov, krzysztof.kozlowski, caleb.connolly,
a39.skl, konrad.dybcio, linux-kernel
Add sound node and dsp-related piece to enable HDMI audio
playback support on Qualcomm QRB4210 RB2 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>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 59 ++++++++++++++++++++++++
1 file changed, 59 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
index a9540e92d3e6..283a67d8e71d 100644
--- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
+++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
@@ -6,6 +6,8 @@
/dts-v1/;
#include <dt-bindings/leds/common.h>
+#include <dt-bindings/sound/qcom,q6afe.h>
+#include <dt-bindings/sound/qcom,q6asm.h>
#include <dt-bindings/usb/pd.h>
#include "sm4250.dtsi"
#include "pm6125.dtsi"
@@ -103,6 +105,55 @@ led-wlan {
};
};
+ sound {
+ compatible = "qcom,qrb4210-rb2-sndcard";
+ pinctrl-0 = <&lpi_i2s2_active>;
+ pinctrl-names = "default";
+ model = "Qualcomm-RB2-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>;
+ };
+ };
+
+ mm3-dai-link {
+ link-name = "MultiMedia3";
+
+ cpu {
+ sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
+ };
+ };
+
+ hdmi-dai-link {
+ link-name = "HDMI Playback";
+
+ cpu {
+ sound-dai = <&q6afedai SECONDARY_MI2S_RX>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <<9611_codec 0>;
+ };
+ };
+ };
+
vreg_hdmi_out_1p2: regulator-hdmi-out-1p2 {
compatible = "regulator-fixed";
regulator-name = "VREG_HDMI_OUT_1P2";
@@ -318,6 +369,14 @@ &pon_resin {
status = "okay";
};
+/* SECONDARY I2S uses 1 I2S SD Line for audio on LT9611UXC HDMI Bridge */
+&q6afedai {
+ dai@20 {
+ reg = <SECONDARY_MI2S_RX>;
+ qcom,sd-lines = <0>;
+ };
+};
+
&qupv3_id_0 {
status = "okay";
};
--
2.45.2
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v5 0/4] qrb4210-rb2: add HDMI audio playback support
2024-11-12 2:53 [PATCH v5 0/4] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
` (3 preceding siblings ...)
2024-11-12 2:53 ` [PATCH v5 4/4] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support Alexey Klimov
@ 2024-12-27 4:40 ` Bjorn Andersson
2025-01-06 14:47 ` Alexey Klimov
4 siblings, 1 reply; 8+ messages in thread
From: Bjorn Andersson @ 2024-12-27 4:40 UTC (permalink / raw)
To: konradybcio, linux-arm-msm, Alexey Klimov
Cc: linux-sound, srinivas.kandagatla, robh, krzk+dt, conor+dt,
devicetree, dmitry.baryshkov, krzysztof.kozlowski, caleb.connolly,
a39.skl, konrad.dybcio, linux-kernel
On Tue, 12 Nov 2024 02:53:02 +0000, Alexey Klimov wrote:
> Rebased on top of today's -next and re-tested.
>
> Changes in v5:
> -- drop MI2S clock in sm8250 patch (seems to be merged);
> -- fix gpio-ranges in lpass_tlmm (Dmitry);
> -- added reviewed-by tags from Konrad and Dmitry.
>
> [...]
Applied, thanks!
[1/4] arm64: dts: qcom: sm6115: add apr and its services
commit: c722e3ce278826f29a2a8500d685130dd0b6a297
[2/4] arm64: dts: qcom: sm6115: add LPASS LPI pin controller
commit: 4541a5f11e59015d2f4b39864e421bf9e804097d
[3/4] arm64: dts: qcom: sm4250: add LPASS LPI pin controller
commit: 6624d17a8142776e43bcd632c227ebf0bbe9d590
[4/4] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support
commit: 1caf6149c3bf41a2ee07869449c4ea1ec8bbc2f8
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v5 0/4] qrb4210-rb2: add HDMI audio playback support
2024-12-27 4:40 ` [PATCH v5 0/4] " Bjorn Andersson
@ 2025-01-06 14:47 ` Alexey Klimov
0 siblings, 0 replies; 8+ messages in thread
From: Alexey Klimov @ 2025-01-06 14:47 UTC (permalink / raw)
To: Bjorn Andersson, konradybcio, linux-arm-msm
Cc: linux-sound, srinivas.kandagatla, robh, krzk+dt, conor+dt,
devicetree, dmitry.baryshkov, krzysztof.kozlowski, caleb.connolly,
a39.skl, konrad.dybcio, linux-kernel
Hello Bjorn,
On Fri Dec 27, 2024 at 4:40 AM GMT, Bjorn Andersson wrote:
>
> On Tue, 12 Nov 2024 02:53:02 +0000, Alexey Klimov wrote:
> > Rebased on top of today's -next and re-tested.
> >
> > Changes in v5:
> > -- drop MI2S clock in sm8250 patch (seems to be merged);
> > -- fix gpio-ranges in lpass_tlmm (Dmitry);
> > -- added reviewed-by tags from Konrad and Dmitry.
> >
> > [...]
>
> Applied, thanks!
>
> [1/4] arm64: dts: qcom: sm6115: add apr and its services
> commit: c722e3ce278826f29a2a8500d685130dd0b6a297
> [2/4] arm64: dts: qcom: sm6115: add LPASS LPI pin controller
> commit: 4541a5f11e59015d2f4b39864e421bf9e804097d
> [3/4] arm64: dts: qcom: sm4250: add LPASS LPI pin controller
> commit: 6624d17a8142776e43bcd632c227ebf0bbe9d590
> [4/4] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support
> commit: 1caf6149c3bf41a2ee07869449c4ea1ec8bbc2f8
It seems you applied v5 of this patchset.
There is also v6 of this patchset that was sent here:
https://lore.kernel.org/linux-arm-msm/20241204140027.2198763-1-alexey.klimov@linaro.org/
Could you please merge v6 instead?
Thanks,
Alexey
^ permalink raw reply [flat|nested] 8+ messages in thread