Skip to contentSkip to conversation

Qualcomm's lpass device tree changes

PATCH Superseded Srinivasa Rao Mandadapu 2 participants 6 messages Jul 21, 2021 – Jul 22, 2021

Subsystems (4)

v5 of 7 Superseded Latest is v7 →

lore
Share & tools
lore
#0 lore raw

v5 cover Qualcomm's lpass device tree changes

Changes Since v4:
-- Signed off address change.
Changes Since v3:
-- Changed DP node name.
Changes Since v2:
-- Removed obsolete hdmi-jack property.
-- Updated sound dai cells property
Changes Since v1:
-- hdmi dai is added in lpass-cpu node.

V Sujith Kumar Reddy (2):
arm64: dts: qcom: sc7180: Update lpass cpu node for audio over dp
arm64: dts: qcom: sc7180-trogdor: Add lpass dai link for HDMI

 arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 17 +++++++++++++++++
 arch/arm64/boot/dts/qcom/sc7180.dtsi         | 16 ++++++++++------
 2 files changed, 27 insertions(+), 6 deletions(-)
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 v5 1/2 arm64: dts: qcom: sc7180: Update lpass cpu node for audio over dp

From: V Sujith Kumar Reddy <[email protected]>

Updaate lpass dts node with HDMI reg, interrupt and iommu for supporting audio over dp.

---
 arch/arm64/boot/dts/qcom/sc7180.dtsi | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)
arch/arm64/boot/dts/qcom/sc7180.dtsi +10 -6
index ad21a872be85..e6f6ebb2a9ac 100644
@@ -3534,17 +3534,20 @@ lpasscc: clock-controller@62d00000 {
 			#power-domain-cells = <1>;
 		};
 
-		lpass_cpu: lpass@62f00000 {
+		lpass_cpu: lpass@62d87000 {
 			compatible = "qcom,sc7180-lpass-cpu";
 
-			reg = <0 0x62f00000 0 0x29000>;
-			reg-names = "lpass-lpaif";
+			reg = <0 0x62d87000 0 0x68000>, <0 0x62f00000 0 0x29000>;
+			reg-names =  "lpass-hdmiif", "lpass-lpaif";
 
 			iommus = <&apps_smmu 0x1020 0>,
-				<&apps_smmu 0x1021 0>;
+				<&apps_smmu 0x1021 0>,
+				<&apps_smmu 0x1032 0>;
 
 			power-domains = <&lpass_hm LPASS_CORE_HM_GDSCR>;
 
+			status = "disabled";
+
 			clocks = <&gcc GCC_LPASS_CFG_NOC_SWAY_CLK>,
 				 <&lpasscc LPASS_AUDIO_CORE_CORE_CLK>,
 				 <&lpasscc LPASS_AUDIO_CORE_EXT_MCLK0_CLK>,
@@ -3561,8 +3564,9 @@ lpass_cpu: lpass@62f00000 {
 			#address-cells = <1>;
 			#size-cells = <0>;
 
-			interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
-			interrupt-names = "lpass-irq-lpaif";
+			interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "lpass-irq-lpaif", "lpass-irq-hdmi";
 		};
 
 		lpass_hm: clock-controller@63000000 {
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.
#2 lore raw

PATCH v5 2/2 arm64: dts: qcom: sc7180-trogdor: Add lpass dai link for HDMI

In reply to Srinivasa Rao Mandadapu

From: V Sujith Kumar Reddy <[email protected]>

Add dai link in sc7180-trogdor.dtsi for supporting audio over DP

---
 arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +17 -0
index 31bf7c698b8f..a4cb9ee567ff 100644
@@ -288,6 +288,7 @@ sound: sound {
 			"Headphone Jack", "HPOL",
 			"Headphone Jack", "HPOR";
 
+		#sound-dai-cells = <0>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 
@@ -314,6 +315,18 @@ sound_multimedia1_codec: codec {
 				sound-dai = <&max98357a>;
 			};
 		};
+
+		dai-link@2 {
+			link-name = "MultiMedia2";
+			reg = <2>;
+			cpu {
+				sound-dai = <&lpass_cpu 2>;
+			};
+
+			codec {
+				sound-dai = <&mdss_dp>;
+			};
+		};
 	};
 };
 
@@ -768,6 +781,10 @@ secondary_mi2s: mi2s@1 {
 		reg = <MI2S_SECONDARY>;
 		qcom,playback-sd-lines = <0>;
 	};
+
+	hdmi-primary@0 {
+		reg = <LPASS_DP_RX>;
+	};
 };
 
 &mdp {
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.
#3 lore raw

Re: [PATCH v5 2/2] arm64: dts: qcom: sc7180-trogdor: Add lpass dai link for HDMI

Hi,

Quoted 17 lines · Srinivasa Rao Mandadapu

From: V Sujith Kumar Reddy <[email protected]>

Add dai link in sc7180-trogdor.dtsi for supporting audio over DP

---
 arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +0 -0
index 31bf7c698b8f..a4cb9ee567ff 100644

arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi sound: sound { · line 291

Quoted 4 lines
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +1 -0
@@ -288,6 +288,7 @@ sound: sound {
                        "Headphone Jack", "HPOL",
                        "Headphone Jack", "HPOR";
 
+               #sound-dai-cells = <0>;

The #sound-dai-cells is not in the bindings. The bindings also say additionalProperties: false. So either your patch is wrong for including this or the bindings are wrong for omitting it. Which is it? I notice that downstream we don't have this.

arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi sound_multimedia1_codec: codec { · line 315

Quoted 2 lines
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +0 -0
@@ -314,6 +315,18 @@ sound_multimedia1_codec: codec {
                                sound-dai = <&max98357a>;

Ideally you'll want to rebase to make context clean since the above got changed from max98357a to max98360a.

arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi sound_multimedia1_codec: codec { · line 321

Quoted 6 lines
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +4 -0
                        };
                };
+
+               dai-link@2 {
+                       link-name = "MultiMedia2";
+                       reg = <2>;

I am certainly not an expert, but I notice that downstream we have reg as <LPASS_DP_RX>, which makes the node name dai-link@5 instead of @2. Does that matter?

arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi secondary_mi2s: mi2s@1 { · line 786

Quoted 7 lines
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +3 -0
@@ -768,6 +781,10 @@ secondary_mi2s: mi2s@1 {
                reg = <MI2S_SECONDARY>;
                qcom,playback-sd-lines = <0>;
        };
+
+       hdmi-primary@0 {
+               reg = <LPASS_DP_RX>;

Your node name and reg don't match. LPASS_DP_RX is 5 so the node name should include @5, not @0. I also notice that downstream the node name is called hdmi, not hdmi-primary. The downstream hdmi seems more parallel to the sibling nodes, like mi2s@0 and mi2s@1.

#4 lore raw

Re: [PATCH v5 2/2] arm64: dts: qcom: sc7180-trogdor: Add lpass dai link for HDMI

Thanks for your time Doug!!

Quoted 23 lines · Doug Anderson

Hi,

Quoted 19 lines · Srinivasa Rao Mandadapu

From: V Sujith Kumar Reddy <[email protected]>

Add dai link in sc7180-trogdor.dtsi for supporting audio over DP

---
  arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 17 +++++++++++++++++
  1 file changed, 17 insertions(+)
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +0 -0
index 31bf7c698b8f..a4cb9ee567ff 100644
@@ -288,6 +288,7 @@ sound: sound {
                         "Headphone Jack", "HPOL",
                         "Headphone Jack", "HPOR";
 
Quoted 6 lines

arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi sound: sound { · line 291

Quoted 1 line
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +1 -0
+               #sound-dai-cells = <0>;

The #sound-dai-cells is not in the bindings. The bindings also say additionalProperties: false. So either your patch is wrong for including this or the bindings are wrong for omitting it. Which is it? I notice that downstream we don't have this.

Yes it's wrongly placed Here. Will remove it.

Quoted 12 lines

arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi sound_multimedia1_codec: codec { · line 315

Quoted 2 lines
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +0 -0
@@ -314,6 +315,18 @@ sound_multimedia1_codec: codec {
                                 sound-dai = <&max98357a>;

Ideally you'll want to rebase to make context clean since the above got changed from max98357a to max98360a.

arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi sound_multimedia1_codec: codec { · line 321

Quoted 6 lines
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +4 -0
                         };
                 };
+
+               dai-link@2 {
+                       link-name = "MultiMedia2";
+                       reg = <2>;
Quoted 4 lines

I am certainly not an expert, but I notice that downstream we have reg as <LPASS_DP_RX>, which makes the node name dai-link@5 instead of @2. Does that matter?

Yes,Here reg as <LPASS_DP_RX> is correct option. Will change accordingly.  But It seems dai-link@2 is appropriate as in this platform

we are using only 3 nodes. i.e. I2S primary, I2S secondary and DP node.

Quoted 11 lines

arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi secondary_mi2s: mi2s@1 { · line 786

Quoted 7 lines
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +3 -0
@@ -768,6 +781,10 @@ secondary_mi2s: mi2s@1 {
                 reg = <MI2S_SECONDARY>;
                 qcom,playback-sd-lines = <0>;
         };
+
+       hdmi-primary@0 {
+               reg = <LPASS_DP_RX>;

Your node name and reg don't match. LPASS_DP_RX is 5 so the node name should include @5, not @0. I also notice that downstream the node name is called hdmi, not hdmi-primary. The downstream hdmi seems more parallel to the sibling nodes, like mi2s@0 and mi2s@1.

Yes hdmi@2 is appropriate. will change accordingly.

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.
#5 lore raw

Re: [PATCH v5 2/2] arm64: dts: qcom: sc7180-trogdor: Add lpass dai link for HDMI

Hi,

Quoted 46 lines · Srinivasa Rao Mandadapu

Thanks for your time Doug!!

Quoted 23 lines · Doug Anderson

Hi,

Quoted 19 lines · Srinivasa Rao Mandadapu

From: V Sujith Kumar Reddy <[email protected]>

Add dai link in sc7180-trogdor.dtsi for supporting audio over DP

---
  arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 17 +++++++++++++++++
  1 file changed, 17 insertions(+)
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +0 -0
index 31bf7c698b8f..a4cb9ee567ff 100644
@@ -288,6 +288,7 @@ sound: sound {
                         "Headphone Jack", "HPOL",
                         "Headphone Jack", "HPOR";
 
Quoted 6 lines

arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi sound: sound { · line 291

Quoted 1 line
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +1 -0
+               #sound-dai-cells = <0>;

The #sound-dai-cells is not in the bindings. The bindings also say additionalProperties: false. So either your patch is wrong for including this or the bindings are wrong for omitting it. Which is it? I notice that downstream we don't have this.

Yes it's wrongly placed Here. Will remove it.

Quoted 12 lines

arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi sound_multimedia1_codec: codec { · line 315

Quoted 2 lines
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +0 -0
@@ -314,6 +315,18 @@ sound_multimedia1_codec: codec {
                                 sound-dai = <&max98357a>;

Ideally you'll want to rebase to make context clean since the above got changed from max98357a to max98360a.

Quoted 6 lines
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +4 -0
                         };
                 };
+
+               dai-link@2 {
+                       link-name = "MultiMedia2";
+                       reg = <2>;
Quoted 6 lines
Quoted 4 lines

I am certainly not an expert, but I notice that downstream we have reg as <LPASS_DP_RX>, which makes the node name dai-link@5 instead of @2. Does that matter?

Yes,Here reg as <LPASS_DP_RX> is correct option. Will change accordingly. But It seems dai-link@2 is appropriate as in this platform

I think you misunderstand. The "@num" is _required_ to match the value for "reg". So if reg is 5 then you need "@5", not "@2"

Quoted 13 lines

we are using only 3 nodes. i.e. I2S primary, I2S secondary and DP node.

Quoted 11 lines

arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi secondary_mi2s: mi2s@1 { · line 786

Quoted 7 lines
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +3 -0
@@ -768,6 +781,10 @@ secondary_mi2s: mi2s@1 {
                 reg = <MI2S_SECONDARY>;
                 qcom,playback-sd-lines = <0>;
         };
+
+       hdmi-primary@0 {
+               reg = <LPASS_DP_RX>;

Your node name and reg don't match. LPASS_DP_RX is 5 so the node name should include @5, not @0. I also notice that downstream the node name is called hdmi, not hdmi-primary. The downstream hdmi seems more parallel to the sibling nodes, like mi2s@0 and mi2s@1.

Quoted 1 line

Yes hdmi@2 is appropriate. will change accordingly.

Same here. Since LPASS_DP_RX is actually the number 5 then you need @5. I think there was discussion about allowing it to be @LPASS_DP_RX but last I remember the decision was to keep it as a number.

-Doug