Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
* [PATCH v4 0/5] qrb4210-rb2: add HDMI audio playback support
@ 2024-11-01  0:59 Alexey Klimov
  2024-11-01  0:59 ` [PATCH v4 1/5] ASoC: qcom: sm8250: add handling of secondary MI2S clock Alexey Klimov
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Alexey Klimov @ 2024-11-01  0:59 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 in v4 (or since v3):
 -- cleaned doubled spaces in the last patch as suggested by Konrad;
 -- added Reviewed-by tag to patch 4.

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

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.

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 | 59 ++++++++++++++++
 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, 193 insertions(+)

-- 
2.45.2


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

* [PATCH v4 1/5] ASoC: qcom: sm8250: add handling of secondary MI2S clock
  2024-11-01  0:59 [PATCH v4 0/5] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
@ 2024-11-01  0:59 ` Alexey Klimov
  2024-11-01  0:59 ` [PATCH v4 2/5] arm64: dts: qcom: sm6115: add apr and its services Alexey Klimov
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Alexey Klimov @ 2024-11-01  0:59 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] 11+ messages in thread

* [PATCH v4 2/5] arm64: dts: qcom: sm6115: add apr and its services
  2024-11-01  0:59 [PATCH v4 0/5] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
  2024-11-01  0:59 ` [PATCH v4 1/5] ASoC: qcom: sm8250: add handling of secondary MI2S clock Alexey Klimov
@ 2024-11-01  0:59 ` Alexey Klimov
  2024-11-04 11:12   ` Konrad Dybcio
  2024-11-01  0:59 ` [PATCH v4 3/5] arm64: dts: qcom: sm6115: add LPASS LPI pin controller Alexey Klimov
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 11+ messages in thread
From: Alexey Klimov @ 2024-11-01  0:59 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 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] 11+ messages in thread

* [PATCH v4 3/5] arm64: dts: qcom: sm6115: add LPASS LPI pin controller
  2024-11-01  0:59 [PATCH v4 0/5] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
  2024-11-01  0:59 ` [PATCH v4 1/5] ASoC: qcom: sm8250: add handling of secondary MI2S clock Alexey Klimov
  2024-11-01  0:59 ` [PATCH v4 2/5] arm64: dts: qcom: sm6115: add apr and its services Alexey Klimov
@ 2024-11-01  0:59 ` Alexey Klimov
  2024-11-01  7:50   ` Dmitry Baryshkov
  2024-11-01  0:59 ` [PATCH v4 4/5] arm64: dts: qcom: sm4250: " Alexey Klimov
  2024-11-01  0:59 ` [PATCH v4 5/5] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support Alexey Klimov
  4 siblings, 1 reply; 11+ messages in thread
From: Alexey Klimov @ 2024-11-01  0:59 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 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] 11+ messages in thread

* [PATCH v4 4/5] arm64: dts: qcom: sm4250: add LPASS LPI pin controller
  2024-11-01  0:59 [PATCH v4 0/5] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
                   ` (2 preceding siblings ...)
  2024-11-01  0:59 ` [PATCH v4 3/5] arm64: dts: qcom: sm6115: add LPASS LPI pin controller Alexey Klimov
@ 2024-11-01  0:59 ` Alexey Klimov
  2024-11-01  7:50   ` Dmitry Baryshkov
  2024-11-01  0:59 ` [PATCH v4 5/5] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support Alexey Klimov
  4 siblings, 1 reply; 11+ messages in thread
From: Alexey Klimov @ 2024-11-01  0:59 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>
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..1b9983ab122e 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] 11+ messages in thread

* [PATCH v4 5/5] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support
  2024-11-01  0:59 [PATCH v4 0/5] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
                   ` (3 preceding siblings ...)
  2024-11-01  0:59 ` [PATCH v4 4/5] arm64: dts: qcom: sm4250: " Alexey Klimov
@ 2024-11-01  0:59 ` Alexey Klimov
  2024-11-04 11:15   ` Konrad Dybcio
  4 siblings, 1 reply; 11+ messages in thread
From: Alexey Klimov @ 2024-11-01  0:59 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 | 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 = <&lt9611_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] 11+ messages in thread

* Re: [PATCH v4 4/5] arm64: dts: qcom: sm4250: add LPASS LPI pin controller
  2024-11-01  0:59 ` [PATCH v4 4/5] arm64: dts: qcom: sm4250: " Alexey Klimov
@ 2024-11-01  7:50   ` Dmitry Baryshkov
  2024-11-12  2:54     ` Alexey Klimov
  0 siblings, 1 reply; 11+ messages in thread
From: Dmitry Baryshkov @ 2024-11-01  7:50 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, Nov 01, 2024 at 12:59:24AM +0000, 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>
> 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..1b9983ab122e 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>;

I think this should be <&lpass_tlmm 0 0 27>. The driver defines pins
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
> 

-- 
With best wishes
Dmitry

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

* Re: [PATCH v4 3/5] arm64: dts: qcom: sm6115: add LPASS LPI pin controller
  2024-11-01  0:59 ` [PATCH v4 3/5] arm64: dts: qcom: sm6115: add LPASS LPI pin controller Alexey Klimov
@ 2024-11-01  7:50   ` Dmitry Baryshkov
  0 siblings, 0 replies; 11+ messages in thread
From: Dmitry Baryshkov @ 2024-11-01  7:50 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, Nov 01, 2024 at 12:59:23AM +0000, 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>
> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/sm6115.dtsi | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 

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

-- 
With best wishes
Dmitry

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

* Re: [PATCH v4 2/5] arm64: dts: qcom: sm6115: add apr and its services
  2024-11-01  0:59 ` [PATCH v4 2/5] arm64: dts: qcom: sm6115: add apr and its services Alexey Klimov
@ 2024-11-04 11:12   ` Konrad Dybcio
  0 siblings, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2024-11-04 11:12 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 1.11.2024 1:59 AM, Alexey Klimov wrote:
> 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>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

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

* Re: [PATCH v4 5/5] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support
  2024-11-01  0:59 ` [PATCH v4 5/5] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support Alexey Klimov
@ 2024-11-04 11:15   ` Konrad Dybcio
  0 siblings, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2024-11-04 11:15 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 1.11.2024 1:59 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>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

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

* Re: [PATCH v4 4/5] arm64: dts: qcom: sm4250: add LPASS LPI pin controller
  2024-11-01  7:50   ` Dmitry Baryshkov
@ 2024-11-12  2:54     ` Alexey Klimov
  0 siblings, 0 replies; 11+ messages in thread
From: Alexey Klimov @ 2024-11-12  2:54 UTC (permalink / raw)
  To: Dmitry Baryshkov
  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 Nov 1, 2024 at 7:50 AM GMT, Dmitry Baryshkov wrote:
> On Fri, Nov 01, 2024 at 12:59:24AM +0000, 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>
> > 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..1b9983ab122e 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>;
>
> I think this should be <&lpass_tlmm 0 0 27>. The driver defines pins
> 0-26.

Nice catch. Thanks, corrected and resend as version 5.

Best regards,
Alexey


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

end of thread, other threads:[~2024-11-12  2:54 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-01  0:59 [PATCH v4 0/5] qrb4210-rb2: add HDMI audio playback support Alexey Klimov
2024-11-01  0:59 ` [PATCH v4 1/5] ASoC: qcom: sm8250: add handling of secondary MI2S clock Alexey Klimov
2024-11-01  0:59 ` [PATCH v4 2/5] arm64: dts: qcom: sm6115: add apr and its services Alexey Klimov
2024-11-04 11:12   ` Konrad Dybcio
2024-11-01  0:59 ` [PATCH v4 3/5] arm64: dts: qcom: sm6115: add LPASS LPI pin controller Alexey Klimov
2024-11-01  7:50   ` Dmitry Baryshkov
2024-11-01  0:59 ` [PATCH v4 4/5] arm64: dts: qcom: sm4250: " Alexey Klimov
2024-11-01  7:50   ` Dmitry Baryshkov
2024-11-12  2:54     ` Alexey Klimov
2024-11-01  0:59 ` [PATCH v4 5/5] arm64: dts: qcom: qrb4210-rb2: add HDMI audio playback support Alexey Klimov
2024-11-04 11:15   ` Konrad Dybcio

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