Skip to contentSkip to conversation

Qualcomm's lpass device tree changes for I2s dai

PATCH Applied Srinivasa Rao Mandadapu 5 participants 10 messages Mar 14, 2021 – Apr 4, 2021

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

v7 cover Qualcomm's lpass device tree changes for I2s dai

These patches are device tree changes to support audio over I2S. Changes Since v6:
-- Changed mi2s node names
Changes Since v5:
-- Removed lpass macro in codec dai cell
-- Renamed multimedia dai codec alias name
Changes Since v4:
-- Removed duplication of dai-link in sound node.
-- Replaced reg values with common dt-bindings macros in coachz dtsi -- Included sc7180-lpass.h instead of qcom,lpass.h
-- Sound node placement change in coachz dtsi.
Changes Since v3:
-- Compatible name changed as per trogdor
Changes Since v2:
-- Sound node variable is added in sc7180-trogdor-coachz.dtsi. -- Audio-jack property is removed, as it may create conflicts with the boards
having different codecs.
-- Replaced reg values with common dt-bindings macros
Changes Since v1:
-- Ajith's Certification is added.
-- Alias name added for sound dai link node

Ajit Pandey (1):
arm64: dts: qcom: sc7180-trogdor: Add lpass dai link for I2S driver

Srinivasa Rao Mandadapu (1):
arm64: dts: qcom: Add sound node for sc7180-trogdor-coachz

 .../boot/dts/qcom/sc7180-trogdor-coachz.dtsi  | 10 ++++
 arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi  | 58 +++++++++++++++++++
 2 files changed, 68 insertions(+)
Signature · 2 lines
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
#1 lore raw

PATCH v7 1/2 arm64: dts: qcom: sc7180-trogdor: Add lpass dai link for I2S driver

From: Ajit Pandey <[email protected]>

Add dai link for supporting lpass I2S driver, which is used for audio capture and playback.
Add lpass-cpu node with pin controls and i2s primary and secondary dai-links

---
 arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 58 ++++++++++++++++++++
 1 file changed, 58 insertions(+)
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +58 -0
index 436582279dad..fd345972a361 100644
@@ -9,6 +9,7 @@
 #include <dt-bindings/input/gpio-keys.h>
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include <dt-bindings/sound/sc7180-lpass.h>
 
 /* PMICs depend on spmi_bus label and so must come after SoC */
 #include "pm6150.dtsi"
@@ -283,6 +284,42 @@ keyboard_backlight: keyboard-backlight {
 			max-brightness = <1023>;
 		};
 	};
+
+	sound: sound {
+		compatible = "google,sc7180-trogdor";
+		model = "sc7180-rt5682-max98357a-1mic";
+
+		audio-routing =
+			"Headphone Jack", "HPOL",
+			"Headphone Jack", "HPOR";
+
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		dai-link@0 {
+			link-name = "MultiMedia0";
+			reg = <MI2S_PRIMARY>;
+			cpu {
+				sound-dai = <&lpass_cpu MI2S_PRIMARY>;
+			};
+
+			sound_multimedia0_codec: codec {
+				sound-dai = <&alc5682 0 /* aif1 */>;
+			};
+		};
+
+		dai-link@1 {
+			link-name = "MultiMedia1";
+			reg = <MI2S_SECONDARY>;
+			cpu {
+				sound-dai = <&lpass_cpu MI2S_SECONDARY>;
+			};
+
+			sound_multimedia1_codec: codec {
+				sound-dai = <&max98357a>;
+			};
+		};
+	};
 };
 
 &qfprom {
@@ -720,6 +757,27 @@ &ipa {
 	modem-init;
 };
 
+&lpass_cpu {
+	status = "okay";
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&sec_mi2s_active>, <&pri_mi2s_active>, <&pri_mi2s_mclk_active>;
+
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	mi2s@0 {
+		reg = <MI2S_PRIMARY>;
+		qcom,playback-sd-lines = <1>;
+		qcom,capture-sd-lines = <0>;
+	};
+
+	mi2s@1 {
+		reg = <MI2S_SECONDARY>;
+		qcom,playback-sd-lines = <0>;
+	};
+};
+
 &mdp {
 	status = "okay";
 };
Signature · 2 lines
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
Reviewed-by Tested-by on v7 1/2
#2 lore raw

Re: [PATCH v7 1/2] arm64: dts: qcom: sc7180-trogdor: Add lpass dai link for I2S driver

Hi,

Quoted 7 lines · Srinivasa Rao Mandadapu

From: Ajit Pandey <[email protected]>

Add dai link for supporting lpass I2S driver, which is used for audio capture and playback.
Add lpass-cpu node with pin controls and i2s primary and secondary dai-links

You missed Stephen's comments on your commit message [1]

[1] https://lore.kernel.org/r/161566899554.1478170.1265435102634351195@swboyd.mtv.corp.google.com/

Quoted 6 lines
---
 arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 58 ++++++++++++++++++++
 1 file changed, 58 insertions(+)

The commit message nits aren't terribly important and Bjorn can presumably just fix them when applying if he cares. IMO you don't need to re-spin.

With these two patches plus commit 9922f50f7178 ("ASoC: qcom:
lpass-cpu: Fix lpass dai ids parse") in the sound tree I get audio on sc7180-trogdor-lazor! Thus:

Reviewed-by on v7 1/2
#3 lore raw

Re: [PATCH v7 1/2] arm64: dts: qcom: sc7180-trogdor: Add lpass dai link for I2S driver

In reply to Srinivasa Rao Mandadapu

Quoting Srinivasa Rao Mandadapu (2021-03-13 22:10:53)

Quoted 11 lines

From: Ajit Pandey <[email protected]>

Add dai link for supporting lpass I2S driver, which is used for audio capture and playback.
Add lpass-cpu node with pin controls and i2s primary and secondary dai-links

---

Reviewed-by on v7 1/2
#4 lore raw

Re: [PATCH v7 1/2] arm64: dts: qcom: sc7180-trogdor: Add lpass dai link for I2S driver

In reply to Srinivasa Rao Mandadapu
Quoted 11 lines · Srinivasa Rao Mandadapu

From: Ajit Pandey <[email protected]>

Add dai link for supporting lpass I2S driver, which is used for audio capture and playback.
Add lpass-cpu node with pin controls and i2s primary and secondary dai-links

---

LGTM,

Quoted 87 lines
  arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 58 ++++++++++++++++++++
  1 file changed, 58 insertions(+)
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +58 -0
index 436582279dad..fd345972a361 100644
@@ -9,6 +9,7 @@
  #include <dt-bindings/input/gpio-keys.h>
  #include <dt-bindings/input/input.h>
  #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include <dt-bindings/sound/sc7180-lpass.h>
 
  /* PMICs depend on spmi_bus label and so must come after SoC */
  #include "pm6150.dtsi"
@@ -283,6 +284,42 @@ keyboard_backlight: keyboard-backlight {
  			max-brightness = <1023>;
  		};
  	};
+
+	sound: sound {
+		compatible = "google,sc7180-trogdor";
+		model = "sc7180-rt5682-max98357a-1mic";
+
+		audio-routing =
+			"Headphone Jack", "HPOL",
+			"Headphone Jack", "HPOR";
+
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		dai-link@0 {
+			link-name = "MultiMedia0";
+			reg = <MI2S_PRIMARY>;
+			cpu {
+				sound-dai = <&lpass_cpu MI2S_PRIMARY>;
+			};
+
+			sound_multimedia0_codec: codec {
+				sound-dai = <&alc5682 0 /* aif1 */>;
+			};
+		};
+
+		dai-link@1 {
+			link-name = "MultiMedia1";
+			reg = <MI2S_SECONDARY>;
+			cpu {
+				sound-dai = <&lpass_cpu MI2S_SECONDARY>;
+			};
+
+			sound_multimedia1_codec: codec {
+				sound-dai = <&max98357a>;
+			};
+		};
+	};
  };
 
  &qfprom {
@@ -720,6 +757,27 @@ &ipa {
  	modem-init;
  };
 
+&lpass_cpu {
+	status = "okay";
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&sec_mi2s_active>, <&pri_mi2s_active>, <&pri_mi2s_mclk_active>;
+
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	mi2s@0 {
+		reg = <MI2S_PRIMARY>;
+		qcom,playback-sd-lines = <1>;
+		qcom,capture-sd-lines = <0>;
+	};
+
+	mi2s@1 {
+		reg = <MI2S_SECONDARY>;
+		qcom,playback-sd-lines = <0>;
+	};
+};
+
  &mdp {
  	status = "okay";
  };
#5 lore raw

PATCH v7 2/2 arm64: dts: qcom: Add sound node for sc7180-trogdor-coachz

In reply to Srinivasa Rao Mandadapu

This is a trgodor variant, required to have sound node variable for coachz specific platform.

---
 arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi | 10 ++++++++++
 1 file changed, 10 insertions(+)
arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi +10 -0
index 4ad520f00485..e2ffe71c2d52 100644
@@ -89,6 +89,16 @@ &sn65dsi86_out {
 	data-lanes = <0 1 2 3>;
 };
 
+&sound {
+	compatible = "google,sc7180-coachz";
+	model = "sc7180-adau7002-max98357a";
+	audio-routing = "PDM_DAT", "DMIC";
+};
+
+&sound_multimedia0_codec {
+	sound-dai = <&adau7002>;
+};
+
 /* PINCTRL - modifications to sc7180-trogdor.dtsi */
 
 &en_pp3300_dx_edp {
Signature · 2 lines
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
Reviewed-by Tested-by on v7 2/2
#6 lore raw

Re: [PATCH v7 2/2] arm64: dts: qcom: Add sound node for sc7180-trogdor-coachz

Hi,

Quoted 9 lines · Srinivasa Rao Mandadapu

This is a trgodor variant, required to have sound node variable for coachz specific platform.

---
 arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi | 10 ++++++++++
 1 file changed, 10 insertions(+)

With these two patches plus commit 9922f50f7178 ("ASoC: qcom:
lpass-cpu: Fix lpass dai ids parse") in the sound tree I get audio on sc7180-trogdor-coachz! Thus:

Reviewed-by on v7 2/2
#8 lore raw

Re: [PATCH v7 2/2] arm64: dts: qcom: Add sound node for sc7180-trogdor-coachz

In reply to Srinivasa Rao Mandadapu
Quoted 6 lines · Srinivasa Rao Mandadapu

This is a trgodor variant, required to have sound node variable for coachz specific platform.

---

Quoted 25 lines
  arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi | 10 ++++++++++
  1 file changed, 10 insertions(+)
arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi +10 -0
index 4ad520f00485..e2ffe71c2d52 100644
@@ -89,6 +89,16 @@ &sn65dsi86_out {
  	data-lanes = <0 1 2 3>;
  };
 
+&sound {
+	compatible = "google,sc7180-coachz";
+	model = "sc7180-adau7002-max98357a";
+	audio-routing = "PDM_DAT", "DMIC";
+};
+
+&sound_multimedia0_codec {
+	sound-dai = <&adau7002>;
+};
+
  /* PINCTRL - modifications to sc7180-trogdor.dtsi */
 
  &en_pp3300_dx_edp {
#9 lore raw
In reply to Srinivasa Rao Mandadapu
This series was applied to qcom/linux.git (refs/heads/for-next):

Hello:

This series was applied to qcom/linux.git (refs/heads/for-next):

Quoted 22 lines · On Sun, 14 Mar 2021 11:40:52 +0530 you wrote:

These patches are device tree changes to support audio over I2S. Changes Since v6:
-- Changed mi2s node names
Changes Since v5:
-- Removed lpass macro in codec dai cell
-- Renamed multimedia dai codec alias name
Changes Since v4:
-- Removed duplication of dai-link in sound node.
-- Replaced reg values with common dt-bindings macros in coachz dtsi -- Included sc7180-lpass.h instead of qcom,lpass.h
-- Sound node placement change in coachz dtsi.
Changes Since v3:
-- Compatible name changed as per trogdor
Changes Since v2:
-- Sound node variable is added in sc7180-trogdor-coachz.dtsi. -- Audio-jack property is removed, as it may create conflicts with the boards
having different codecs.
-- Replaced reg values with common dt-bindings macros
Changes Since v1:
-- Ajith's Certification is added.
-- Alias name added for sound dai link node

Quoted 1 line

[...]

Here is the summary with links:
- [v7,1/2] arm64: dts: qcom: sc7180-trogdor: Add lpass dai link for I2S driver

    https://git.kernel.org/qcom/c/29bd62ee951b
  - [v7,2/2] arm64: dts: qcom: Add sound node for sc7180-trogdor-coachz
    https://git.kernel.org/qcom/c/f158e7a378f2

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html