[PATCH 13/23] arm64: dts: qcom: sc7180: use dedicated elite-audio dtsi

srinivas.kandagatla@oss.qualcomm.com posted 23 patches 2 months, 2 weeks ago
[PATCH 13/23] arm64: dts: qcom: sc7180: use dedicated elite-audio dtsi
Posted by srinivas.kandagatla@oss.qualcomm.com 2 months, 2 weeks ago
From: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>

Make use of elite-audio.dtsi and remove the gpr nodes from SoC dtsi.
This move removes duplication.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
---
 .../boot/dts/qcom/sc7180-acer-aspire1.dts     |  1 +
 arch/arm64/boot/dts/qcom/sc7180-audio.dtsi    |  8 +++
 arch/arm64/boot/dts/qcom/sc7180-idp.dts       |  1 +
 arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi  |  1 +
 arch/arm64/boot/dts/qcom/sc7180.dtsi          | 56 +------------------
 arch/arm64/boot/dts/qcom/sm7125.dtsi          |  1 +
 6 files changed, 13 insertions(+), 55 deletions(-)
 create mode 100644 arch/arm64/boot/dts/qcom/sc7180-audio.dtsi

diff --git a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
index 672ac4c3afa3..70b8633e5dd9 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
@@ -7,6 +7,7 @@
 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 
 #include "sc7180.dtsi"
+#include "sc7180-audio.dtsi"
 
 #include "pm6150.dtsi"
 #include "pm6150l.dtsi"
diff --git a/arch/arm64/boot/dts/qcom/sc7180-audio.dtsi b/arch/arm64/boot/dts/qcom/sc7180-audio.dtsi
new file mode 100644
index 000000000000..d6d41ba93195
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sc7180-audio.dtsi
@@ -0,0 +1,8 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2025 Qualcomm Innovation Center, Inc. All rights reserved.
+ */
+#include "elite-audio.dtsi"
+&q6asmdai{
+	iommus = <&apps_smmu 0x1001 0x0>;
+};
diff --git a/arch/arm64/boot/dts/qcom/sc7180-idp.dts b/arch/arm64/boot/dts/qcom/sc7180-idp.dts
index 0146fb0036d4..cbc3a3096cb2 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-idp.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-idp.dts
@@ -11,6 +11,7 @@
 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
 #include "sc7180.dtsi"
+#include "sc7180-audio.dtsi"
 #include "sc7180-firmware-tfa.dtsi"
 #include "pm6150.dtsi"
 #include "pm6150l.dtsi"
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
index 74ab321d3333..0e267b9fdefc 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
@@ -13,6 +13,7 @@
 #include <dt-bindings/sound/sc7180-lpass.h>
 
 #include "sc7180.dtsi"
+#include "sc7180-audio.dtsi"
 #include "sc7180-firmware-tfa.dtsi"
 /* PMICs depend on spmi_bus label and so must come after sc7180.dtsi */
 #include "pm6150.dtsi"
diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
index 8f827f1d8515..b56173838fdd 100644
--- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
@@ -23,7 +23,6 @@
 #include <dt-bindings/reset/qcom,sdm845-aoss.h>
 #include <dt-bindings/reset/qcom,sdm845-pdc.h>
 #include <dt-bindings/soc/qcom,rpmh-rsc.h>
-#include <dt-bindings/soc/qcom,apr.h>
 #include <dt-bindings/sound/qcom,q6afe.h>
 #include <dt-bindings/thermal/thermal.h>
 
@@ -3876,61 +3875,8 @@ glink-edge {
 				qcom,remote-pid = <2>;
 				mboxes = <&apss_shared 8>;
 
-				apr {
-					compatible = "qcom,apr-v2";
+				apr: apr {
 					qcom,glink-channels = "apr_audio_svc";
-					qcom,domain = <APR_DOMAIN_ADSP>;
-					#address-cells = <1>;
-					#size-cells = <0>;
-
-					service@3 {
-						compatible = "qcom,q6core";
-						reg = <APR_SVC_ADSP_CORE>;
-						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 0x1001 0x0>;
-						};
-					};
-
-					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 {
diff --git a/arch/arm64/boot/dts/qcom/sm7125.dtsi b/arch/arm64/boot/dts/qcom/sm7125.dtsi
index a53145a610a3..567c2cdde916 100644
--- a/arch/arm64/boot/dts/qcom/sm7125.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm7125.dtsi
@@ -4,6 +4,7 @@
  */
 
 #include "sc7180.dtsi"
+#include "sc7180-audio.dtsi"
 
 /* SM7125 uses Kryo 465 instead of Kryo 468 */
 &cpu0 { compatible = "qcom,kryo465"; };
-- 
2.50.0
Re: [PATCH 13/23] arm64: dts: qcom: sc7180: use dedicated elite-audio dtsi
Posted by Stephan Gerhold 2 months, 1 week ago
On Wed, Jul 23, 2025 at 11:27:27PM +0100, srinivas.kandagatla@oss.qualcomm.com wrote:
> From: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
> 
> Make use of elite-audio.dtsi and remove the gpr nodes from SoC dtsi.
> This move removes duplication.
> 
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
> ---
>  .../boot/dts/qcom/sc7180-acer-aspire1.dts     |  1 +
>  arch/arm64/boot/dts/qcom/sc7180-audio.dtsi    |  8 +++
>  arch/arm64/boot/dts/qcom/sc7180-idp.dts       |  1 +
>  arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi  |  1 +
>  arch/arm64/boot/dts/qcom/sc7180.dtsi          | 56 +------------------
>  arch/arm64/boot/dts/qcom/sm7125.dtsi          |  1 +
>  6 files changed, 13 insertions(+), 55 deletions(-)
>  create mode 100644 arch/arm64/boot/dts/qcom/sc7180-audio.dtsi
> 
> [...]
> diff --git a/arch/arm64/boot/dts/qcom/sc7180-audio.dtsi b/arch/arm64/boot/dts/qcom/sc7180-audio.dtsi
> new file mode 100644
> index 000000000000..d6d41ba93195
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sc7180-audio.dtsi
> @@ -0,0 +1,8 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2025 Qualcomm Innovation Center, Inc. All rights reserved.
> + */
> +#include "elite-audio.dtsi"
> +&q6asmdai{
> +	iommus = <&apps_smmu 0x1001 0x0>;
> +};
> [...]
> diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
> index 74ab321d3333..0e267b9fdefc 100644
> --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
> @@ -13,6 +13,7 @@
>  #include <dt-bindings/sound/sc7180-lpass.h>
>  
>  #include "sc7180.dtsi"
> +#include "sc7180-audio.dtsi"
>  #include "sc7180-firmware-tfa.dtsi"
>  /* PMICs depend on spmi_bus label and so must come after sc7180.dtsi */
>  #include "pm6150.dtsi"

ChromeOS on SC7180 uses ADSP bypass, so explicitly including
elite-audio.dtsi for Trogdor is a bit unexpected. It doesn't use those
nodes at all.

Thanks,
Stephan
Re: [PATCH 13/23] arm64: dts: qcom: sc7180: use dedicated elite-audio dtsi
Posted by Srinivas Kandagatla 2 months, 1 week ago
On 7/24/25 8:38 AM, Stephan Gerhold wrote:
> On Wed, Jul 23, 2025 at 11:27:27PM +0100, srinivas.kandagatla@oss.qualcomm.com wrote:
>> From: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
>>
>> Make use of elite-audio.dtsi and remove the gpr nodes from SoC dtsi.
>> This move removes duplication.
>>
>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
>> ---
>>  .../boot/dts/qcom/sc7180-acer-aspire1.dts     |  1 +
>>  arch/arm64/boot/dts/qcom/sc7180-audio.dtsi    |  8 +++
>>  arch/arm64/boot/dts/qcom/sc7180-idp.dts       |  1 +
>>  arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi  |  1 +
>>  arch/arm64/boot/dts/qcom/sc7180.dtsi          | 56 +------------------
>>  arch/arm64/boot/dts/qcom/sm7125.dtsi          |  1 +
>>  6 files changed, 13 insertions(+), 55 deletions(-)
>>  create mode 100644 arch/arm64/boot/dts/qcom/sc7180-audio.dtsi
>>
>> [...]
>> diff --git a/arch/arm64/boot/dts/qcom/sc7180-audio.dtsi b/arch/arm64/boot/dts/qcom/sc7180-audio.dtsi
>> new file mode 100644
>> index 000000000000..d6d41ba93195
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/qcom/sc7180-audio.dtsi
>> @@ -0,0 +1,8 @@
>> +// SPDX-License-Identifier: BSD-3-Clause
>> +/*
>> + * Copyright (c) 2025 Qualcomm Innovation Center, Inc. All rights reserved.
>> + */
>> +#include "elite-audio.dtsi"
>> +&q6asmdai{
>> +	iommus = <&apps_smmu 0x1001 0x0>;
>> +};
>> [...]
>> diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
>> index 74ab321d3333..0e267b9fdefc 100644
>> --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
>> @@ -13,6 +13,7 @@
>>  #include <dt-bindings/sound/sc7180-lpass.h>
>>  
>>  #include "sc7180.dtsi"
>> +#include "sc7180-audio.dtsi"
>>  #include "sc7180-firmware-tfa.dtsi"
>>  /* PMICs depend on spmi_bus label and so must come after sc7180.dtsi */
>>  #include "pm6150.dtsi"
> 
> ChromeOS on SC7180 uses ADSP bypass, so explicitly including
> elite-audio.dtsi for Trogdor is a bit unexpected. It doesn't use those
> nodes at all.
From DT PoV nothing changed, its same as before, for ADSP bypass the DSP
services will never be up.


--srini
> 
> Thanks,
> Stephan