162 lines
4.4 KiB
Diff
162 lines
4.4 KiB
Diff
From 73db0fa78b569523c6a5fa8e68ddfbe83a07be6c Mon Sep 17 00:00:00 2001
|
|
From: Nikita Travkin <nikita@trvn.ru>
|
|
Date: Thu, 7 Sep 2023 15:02:37 +0500
|
|
Subject: [PATCH 10/17] arm64: dts: qcom: sc7180: Add ADSP
|
|
|
|
sc7180 has an ADSP remoteproc that exclusively controls the audio
|
|
hardware on devices that use Qualcomm firmware.
|
|
|
|
Add it along with the relevant audio services.
|
|
|
|
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
|
|
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
|
|
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
|
|
Link: https://lore.kernel.org/r/20230907-sc7180-adsp-rproc-v3-4-6515c3fbe0a3@trvn.ru
|
|
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
|
---
|
|
arch/arm64/boot/dts/qcom/sc7180.dtsi | 122 +++++++++++++++++++++++++++
|
|
1 file changed, 122 insertions(+)
|
|
|
|
diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
|
|
index 6988140a5270..b9d6c95191ae 100644
|
|
--- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
|
|
+++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
|
|
@@ -19,6 +19,8 @@
|
|
#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>
|
|
|
|
/ {
|
|
@@ -3635,6 +3637,126 @@ wifi: wifi@18800000 {
|
|
status = "disabled";
|
|
};
|
|
|
|
+ remoteproc_adsp: remoteproc@62400000 {
|
|
+ compatible = "qcom,sc7180-adsp-pas";
|
|
+ reg = <0 0x62400000 0 0x100>;
|
|
+
|
|
+ interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
|
|
+ <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
|
|
+ <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
|
|
+ <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
|
|
+ <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
|
|
+ interrupt-names = "wdog",
|
|
+ "fatal",
|
|
+ "ready",
|
|
+ "handover",
|
|
+ "stop-ack";
|
|
+
|
|
+ clocks = <&rpmhcc RPMH_CXO_CLK>;
|
|
+ clock-names = "xo";
|
|
+
|
|
+ power-domains = <&rpmhpd SC7180_LCX>,
|
|
+ <&rpmhpd SC7180_LMX>;
|
|
+ power-domain-names = "lcx", "lmx";
|
|
+
|
|
+ qcom,qmp = <&aoss_qmp>;
|
|
+ qcom,smem-states = <&adsp_smp2p_out 0>;
|
|
+ qcom,smem-state-names = "stop";
|
|
+
|
|
+ status = "disabled";
|
|
+
|
|
+ glink-edge {
|
|
+ interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
|
|
+ label = "lpass";
|
|
+ qcom,remote-pid = <2>;
|
|
+ mboxes = <&apss_shared 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 {
|
|
+ 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 {
|
|
+ compatible = "qcom,fastrpc";
|
|
+ qcom,glink-channels = "fastrpcglink-apps-dsp";
|
|
+ label = "adsp";
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+
|
|
+ compute-cb@3 {
|
|
+ compatible = "qcom,fastrpc-compute-cb";
|
|
+ reg = <3>;
|
|
+ iommus = <&apps_smmu 0x1003 0x0>;
|
|
+ };
|
|
+
|
|
+ compute-cb@4 {
|
|
+ compatible = "qcom,fastrpc-compute-cb";
|
|
+ reg = <4>;
|
|
+ iommus = <&apps_smmu 0x1004 0x0>;
|
|
+ };
|
|
+
|
|
+ compute-cb@5 {
|
|
+ compatible = "qcom,fastrpc-compute-cb";
|
|
+ reg = <5>;
|
|
+ iommus = <&apps_smmu 0x1005 0x0>;
|
|
+ qcom,nsessions = <5>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
lpasscc: clock-controller@62d00000 {
|
|
compatible = "qcom,sc7180-lpasscorecc";
|
|
reg = <0 0x62d00000 0 0x50000>,
|
|
--
|
|
2.43.0
|
|
|