public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/5] rb4210-rb2: add HDMI audio playback support
@ 2024-10-18  2:54 Alexey Klimov
  2024-10-18  2:54 ` [PATCH v3 1/5] ASoC: qcom: sm8250: add handling of secondary MI2S clock Alexey Klimov
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Alexey Klimov @ 2024-10-18  2:54 UTC (permalink / raw)
  To: linux-sound, srinivas.kandagatla, broonie
  Cc: lgirdwood, robh, krzk+dt, conor+dt, andersson, konradybcio, perex,
	tiwai, linux-arm-msm, devicetree, dmitry.baryshkov,
	krzysztof.kozlowski, caleb.connolly, linux-kernel, a39.skl

Rebased on top of -next, re-tested.

Changes since v2:
-- added tags, updated commit messages, added Cc;
-- updated LT9611 -> LT9611UXC comment in qrb4210-rb2.dts;
-- updated addresses in DT to 8 hex digits as requested by Dmitry;
-- added lpass pinctrl to sm6115.dtsi as suggested by Dmitry;
-- added lpass pinctrl override and pins description to sm4250.dtsi,
pins are the property of sm4250;
-- verified with make dtbs_check as suggested by Krzysztof and Rob's bot.
-- dropped two patches (they seem to be merged):
[PATCH v2 1/7] ASoC: dt-bindings: qcom,sm8250: add qrb4210-rb2-sndcard
[PATCH v2 2/7] ASoC: qcom: sm8250: add qrb4210-rb2-sndcard compatible string
-- stopped Cc-ing out-of-date emails;

URL to previous series:
https://lore.kernel.org/linux-sound/20241002022015.867031-1-alexey.klimov@linaro.org/

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.

Alexey Klimov (5):
  ASoC: qcom: sm8250: add handling of secondary MI2S clock
  arm64: dts: qcom: sm6115: add apr and its services
  arm64: dts: qcom: sm6115: add LPASS LPI pin controller
  arm64: dts: qcom: sm4250: add LPASS LPI pin controller
  arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support

 arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 55 +++++++++++++++
 arch/arm64/boot/dts/qcom/sm4250.dtsi     | 39 +++++++++++
 arch/arm64/boot/dts/qcom/sm6115.dtsi     | 87 ++++++++++++++++++++++++
 sound/soc/qcom/sm8250.c                  |  8 +++
 4 files changed, 189 insertions(+)

-- 
2.45.2


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

* [PATCH v3 1/5] ASoC: qcom: sm8250: add handling of secondary MI2S clock
  2024-10-18  2:54 [PATCH v3 0/5] rb4210-rb2: add HDMI audio playback support Alexey Klimov
@ 2024-10-18  2:54 ` Alexey Klimov
  2024-10-18  2:54 ` [PATCH v3 2/5] arm64: dts: qcom: sm6115: add apr and its services Alexey Klimov
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: Alexey Klimov @ 2024-10-18  2:54 UTC (permalink / raw)
  To: linux-sound, srinivas.kandagatla, broonie
  Cc: lgirdwood, robh, krzk+dt, conor+dt, andersson, konradybcio, perex,
	tiwai, linux-arm-msm, devicetree, dmitry.baryshkov,
	krzysztof.kozlowski, caleb.connolly, linux-kernel, a39.skl

Add handling of clock related to secondary MI2S_RX in
sm8250_snd_startup().

Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
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 91e9bba192c0..45e0c33fc3f3 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] 10+ messages in thread

* [PATCH v3 2/5] arm64: dts: qcom: sm6115: add apr and its services
  2024-10-18  2:54 [PATCH v3 0/5] rb4210-rb2: add HDMI audio playback support Alexey Klimov
  2024-10-18  2:54 ` [PATCH v3 1/5] ASoC: qcom: sm8250: add handling of secondary MI2S clock Alexey Klimov
@ 2024-10-18  2:54 ` Alexey Klimov
  2024-10-18  2:54 ` [PATCH v3 3/5] arm64: dts: qcom: sm6115: add LPASS LPI pin controller Alexey Klimov
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: Alexey Klimov @ 2024-10-18  2:54 UTC (permalink / raw)
  To: linux-sound, srinivas.kandagatla, broonie
  Cc: lgirdwood, robh, krzk+dt, conor+dt, andersson, konradybcio, perex,
	tiwai, linux-arm-msm, devicetree, dmitry.baryshkov,
	krzysztof.kozlowski, caleb.connolly, linux-kernel, a39.skl

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>
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] 10+ messages in thread

* [PATCH v3 3/5] arm64: dts: qcom: sm6115: add LPASS LPI pin controller
  2024-10-18  2:54 [PATCH v3 0/5] rb4210-rb2: add HDMI audio playback support Alexey Klimov
  2024-10-18  2:54 ` [PATCH v3 1/5] ASoC: qcom: sm8250: add handling of secondary MI2S clock Alexey Klimov
  2024-10-18  2:54 ` [PATCH v3 2/5] arm64: dts: qcom: sm6115: add apr and its services Alexey Klimov
@ 2024-10-18  2:54 ` Alexey Klimov
  2024-10-18  2:54 ` [PATCH v3 4/5] arm64: dts: qcom: sm4250: " Alexey Klimov
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: Alexey Klimov @ 2024-10-18  2:54 UTC (permalink / raw)
  To: linux-sound, srinivas.kandagatla, broonie
  Cc: lgirdwood, robh, krzk+dt, conor+dt, andersson, konradybcio, perex,
	tiwai, linux-arm-msm, devicetree, dmitry.baryshkov,
	krzysztof.kozlowski, caleb.connolly, linux-kernel, a39.skl

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>
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 b211a49982d6..4fc6978d105b 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] 10+ messages in thread

* [PATCH v3 4/5] arm64: dts: qcom: sm4250: add LPASS LPI pin controller
  2024-10-18  2:54 [PATCH v3 0/5] rb4210-rb2: add HDMI audio playback support Alexey Klimov
                   ` (2 preceding siblings ...)
  2024-10-18  2:54 ` [PATCH v3 3/5] arm64: dts: qcom: sm6115: add LPASS LPI pin controller Alexey Klimov
@ 2024-10-18  2:54 ` Alexey Klimov
  2024-10-18  9:08   ` Dmitry Baryshkov
  2024-10-18  2:54 ` [PATCH v3 5/5] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support Alexey Klimov
  2024-11-09  1:48 ` (subset) [PATCH v3 0/5] rb4210-rb2: " Mark Brown
  5 siblings, 1 reply; 10+ messages in thread
From: Alexey Klimov @ 2024-10-18  2:54 UTC (permalink / raw)
  To: linux-sound, srinivas.kandagatla, broonie
  Cc: lgirdwood, robh, krzk+dt, conor+dt, andersson, konradybcio, perex,
	tiwai, linux-arm-msm, devicetree, dmitry.baryshkov,
	krzysztof.kozlowski, caleb.connolly, linux-kernel, a39.skl

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>
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 c5add8f44fc0..ed5eb5818d5f 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 26>;
+
+	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] 10+ messages in thread

* [PATCH v3 5/5] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support
  2024-10-18  2:54 [PATCH v3 0/5] rb4210-rb2: add HDMI audio playback support Alexey Klimov
                   ` (3 preceding siblings ...)
  2024-10-18  2:54 ` [PATCH v3 4/5] arm64: dts: qcom: sm4250: " Alexey Klimov
@ 2024-10-18  2:54 ` Alexey Klimov
  2024-10-25 19:09   ` Konrad Dybcio
  2024-11-09  1:48 ` (subset) [PATCH v3 0/5] rb4210-rb2: " Mark Brown
  5 siblings, 1 reply; 10+ messages in thread
From: Alexey Klimov @ 2024-10-18  2:54 UTC (permalink / raw)
  To: linux-sound, srinivas.kandagatla, broonie
  Cc: lgirdwood, robh, krzk+dt, conor+dt, andersson, konradybcio, perex,
	tiwai, linux-arm-msm, devicetree, dmitry.baryshkov,
	krzysztof.kozlowski, caleb.connolly, linux-kernel, a39.skl

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>
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 1888d99d398b..5f671b9c8fb9 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 = <&lt9611_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 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] 10+ messages in thread

* Re: [PATCH v3 4/5] arm64: dts: qcom: sm4250: add LPASS LPI pin controller
  2024-10-18  2:54 ` [PATCH v3 4/5] arm64: dts: qcom: sm4250: " Alexey Klimov
@ 2024-10-18  9:08   ` Dmitry Baryshkov
  0 siblings, 0 replies; 10+ messages in thread
From: Dmitry Baryshkov @ 2024-10-18  9:08 UTC (permalink / raw)
  To: Alexey Klimov
  Cc: linux-sound, srinivas.kandagatla, broonie, lgirdwood, robh,
	krzk+dt, conor+dt, andersson, konradybcio, perex, tiwai,
	linux-arm-msm, devicetree, krzysztof.kozlowski, caleb.connolly,
	linux-kernel, a39.skl

On Fri, Oct 18, 2024 at 03:54:50AM +0100, 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. 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>
> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/sm4250.dtsi | 39 ++++++++++++++++++++++++++++
>  1 file changed, 39 insertions(+)
> 

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

-- 
With best wishes
Dmitry

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

* Re: [PATCH v3 5/5] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support
  2024-10-18  2:54 ` [PATCH v3 5/5] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support Alexey Klimov
@ 2024-10-25 19:09   ` Konrad Dybcio
  2024-10-31 22:47     ` Alexey Klimov
  0 siblings, 1 reply; 10+ messages in thread
From: Konrad Dybcio @ 2024-10-25 19:09 UTC (permalink / raw)
  To: Alexey Klimov, linux-sound, srinivas.kandagatla, broonie
  Cc: lgirdwood, robh, krzk+dt, conor+dt, andersson, konradybcio, perex,
	tiwai, linux-arm-msm, devicetree, dmitry.baryshkov,
	krzysztof.kozlowski, caleb.connolly, linux-kernel, a39.skl

On 18.10.2024 4:54 AM, 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.
> 
> 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>
> 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 1888d99d398b..5f671b9c8fb9 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";

I'm seeing a lot of double spaces in this patch

> +
> +		mm1-dai-link {
> +			link-name = "MultiMedia1";
> +			cpu {

Please add a newline between the subnode

Looks nice otherwise

Konrad

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

* Re: [PATCH v3 5/5] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support
  2024-10-25 19:09   ` Konrad Dybcio
@ 2024-10-31 22:47     ` Alexey Klimov
  0 siblings, 0 replies; 10+ messages in thread
From: Alexey Klimov @ 2024-10-31 22:47 UTC (permalink / raw)
  To: Konrad Dybcio, linux-sound, srinivas.kandagatla, broonie
  Cc: lgirdwood, robh, krzk+dt, conor+dt, andersson, konradybcio, perex,
	tiwai, linux-arm-msm, devicetree, dmitry.baryshkov,
	krzysztof.kozlowski, caleb.connolly, linux-kernel, a39.skl

On Fri Oct 25, 2024 at 8:09 PM BST, Konrad Dybcio wrote:
> On 18.10.2024 4:54 AM, 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.
> > 
> > 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>
> > 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 1888d99d398b..5f671b9c8fb9 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";
>
> I'm seeing a lot of double spaces in this patch
>
> > +
> > +		mm1-dai-link {
> > +			link-name = "MultiMedia1";
> > +			cpu {
>
> Please add a newline between the subnode
>
> Looks nice otherwise

Thanks for noticing this! I'll update it and resend.
I put one space between audio-routing widgets, not sure if even one
is needed though, maybe there should be no space at all.

Best regards,
Alexey

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

* Re: (subset) [PATCH v3 0/5] rb4210-rb2: add HDMI audio playback support
  2024-10-18  2:54 [PATCH v3 0/5] rb4210-rb2: add HDMI audio playback support Alexey Klimov
                   ` (4 preceding siblings ...)
  2024-10-18  2:54 ` [PATCH v3 5/5] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support Alexey Klimov
@ 2024-11-09  1:48 ` Mark Brown
  5 siblings, 0 replies; 10+ messages in thread
From: Mark Brown @ 2024-11-09  1:48 UTC (permalink / raw)
  To: linux-sound, srinivas.kandagatla, Alexey Klimov
  Cc: lgirdwood, robh, krzk+dt, conor+dt, andersson, konradybcio, perex,
	tiwai, linux-arm-msm, devicetree, dmitry.baryshkov,
	krzysztof.kozlowski, caleb.connolly, linux-kernel, a39.skl

On Fri, 18 Oct 2024 03:54:46 +0100, Alexey Klimov wrote:
> Rebased on top of -next, re-tested.
> 
> Changes since v2:
> -- added tags, updated commit messages, added Cc;
> -- updated LT9611 -> LT9611UXC comment in qrb4210-rb2.dts;
> -- updated addresses in DT to 8 hex digits as requested by Dmitry;
> -- added lpass pinctrl to sm6115.dtsi as suggested by Dmitry;
> -- added lpass pinctrl override and pins description to sm4250.dtsi,
> pins are the property of sm4250;
> -- verified with make dtbs_check as suggested by Krzysztof and Rob's bot.
> -- dropped two patches (they seem to be merged):
> [PATCH v2 1/7] ASoC: dt-bindings: qcom,sm8250: add qrb4210-rb2-sndcard
> [PATCH v2 2/7] ASoC: qcom: sm8250: add qrb4210-rb2-sndcard compatible string
> -- stopped Cc-ing out-of-date emails;
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/5] ASoC: qcom: sm8250: add handling of secondary MI2S clock
      commit: ed7bca5b2b891caedf2ed3ffc427eba23559da95

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] 10+ messages in thread

end of thread, other threads:[~2024-11-09  1:48 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-18  2:54 [PATCH v3 0/5] rb4210-rb2: add HDMI audio playback support Alexey Klimov
2024-10-18  2:54 ` [PATCH v3 1/5] ASoC: qcom: sm8250: add handling of secondary MI2S clock Alexey Klimov
2024-10-18  2:54 ` [PATCH v3 2/5] arm64: dts: qcom: sm6115: add apr and its services Alexey Klimov
2024-10-18  2:54 ` [PATCH v3 3/5] arm64: dts: qcom: sm6115: add LPASS LPI pin controller Alexey Klimov
2024-10-18  2:54 ` [PATCH v3 4/5] arm64: dts: qcom: sm4250: " Alexey Klimov
2024-10-18  9:08   ` Dmitry Baryshkov
2024-10-18  2:54 ` [PATCH v3 5/5] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support Alexey Klimov
2024-10-25 19:09   ` Konrad Dybcio
2024-10-31 22:47     ` Alexey Klimov
2024-11-09  1:48 ` (subset) [PATCH v3 0/5] rb4210-rb2: " Mark Brown

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