* [PATCH v2 0/7] qrb4210-rb2: add HDMI audio playback support
@ 2024-10-02 2:20 Alexey Klimov
2024-10-02 2:20 ` [PATCH v2 1/7] ASoC: dt-bindings: qcom,sm8250: add qrb4210-rb2-sndcard Alexey Klimov
` (8 more replies)
0 siblings, 9 replies; 16+ messages in thread
From: Alexey Klimov @ 2024-10-02 2:20 UTC (permalink / raw)
To: linux-sound, srinivas.kandagatla, bgoswami, lgirdwood, broonie
Cc: robh, krzk+dt, conor+dt, andersson, konrad.dybcio, perex, tiwai,
linux-arm-msm, alsa-devel, devicetree, elder, dmitry.baryshkov,
krzysztof.kozlowski, caleb.connolly, linux-kernel, a39.skl,
alexey.klimov
Rebased on top of -master, tested.
Changes since v1:
-- removed handling of MI2S clock in sm2450_snd_shutdown(): setting clock rate
and disabling it causes audio delay on playback start;
-- removed empty sound { } node from sm6115.dtsi as suggested by Krzysztof;
-- moved lpi_i2s2_active pins description to qrb423310 board-specific file
as suggested by Dmitry Baryshkov;
-- moved q6asmdai DAIs to apr soc node as suggested by Konrad Dybcio;
-- lpass_tlmm is not disabled;
-- lpass_tlmm node moved to sm4250.dtsi;
-- kept MultiMedia DAIs as is, without them the sound card driver doesn't initialise;
-- added some reviewed-by tags.
This series still keeps "qcom,qrb4210-rb2-sndcard" for sm8250 soundcard. As per
off the list discussion with Srini it was suggested to have it since in future it
may be required to add clocks, workarounds, quirks, model-specific things based on
this compatible. The same as for RB5 compatible in sm8250 snd driver.
This focuses on HDMI audio playback only hence there are no soundwire and dmic pins,
for instance. The work to enable playback via wcd+wsa8815 amplifier is in progress (it works)
and one of the routes is to merge such two patchsets together.
Link to prev series:
https://lore.kernel.org/linux-sound/20240628010715.438471-1-alexey.klimov@linaro.org/
Alexey Klimov (7):
ASoC: dt-bindings: qcom,sm8250: add qrb4210-rb2-sndcard
ASoC: qcom: sm8250: add qrb4210-rb2-sndcard compatible string
ASoC: qcom: sm8250: add handling of secondary MI2S clock
arm64: dts: qcom: sm6115: add apr and its services
arm64: dts: qcom: sm4250: add LPASS LPI pin controller
arm64: dts: qcom: qrb4210-rb2: add description of lpi_i2s2 pins
arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support
.../bindings/sound/qcom,sm8250.yaml | 1 +
arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 91 +++++++++++++++++++
arch/arm64/boot/dts/qcom/sm4250.dtsi | 16 ++++
arch/arm64/boot/dts/qcom/sm6115.dtsi | 72 +++++++++++++++
sound/soc/qcom/sm8250.c | 9 ++
5 files changed, 189 insertions(+)
--
2.45.2
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH v2 1/7] ASoC: dt-bindings: qcom,sm8250: add qrb4210-rb2-sndcard
2024-10-02 2:20 [PATCH v2 0/7] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
@ 2024-10-02 2:20 ` Alexey Klimov
2024-10-02 6:22 ` Krzysztof Kozlowski
2024-10-02 2:20 ` [PATCH v2 2/7] ASoC: qcom: sm8250: add qrb4210-rb2-sndcard compatible string Alexey Klimov
` (7 subsequent siblings)
8 siblings, 1 reply; 16+ messages in thread
From: Alexey Klimov @ 2024-10-02 2:20 UTC (permalink / raw)
To: linux-sound, srinivas.kandagatla, bgoswami, lgirdwood, broonie
Cc: robh, krzk+dt, conor+dt, andersson, konrad.dybcio, perex, tiwai,
linux-arm-msm, alsa-devel, devicetree, elder, dmitry.baryshkov,
krzysztof.kozlowski, caleb.connolly, linux-kernel, a39.skl,
alexey.klimov
Add adsp-backed soundcard compatible for QRB4210 RB2 platform,
which as of now looks fully compatible with SM8250.
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
Documentation/devicetree/bindings/sound/qcom,sm8250.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
index 1d3acdc0c733..2e2e01493a5f 100644
--- a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
+++ b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
@@ -30,6 +30,7 @@ properties:
- qcom,apq8096-sndcard
- qcom,qcm6490-idp-sndcard
- qcom,qcs6490-rb3gen2-sndcard
+ - qcom,qrb4210-rb2-sndcard
- qcom,qrb5165-rb5-sndcard
- qcom,sc7180-qdsp6-sndcard
- qcom,sc8280xp-sndcard
--
2.45.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v2 2/7] ASoC: qcom: sm8250: add qrb4210-rb2-sndcard compatible string
2024-10-02 2:20 [PATCH v2 0/7] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
2024-10-02 2:20 ` [PATCH v2 1/7] ASoC: dt-bindings: qcom,sm8250: add qrb4210-rb2-sndcard Alexey Klimov
@ 2024-10-02 2:20 ` Alexey Klimov
2024-10-06 20:30 ` Dmitry Baryshkov
2024-10-02 2:20 ` [PATCH v2 3/7] ASoC: qcom: sm8250: add handling of secondary MI2S clock Alexey Klimov
` (6 subsequent siblings)
8 siblings, 1 reply; 16+ messages in thread
From: Alexey Klimov @ 2024-10-02 2:20 UTC (permalink / raw)
To: linux-sound, srinivas.kandagatla, bgoswami, lgirdwood, broonie
Cc: robh, krzk+dt, conor+dt, andersson, konrad.dybcio, perex, tiwai,
linux-arm-msm, alsa-devel, devicetree, elder, dmitry.baryshkov,
krzysztof.kozlowski, caleb.connolly, linux-kernel, a39.skl,
alexey.klimov
Add "qcom,qrb4210-rb2-sndcard" to the list of recognizable
devices.
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
sound/soc/qcom/sm8250.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sound/soc/qcom/sm8250.c b/sound/soc/qcom/sm8250.c
index 274bab28209a..19adadedc88a 100644
--- a/sound/soc/qcom/sm8250.c
+++ b/sound/soc/qcom/sm8250.c
@@ -174,6 +174,7 @@ static int sm8250_platform_probe(struct platform_device *pdev)
static const struct of_device_id snd_sm8250_dt_match[] = {
{.compatible = "qcom,sm8250-sndcard"},
+ {.compatible = "qcom,qrb4210-rb2-sndcard"},
{.compatible = "qcom,qrb5165-rb5-sndcard"},
{}
};
--
2.45.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v2 3/7] ASoC: qcom: sm8250: add handling of secondary MI2S clock
2024-10-02 2:20 [PATCH v2 0/7] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
2024-10-02 2:20 ` [PATCH v2 1/7] ASoC: dt-bindings: qcom,sm8250: add qrb4210-rb2-sndcard Alexey Klimov
2024-10-02 2:20 ` [PATCH v2 2/7] ASoC: qcom: sm8250: add qrb4210-rb2-sndcard compatible string Alexey Klimov
@ 2024-10-02 2:20 ` Alexey Klimov
2024-10-06 20:31 ` Dmitry Baryshkov
2024-10-02 2:20 ` [PATCH v2 4/7] arm64: dts: qcom: sm6115: add apr and its services Alexey Klimov
` (5 subsequent siblings)
8 siblings, 1 reply; 16+ messages in thread
From: Alexey Klimov @ 2024-10-02 2:20 UTC (permalink / raw)
To: linux-sound, srinivas.kandagatla, bgoswami, lgirdwood, broonie
Cc: robh, krzk+dt, conor+dt, andersson, konrad.dybcio, perex, tiwai,
linux-arm-msm, alsa-devel, devicetree, elder, dmitry.baryshkov,
krzysztof.kozlowski, caleb.connolly, linux-kernel, a39.skl,
alexey.klimov
Add handling of clock related to secondary MI2S_RX in
sm8250_snd_startup().
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
sound/soc/qcom/sm8250.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/sound/soc/qcom/sm8250.c b/sound/soc/qcom/sm8250.c
index 19adadedc88a..8776c35a98df 100644
--- a/sound/soc/qcom/sm8250.c
+++ b/sound/soc/qcom/sm8250.c
@@ -63,6 +63,14 @@ static int sm8250_snd_startup(struct snd_pcm_substream *substream)
snd_soc_dai_set_fmt(cpu_dai, fmt);
snd_soc_dai_set_fmt(codec_dai, codec_dai_fmt);
break;
+ case SECONDARY_MI2S_RX:
+ codec_dai_fmt |= SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_I2S;
+ snd_soc_dai_set_sysclk(cpu_dai,
+ Q6AFE_LPASS_CLK_ID_SEC_MI2S_IBIT,
+ MI2S_BCLK_RATE, SNDRV_PCM_STREAM_PLAYBACK);
+ snd_soc_dai_set_fmt(cpu_dai, fmt);
+ snd_soc_dai_set_fmt(codec_dai, codec_dai_fmt);
+ break;
case TERTIARY_MI2S_RX:
codec_dai_fmt |= SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_I2S;
snd_soc_dai_set_sysclk(cpu_dai,
--
2.45.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v2 4/7] arm64: dts: qcom: sm6115: add apr and its services
2024-10-02 2:20 [PATCH v2 0/7] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
` (2 preceding siblings ...)
2024-10-02 2:20 ` [PATCH v2 3/7] ASoC: qcom: sm8250: add handling of secondary MI2S clock Alexey Klimov
@ 2024-10-02 2:20 ` Alexey Klimov
2024-10-02 2:20 ` [PATCH v2 5/7] arm64: dts: qcom: sm4250: add LPASS LPI pin controller Alexey Klimov
` (4 subsequent siblings)
8 siblings, 0 replies; 16+ messages in thread
From: Alexey Klimov @ 2024-10-02 2:20 UTC (permalink / raw)
To: linux-sound, srinivas.kandagatla, bgoswami, lgirdwood, broonie
Cc: robh, krzk+dt, conor+dt, andersson, konrad.dybcio, perex, tiwai,
linux-arm-msm, alsa-devel, devicetree, elder, dmitry.baryshkov,
krzysztof.kozlowski, caleb.connolly, linux-kernel, a39.skl,
alexey.klimov
Add apr (asynchronous packet router) node and its associated services
required to enable audio on QRB4210 RB2 platform.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
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 41216cc319d6..b211a49982d6 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] 16+ messages in thread
* [PATCH v2 5/7] arm64: dts: qcom: sm4250: add LPASS LPI pin controller
2024-10-02 2:20 [PATCH v2 0/7] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
` (3 preceding siblings ...)
2024-10-02 2:20 ` [PATCH v2 4/7] arm64: dts: qcom: sm6115: add apr and its services Alexey Klimov
@ 2024-10-02 2:20 ` Alexey Klimov
2024-10-06 20:34 ` Dmitry Baryshkov
2024-10-02 2:20 ` [PATCH v2 6/7] arm64: dts: qcom: qrb4210-rb2: add description of lpi_i2s2 pins Alexey Klimov
` (3 subsequent siblings)
8 siblings, 1 reply; 16+ messages in thread
From: Alexey Klimov @ 2024-10-02 2:20 UTC (permalink / raw)
To: linux-sound, srinivas.kandagatla, bgoswami, lgirdwood, broonie
Cc: robh, krzk+dt, conor+dt, andersson, konrad.dybcio, perex, tiwai,
linux-arm-msm, alsa-devel, devicetree, elder, dmitry.baryshkov,
krzysztof.kozlowski, caleb.connolly, linux-kernel, a39.skl,
alexey.klimov
Add the Low Power Audio SubSystem Low Power Island (LPASS LPI)
pin controller device node required for audio subsystem on
Qualcomm QRB4210 RB2.
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
arch/arm64/boot/dts/qcom/sm4250.dtsi | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm4250.dtsi b/arch/arm64/boot/dts/qcom/sm4250.dtsi
index c5add8f44fc0..37c0e963e739 100644
--- a/arch/arm64/boot/dts/qcom/sm4250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm4250.dtsi
@@ -3,6 +3,7 @@
* Copyright (c) 2021, Iskren Chernev <iskren.chernev@gmail.com>
*/
+#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
#include "sm6115.dtsi"
&CPU0 {
@@ -36,3 +37,18 @@ &CPU6 {
&CPU7 {
compatible = "qcom,kryo240";
};
+
+&soc {
+ lpass_tlmm: pinctrl@a7c0000 {
+ compatible = "qcom,sm4250-lpass-lpi-pinctrl";
+ reg = <0x0 0xa7c0000 0x0 0x20000>,
+ <0x0 0xa950000 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 26>;
+ };
+};
--
2.45.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v2 6/7] arm64: dts: qcom: qrb4210-rb2: add description of lpi_i2s2 pins
2024-10-02 2:20 [PATCH v2 0/7] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
` (4 preceding siblings ...)
2024-10-02 2:20 ` [PATCH v2 5/7] arm64: dts: qcom: sm4250: add LPASS LPI pin controller Alexey Klimov
@ 2024-10-02 2:20 ` Alexey Klimov
2024-10-02 5:44 ` Krzysztof Kozlowski
2024-10-02 2:20 ` [PATCH v2 7/7] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support Alexey Klimov
` (2 subsequent siblings)
8 siblings, 1 reply; 16+ messages in thread
From: Alexey Klimov @ 2024-10-02 2:20 UTC (permalink / raw)
To: linux-sound, srinivas.kandagatla, bgoswami, lgirdwood, broonie
Cc: robh, krzk+dt, conor+dt, andersson, konrad.dybcio, perex, tiwai,
linux-arm-msm, alsa-devel, devicetree, elder, dmitry.baryshkov,
krzysztof.kozlowski, caleb.connolly, linux-kernel, a39.skl,
alexey.klimov
This is required to enable to HDMI audio playback on
QRB4210 RB2 board.
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 36 ++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
index 1888d99d398b..7731681688d5 100644
--- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
+++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
@@ -634,6 +634,42 @@ sdc2_card_det_n: sd-card-det-n-state {
};
};
+&lpass_tlmm {
+ lpi_i2s2_active: lpi-i2s2-active-state {
+ sck-pin {
+ 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 = "gpio18";
+ function = "ext_mclk1_a";
+ bias-disable;
+ drive-strength = <16>;
+ output-high;
+ };
+ };
+};
+
&uart3 {
interrupts-extended = <&intc GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
<&tlmm 11 IRQ_TYPE_LEVEL_HIGH>;
--
2.45.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v2 7/7] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support
2024-10-02 2:20 [PATCH v2 0/7] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
` (5 preceding siblings ...)
2024-10-02 2:20 ` [PATCH v2 6/7] arm64: dts: qcom: qrb4210-rb2: add description of lpi_i2s2 pins Alexey Klimov
@ 2024-10-02 2:20 ` Alexey Klimov
2024-10-06 20:37 ` Dmitry Baryshkov
2024-10-02 3:52 ` [PATCH v2 0/7] " Rob Herring (Arm)
2024-10-02 18:22 ` (subset) " Mark Brown
8 siblings, 1 reply; 16+ messages in thread
From: Alexey Klimov @ 2024-10-02 2:20 UTC (permalink / raw)
To: linux-sound, srinivas.kandagatla, bgoswami, lgirdwood, broonie
Cc: robh, krzk+dt, conor+dt, andersson, konrad.dybcio, perex, tiwai,
linux-arm-msm, alsa-devel, devicetree, elder, dmitry.baryshkov,
krzysztof.kozlowski, caleb.connolly, linux-kernel, a39.skl,
alexey.klimov
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.
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
---
arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 55 ++++++++++++++++++++++++
1 file changed, 55 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
index 7731681688d5..b8bc4452ca48 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,51 @@ 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 +365,14 @@ &pon_resin {
status = "okay";
};
+/* SECONDARY I2S Uses 1 I2S SD Lines for audio on LT9611 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] 16+ messages in thread
* Re: [PATCH v2 0/7] qrb4210-rb2: add HDMI audio playback support
2024-10-02 2:20 [PATCH v2 0/7] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
` (6 preceding siblings ...)
2024-10-02 2:20 ` [PATCH v2 7/7] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support Alexey Klimov
@ 2024-10-02 3:52 ` Rob Herring (Arm)
2024-10-02 18:22 ` (subset) " Mark Brown
8 siblings, 0 replies; 16+ messages in thread
From: Rob Herring (Arm) @ 2024-10-02 3:52 UTC (permalink / raw)
To: Alexey Klimov
Cc: devicetree, tiwai, linux-kernel, alsa-devel, krzysztof.kozlowski,
linux-arm-msm, lgirdwood, srinivas.kandagatla, konrad.dybcio,
elder, dmitry.baryshkov, conor+dt, andersson, broonie, a39.skl,
krzk+dt, bgoswami, linux-sound, perex, caleb.connolly
On Wed, 02 Oct 2024 03:20:08 +0100, Alexey Klimov wrote:
> Rebased on top of -master, tested.
>
> Changes since v1:
> -- removed handling of MI2S clock in sm2450_snd_shutdown(): setting clock rate
> and disabling it causes audio delay on playback start;
> -- removed empty sound { } node from sm6115.dtsi as suggested by Krzysztof;
> -- moved lpi_i2s2_active pins description to qrb423310 board-specific file
> as suggested by Dmitry Baryshkov;
> -- moved q6asmdai DAIs to apr soc node as suggested by Konrad Dybcio;
> -- lpass_tlmm is not disabled;
> -- lpass_tlmm node moved to sm4250.dtsi;
> -- kept MultiMedia DAIs as is, without them the sound card driver doesn't initialise;
> -- added some reviewed-by tags.
>
> This series still keeps "qcom,qrb4210-rb2-sndcard" for sm8250 soundcard. As per
> off the list discussion with Srini it was suggested to have it since in future it
> may be required to add clocks, workarounds, quirks, model-specific things based on
> this compatible. The same as for RB5 compatible in sm8250 snd driver.
>
> This focuses on HDMI audio playback only hence there are no soundwire and dmic pins,
> for instance. The work to enable playback via wcd+wsa8815 amplifier is in progress (it works)
> and one of the routes is to merge such two patchsets together.
>
> Link to prev series:
> https://lore.kernel.org/linux-sound/20240628010715.438471-1-alexey.klimov@linaro.org/
>
> Alexey Klimov (7):
> ASoC: dt-bindings: qcom,sm8250: add qrb4210-rb2-sndcard
> ASoC: qcom: sm8250: add qrb4210-rb2-sndcard compatible string
> ASoC: qcom: sm8250: add handling of secondary MI2S clock
> arm64: dts: qcom: sm6115: add apr and its services
> arm64: dts: qcom: sm4250: add LPASS LPI pin controller
> arm64: dts: qcom: qrb4210-rb2: add description of lpi_i2s2 pins
> arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support
>
> .../bindings/sound/qcom,sm8250.yaml | 1 +
> arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 91 +++++++++++++++++++
> arch/arm64/boot/dts/qcom/sm4250.dtsi | 16 ++++
> arch/arm64/boot/dts/qcom/sm6115.dtsi | 72 +++++++++++++++
> sound/soc/qcom/sm8250.c | 9 ++
> 5 files changed, 189 insertions(+)
>
> --
> 2.45.2
>
>
>
My bot found new DTB warnings on the .dts files added or changed in this
series.
Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.
If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:
pip3 install dtschema --upgrade
New warnings running 'make CHECK_DTBS=y qcom/qrb4210-rb2.dtb' for 20241002022015.867031-1-alexey.klimov@linaro.org:
arch/arm64/boot/dts/qcom/qrb4210-rb2.dtb: pinctrl@a7c0000: lpi-i2s2-active-state: 'oneOf' conditional failed, one must be fixed:
'pins' is a required property
'function' is a required property
Unevaluated properties are not allowed ('data-pins', 'ext-mclk1', 'sck-pin', 'ws-pins' were unexpected)
'ext-mclk1', 'sck-pin' do not match any of the regexes: '-pins$', 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/pinctrl/qcom,sm4250-lpass-lpi-pinctrl.yaml#
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2 6/7] arm64: dts: qcom: qrb4210-rb2: add description of lpi_i2s2 pins
2024-10-02 2:20 ` [PATCH v2 6/7] arm64: dts: qcom: qrb4210-rb2: add description of lpi_i2s2 pins Alexey Klimov
@ 2024-10-02 5:44 ` Krzysztof Kozlowski
0 siblings, 0 replies; 16+ messages in thread
From: Krzysztof Kozlowski @ 2024-10-02 5:44 UTC (permalink / raw)
To: Alexey Klimov, linux-sound, srinivas.kandagatla, bgoswami,
lgirdwood, broonie
Cc: robh, krzk+dt, conor+dt, andersson, konrad.dybcio, perex, tiwai,
linux-arm-msm, alsa-devel, devicetree, elder, dmitry.baryshkov,
caleb.connolly, linux-kernel, a39.skl
On 02/10/2024 04:20, Alexey Klimov wrote:
> This is required to enable to HDMI audio playback on
> QRB4210 RB2 board.
>
> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
> ---
> arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 36 ++++++++++++++++++++++++
> 1 file changed, 36 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> index 1888d99d398b..7731681688d5 100644
> --- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> +++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> @@ -634,6 +634,42 @@ sdc2_card_det_n: sd-card-det-n-state {
> };
> };
>
> +&lpass_tlmm {
> + lpi_i2s2_active: lpi-i2s2-active-state {
> + sck-pin {
It does not look like you tested the DTS against bindings. Please run
`make dtbs_check W=1` (see
Documentation/devicetree/bindings/writing-schema.rst or
https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/
for instructions).
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2 1/7] ASoC: dt-bindings: qcom,sm8250: add qrb4210-rb2-sndcard
2024-10-02 2:20 ` [PATCH v2 1/7] ASoC: dt-bindings: qcom,sm8250: add qrb4210-rb2-sndcard Alexey Klimov
@ 2024-10-02 6:22 ` Krzysztof Kozlowski
0 siblings, 0 replies; 16+ messages in thread
From: Krzysztof Kozlowski @ 2024-10-02 6:22 UTC (permalink / raw)
To: Alexey Klimov
Cc: linux-sound, srinivas.kandagatla, bgoswami, lgirdwood, broonie,
robh, krzk+dt, conor+dt, andersson, konrad.dybcio, perex, tiwai,
linux-arm-msm, alsa-devel, devicetree, elder, dmitry.baryshkov,
caleb.connolly, linux-kernel, a39.skl
On Wed, Oct 02, 2024 at 03:20:09AM +0100, Alexey Klimov wrote:
> Add adsp-backed soundcard compatible for QRB4210 RB2 platform,
> which as of now looks fully compatible with SM8250.
>
> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
> ---
> Documentation/devicetree/bindings/sound/qcom,sm8250.yaml | 1 +
> 1 file changed, 1 insertion(+)
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: (subset) [PATCH v2 0/7] qrb4210-rb2: add HDMI audio playback support
2024-10-02 2:20 [PATCH v2 0/7] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
` (7 preceding siblings ...)
2024-10-02 3:52 ` [PATCH v2 0/7] " Rob Herring (Arm)
@ 2024-10-02 18:22 ` Mark Brown
8 siblings, 0 replies; 16+ messages in thread
From: Mark Brown @ 2024-10-02 18:22 UTC (permalink / raw)
To: linux-sound, srinivas.kandagatla, bgoswami, lgirdwood,
Alexey Klimov
Cc: robh, krzk+dt, conor+dt, andersson, perex, tiwai, linux-arm-msm,
alsa-devel, devicetree, dmitry.baryshkov, krzysztof.kozlowski,
caleb.connolly, linux-kernel, a39.skl, Konrad Dybcio, Alex Elder
On Wed, 02 Oct 2024 03:20:08 +0100, Alexey Klimov wrote:
> Rebased on top of -master, tested.
>
> Changes since v1:
> -- removed handling of MI2S clock in sm2450_snd_shutdown(): setting clock rate
> and disabling it causes audio delay on playback start;
> -- removed empty sound { } node from sm6115.dtsi as suggested by Krzysztof;
> -- moved lpi_i2s2_active pins description to qrb423310 board-specific file
> as suggested by Dmitry Baryshkov;
> -- moved q6asmdai DAIs to apr soc node as suggested by Konrad Dybcio;
> -- lpass_tlmm is not disabled;
> -- lpass_tlmm node moved to sm4250.dtsi;
> -- kept MultiMedia DAIs as is, without them the sound card driver doesn't initialise;
> -- added some reviewed-by tags.
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[1/7] ASoC: dt-bindings: qcom,sm8250: add qrb4210-rb2-sndcard
commit: bbd1e5ea66f6ca88624faefe0a153637f53ad15d
[2/7] ASoC: qcom: sm8250: add qrb4210-rb2-sndcard compatible string
commit: b97bc0656a66f89f78098d4d72dc04fa9518ab11
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2 2/7] ASoC: qcom: sm8250: add qrb4210-rb2-sndcard compatible string
2024-10-02 2:20 ` [PATCH v2 2/7] ASoC: qcom: sm8250: add qrb4210-rb2-sndcard compatible string Alexey Klimov
@ 2024-10-06 20:30 ` Dmitry Baryshkov
0 siblings, 0 replies; 16+ messages in thread
From: Dmitry Baryshkov @ 2024-10-06 20:30 UTC (permalink / raw)
To: Alexey Klimov
Cc: linux-sound, srinivas.kandagatla, bgoswami, lgirdwood, broonie,
robh, krzk+dt, conor+dt, andersson, konrad.dybcio, perex, tiwai,
linux-arm-msm, alsa-devel, devicetree, elder, krzysztof.kozlowski,
caleb.connolly, linux-kernel, a39.skl
On Wed, Oct 02, 2024 at 03:20:10AM GMT, Alexey Klimov wrote:
> Add "qcom,qrb4210-rb2-sndcard" to the list of recognizable
> devices.
>
> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
> ---
> sound/soc/qcom/sm8250.c | 1 +
> 1 file changed, 1 insertion(+)
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2 3/7] ASoC: qcom: sm8250: add handling of secondary MI2S clock
2024-10-02 2:20 ` [PATCH v2 3/7] ASoC: qcom: sm8250: add handling of secondary MI2S clock Alexey Klimov
@ 2024-10-06 20:31 ` Dmitry Baryshkov
0 siblings, 0 replies; 16+ messages in thread
From: Dmitry Baryshkov @ 2024-10-06 20:31 UTC (permalink / raw)
To: Alexey Klimov
Cc: linux-sound, srinivas.kandagatla, bgoswami, lgirdwood, broonie,
robh, krzk+dt, conor+dt, andersson, konrad.dybcio, perex, tiwai,
linux-arm-msm, alsa-devel, devicetree, elder, krzysztof.kozlowski,
caleb.connolly, linux-kernel, a39.skl
On Wed, Oct 02, 2024 at 03:20:11AM GMT, Alexey Klimov wrote:
> Add handling of clock related to secondary MI2S_RX in
> sm8250_snd_startup().
>
> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
> ---
> sound/soc/qcom/sm8250.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2 5/7] arm64: dts: qcom: sm4250: add LPASS LPI pin controller
2024-10-02 2:20 ` [PATCH v2 5/7] arm64: dts: qcom: sm4250: add LPASS LPI pin controller Alexey Klimov
@ 2024-10-06 20:34 ` Dmitry Baryshkov
0 siblings, 0 replies; 16+ messages in thread
From: Dmitry Baryshkov @ 2024-10-06 20:34 UTC (permalink / raw)
To: Alexey Klimov
Cc: linux-sound, srinivas.kandagatla, bgoswami, lgirdwood, broonie,
robh, krzk+dt, conor+dt, andersson, konrad.dybcio, perex, tiwai,
linux-arm-msm, alsa-devel, devicetree, elder, krzysztof.kozlowski,
caleb.connolly, linux-kernel, a39.skl
On Wed, Oct 02, 2024 at 03:20:13AM GMT, 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.
>
> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
> ---
> arch/arm64/boot/dts/qcom/sm4250.dtsi | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm4250.dtsi b/arch/arm64/boot/dts/qcom/sm4250.dtsi
> index c5add8f44fc0..37c0e963e739 100644
> --- a/arch/arm64/boot/dts/qcom/sm4250.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm4250.dtsi
> @@ -3,6 +3,7 @@
> * Copyright (c) 2021, Iskren Chernev <iskren.chernev@gmail.com>
> */
>
> +#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
> #include "sm6115.dtsi"
>
> &CPU0 {
> @@ -36,3 +37,18 @@ &CPU6 {
> &CPU7 {
> compatible = "qcom,kryo240";
> };
> +
> +&soc {
> + lpass_tlmm: pinctrl@a7c0000 {
Please add the node to sm6115.dtsi and override the compat string here.
> + compatible = "qcom,sm4250-lpass-lpi-pinctrl";
> + reg = <0x0 0xa7c0000 0x0 0x20000>,
> + <0x0 0xa950000 0x0 0x10000>;
Please pad address to 8 hex digits: reg = <0x0 0x0a7c0000 0x0 0x20000>
> +
> + 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 26>;
> + };
> +};
> --
> 2.45.2
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2 7/7] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support
2024-10-02 2:20 ` [PATCH v2 7/7] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support Alexey Klimov
@ 2024-10-06 20:37 ` Dmitry Baryshkov
0 siblings, 0 replies; 16+ messages in thread
From: Dmitry Baryshkov @ 2024-10-06 20:37 UTC (permalink / raw)
To: Alexey Klimov
Cc: linux-sound, srinivas.kandagatla, bgoswami, lgirdwood, broonie,
robh, krzk+dt, conor+dt, andersson, konrad.dybcio, perex, tiwai,
linux-arm-msm, alsa-devel, devicetree, elder, krzysztof.kozlowski,
caleb.connolly, linux-kernel, a39.skl
On Wed, Oct 02, 2024 at 03:20:15AM GMT, Alexey Klimov wrote:
> 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.
>
> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
> ---
> arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 55 ++++++++++++++++++++++++
> 1 file changed, 55 insertions(+)
>
[...]
> @@ -318,6 +365,14 @@ &pon_resin {
> status = "okay";
> };
>
> +/* SECONDARY I2S Uses 1 I2S SD Lines for audio on LT9611 HDMI Bridge */
Nit: LT9611UXC
Nevertheless,
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> +&q6afedai {
> + dai@20 {
> + reg = <SECONDARY_MI2S_RX>;
> + qcom,sd-lines = <0>;
> + };
> +};
> +
> &qupv3_id_0 {
> status = "okay";
> };
> --
> 2.45.2
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2024-10-06 20:37 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-02 2:20 [PATCH v2 0/7] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
2024-10-02 2:20 ` [PATCH v2 1/7] ASoC: dt-bindings: qcom,sm8250: add qrb4210-rb2-sndcard Alexey Klimov
2024-10-02 6:22 ` Krzysztof Kozlowski
2024-10-02 2:20 ` [PATCH v2 2/7] ASoC: qcom: sm8250: add qrb4210-rb2-sndcard compatible string Alexey Klimov
2024-10-06 20:30 ` Dmitry Baryshkov
2024-10-02 2:20 ` [PATCH v2 3/7] ASoC: qcom: sm8250: add handling of secondary MI2S clock Alexey Klimov
2024-10-06 20:31 ` Dmitry Baryshkov
2024-10-02 2:20 ` [PATCH v2 4/7] arm64: dts: qcom: sm6115: add apr and its services Alexey Klimov
2024-10-02 2:20 ` [PATCH v2 5/7] arm64: dts: qcom: sm4250: add LPASS LPI pin controller Alexey Klimov
2024-10-06 20:34 ` Dmitry Baryshkov
2024-10-02 2:20 ` [PATCH v2 6/7] arm64: dts: qcom: qrb4210-rb2: add description of lpi_i2s2 pins Alexey Klimov
2024-10-02 5:44 ` Krzysztof Kozlowski
2024-10-02 2:20 ` [PATCH v2 7/7] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support Alexey Klimov
2024-10-06 20:37 ` Dmitry Baryshkov
2024-10-02 3:52 ` [PATCH v2 0/7] " Rob Herring (Arm)
2024-10-02 18:22 ` (subset) " Mark Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).