Commit 7ca2ebc9 authored by Konrad Dybcio's avatar Konrad Dybcio Committed by Bjorn Andersson
Browse files

arm64: dts: qcom: sdm630: Add ADSP remoteproc configuration



Configure the ADSP remote processor and add a simple sound{}
node to make way for future development.

Signed-off-by: default avatarKonrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210728222542.54269-18-konrad.dybcio@somainline.org


Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
parent 3332c596
Loading
Loading
Loading
Loading
+83 −0
Original line number Diff line number Diff line
@@ -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>;
@@ -1709,6 +1710,85 @@
			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>;
@@ -1808,6 +1888,9 @@
		#hwlock-cells = <1>;
	};

	sound: sound {
	};

	thermal-zones {
		aoss-thermal {
			polling-delay-passive = <250>;