[PATCH 15/23] arm64: dts: qcom: msm8916: use dedicated elite-audio dtsi

srinivas.kandagatla@oss.qualcomm.com posted 23 patches 2 months, 2 weeks ago
[PATCH 15/23] arm64: dts: qcom: msm8916: 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>
---
 arch/arm64/boot/dts/qcom/msm8916-audio.dtsi  |  5 +++
 arch/arm64/boot/dts/qcom/msm8916-pm8916.dtsi |  1 +
 arch/arm64/boot/dts/qcom/msm8916.dtsi        | 44 --------------------
 3 files changed, 6 insertions(+), 44 deletions(-)
 create mode 100644 arch/arm64/boot/dts/qcom/msm8916-audio.dtsi

diff --git a/arch/arm64/boot/dts/qcom/msm8916-audio.dtsi b/arch/arm64/boot/dts/qcom/msm8916-audio.dtsi
new file mode 100644
index 000000000000..fe17bc28e825
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/msm8916-audio.dtsi
@@ -0,0 +1,5 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2025 Qualcomm Innovation Center, Inc. All rights reserved.
+ */
+#include "elite-audio.dtsi"
diff --git a/arch/arm64/boot/dts/qcom/msm8916-pm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916-pm8916.dtsi
index b1a7eafbee31..c0a48692c100 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-pm8916.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916-pm8916.dtsi
@@ -9,6 +9,7 @@
  */
 
 #include "msm8916.dtsi"
+#include "msm8916-audio.dtsi"
 #include "pm8916.dtsi"
 
 &camss {
diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
index b50c7e6e0bfc..6d9807adc618 100644
--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
@@ -1997,51 +1997,7 @@ smd-edge {
 				label = "hexagon";
 
 				apr: apr {
-					compatible = "qcom,apr-v2";
 					qcom,smd-channels = "apr_audio_svc";
-					qcom,domain = <APR_DOMAIN_ADSP>;
-					#address-cells = <1>;
-					#size-cells = <0>;
-					status = "disabled";
-
-					q6core: service@3 {
-						compatible = "qcom,q6core";
-						reg = <APR_SVC_ADSP_CORE>;
-					};
-
-					q6afe: service@4 {
-						compatible = "qcom,q6afe";
-						reg = <APR_SVC_AFE>;
-
-						q6afedai: dais {
-							compatible = "qcom,q6afe-dais";
-							#address-cells = <1>;
-							#size-cells = <0>;
-							#sound-dai-cells = <1>;
-						};
-					};
-
-					q6asm: service@7 {
-						compatible = "qcom,q6asm";
-						reg = <APR_SVC_ASM>;
-
-						q6asmdai: dais {
-							compatible = "qcom,q6asm-dais";
-							#address-cells = <1>;
-							#size-cells = <0>;
-							#sound-dai-cells = <1>;
-						};
-					};
-
-					q6adm: service@8 {
-						compatible = "qcom,q6adm";
-						reg = <APR_SVC_ADM>;
-
-						q6routing: routing {
-							compatible = "qcom,q6adm-routing";
-							#sound-dai-cells = <0>;
-						};
-					};
 				};
 
 				fastrpc {
-- 
2.50.0
Re: [PATCH 15/23] arm64: dts: qcom: msm8916: use dedicated elite-audio dtsi
Posted by Stephan Gerhold 2 months, 1 week ago
On Wed, Jul 23, 2025 at 11:27:29PM +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>
> ---
>  arch/arm64/boot/dts/qcom/msm8916-audio.dtsi  |  5 +++
>  arch/arm64/boot/dts/qcom/msm8916-pm8916.dtsi |  1 +
>  arch/arm64/boot/dts/qcom/msm8916.dtsi        | 44 --------------------
>  3 files changed, 6 insertions(+), 44 deletions(-)
>  create mode 100644 arch/arm64/boot/dts/qcom/msm8916-audio.dtsi
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-audio.dtsi b/arch/arm64/boot/dts/qcom/msm8916-audio.dtsi
> new file mode 100644
> index 000000000000..fe17bc28e825
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/msm8916-audio.dtsi
> @@ -0,0 +1,5 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2025 Qualcomm Innovation Center, Inc. All rights reserved.
> + */
> +#include "elite-audio.dtsi"

I don't think this will work. elite-audio.dtsi contains

	qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";

for all the APR service nodes, but the ADSP firmware on MSM8916 doesn't
have support for this as far as I know. This will likely prevent all the
drivers from probing.

The definition below doesn't use "qcom,protection-domain".

> diff --git a/arch/arm64/boot/dts/qcom/msm8916-pm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916-pm8916.dtsi
> index b1a7eafbee31..c0a48692c100 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-pm8916.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8916-pm8916.dtsi
> @@ -9,6 +9,7 @@
>   */
>  
>  #include "msm8916.dtsi"
> +#include "msm8916-audio.dtsi"
>  #include "pm8916.dtsi"
>  
>  &camss {
> diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
> index b50c7e6e0bfc..6d9807adc618 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
> @@ -1997,51 +1997,7 @@ smd-edge {
>  				label = "hexagon";
>  
>  				apr: apr {
> -					compatible = "qcom,apr-v2";
>  					qcom,smd-channels = "apr_audio_svc";
> -					qcom,domain = <APR_DOMAIN_ADSP>;
> -					#address-cells = <1>;
> -					#size-cells = <0>;
> -					status = "disabled";

status = "disabled" got lost in the conversion. This is needed on DB410c
to prevent crashes when probing the broken APR services in the GPS-only
ADSP firmware.

Instead of disabling APR by default, you could move the status =
"disabled" to apq8016-sbc. I think that would also be fine.

Thanks,
Stephan