OSDN Git Service

arm64: dts: qcom: sdm630: Add ADSP remoteproc configuration
authorKonrad Dybcio <konrad.dybcio@somainline.org>
Wed, 28 Jul 2021 22:25:20 +0000 (00:25 +0200)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Wed, 4 Aug 2021 20:07:03 +0000 (15:07 -0500)
Configure the ADSP remote processor and add a simple sound{}
node to make way for future development.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210728222542.54269-18-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
arch/arm64/boot/dts/qcom/sdm630.dtsi

index e71f799..97683b1 100644 (file)
@@ -10,6 +10,7 @@
 #include <dt-bindings/power/qcom-rpmpd.h>
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/soc/qcom,apr.h>
 
 / {
        interrupt-parent = <&intc>;
                        status = "disabled";
                };
 
+               adsp_pil: remoteproc@15700000 {
+                       compatible = "qcom,sdm660-adsp-pas";
+                       reg = <0x15700000 0x4040>;
+
+                       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 = <&rpmcc RPM_SMD_XO_CLK_SRC>;
+                       clock-names = "xo";
+
+                       memory-region = <&adsp_region>;
+                       power-domains = <&rpmpd SDM660_VDDCX>;
+                       power-domain-names = "cx";
+
+                       qcom,smem-states = <&adsp_smp2p_out 0>;
+                       qcom,smem-state-names = "stop";
+
+                       glink-edge {
+                               interrupts = <GIC_SPI 157 IRQ_TYPE_EDGE_RISING>;
+
+                               label = "lpass";
+                               mboxes = <&apcs_glb 9>;
+                               qcom,remote-pid = <2>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               apr {
+                                       compatible = "qcom,apr-v2";
+                                       qcom,glink-channels = "apr_audio_svc";
+                                       qcom,apr-domain = <APR_DOMAIN_ADSP>;
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       q6core {
+                                               reg = <APR_SVC_ADSP_CORE>;
+                                               compatible = "qcom,q6core";
+                                       };
+
+                                       q6afe: apr-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: apr-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>;
+                                                       iommus = <&lpass_smmu 1>;
+                                               };
+                                       };
+
+                                       q6adm: apr-service@8 {
+                                               compatible = "qcom,q6adm";
+                                               reg = <APR_SVC_ADM>;
+                                               q6routing: routing {
+                                                       compatible = "qcom,q6adm-routing";
+                                                       #sound-dai-cells = <0>;
+                                               };
+                                       };
+                               };
+                       };
+               };
+
                gnoc: interconnect@17900000 {
                        compatible = "qcom,sdm660-gnoc";
                        reg = <0x17900000 0xe000>;
                #hwlock-cells = <1>;
        };
 
+       sound: sound {
+       };
+
        thermal-zones {
                aoss-thermal {
                        polling-delay-passive = <250>;