Commit 177fcf0a authored by Vinod Koul's avatar Vinod Koul Committed by Bjorn Andersson
Browse files

arm64: dts: qcom: sm8350: Add remoteprocs



Add remoteproc nodes for the audio, compute and sensor cores, define
glink for each one.

Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
Link: https://lore.kernel.org/r/20210212115532.1339942-6-vkoul@kernel.org


[bjorn: Replaced rpmhpd defines with constants, for now]
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
parent 03a41991
Loading
Loading
Loading
Loading
+158 −0
Original line number Diff line number Diff line
@@ -561,6 +561,46 @@
			#hwlock-cells = <1>;
		};

		mpss: remoteproc@4080000 {
			compatible = "qcom,sm8350-mpss-pas";
			reg = <0x0 0x04080000 0x0 0x4040>;

			interrupts-extended = <&intc GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>,
					      <&smp2p_modem_in 0 IRQ_TYPE_EDGE_RISING>,
					      <&smp2p_modem_in 1 IRQ_TYPE_EDGE_RISING>,
					      <&smp2p_modem_in 2 IRQ_TYPE_EDGE_RISING>,
					      <&smp2p_modem_in 3 IRQ_TYPE_EDGE_RISING>,
					      <&smp2p_modem_in 7 IRQ_TYPE_EDGE_RISING>;
			interrupt-names = "wdog", "fatal", "ready", "handover",
					  "stop-ack", "shutdown-ack";

			clocks = <&rpmhcc RPMH_CXO_CLK>;
			clock-names = "xo";

			power-domains = <&aoss_qmp AOSS_QMP_LS_MODEM>,
					<&rpmhpd 0>,
					<&rpmhpd 12>;
			power-domain-names = "load_state", "cx", "mss";

			memory-region = <&pil_modem_mem>;

			qcom,smem-states = <&smp2p_modem_out 0>;
			qcom,smem-state-names = "stop";

			status = "disabled";

			glink-edge {
				interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
							     IPCC_MPROC_SIGNAL_GLINK_QMP
							     IRQ_TYPE_EDGE_RISING>;
				mboxes = <&ipcc IPCC_CLIENT_MPSS
						IPCC_MPROC_SIGNAL_GLINK_QMP>;
				interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
				label = "modem";
				qcom,remote-pid = <1>;
			};
		};

		pdc: interrupt-controller@b220000 {
			compatible = "qcom,sm8350-pdc", "qcom,pdc";
			reg = <0 0x0b220000 0 0x30000>, <0 0x17c000f0 0 0x60>;
@@ -823,6 +863,85 @@
			};
		};

		slpi: remoteproc@5c00000 {
			compatible = "qcom,sm8350-slpi-pas";
			reg = <0 0x05c00000 0 0x4000>;

			interrupts-extended = <&pdc 9 IRQ_TYPE_LEVEL_HIGH>,
					      <&smp2p_slpi_in 0 IRQ_TYPE_EDGE_RISING>,
					      <&smp2p_slpi_in 1 IRQ_TYPE_EDGE_RISING>,
					      <&smp2p_slpi_in 2 IRQ_TYPE_EDGE_RISING>,
					      <&smp2p_slpi_in 3 IRQ_TYPE_EDGE_RISING>;
			interrupt-names = "wdog", "fatal", "ready",
					  "handover", "stop-ack";

			clocks = <&rpmhcc RPMH_CXO_CLK>;
			clock-names = "xo";

			power-domains = <&aoss_qmp AOSS_QMP_LS_SLPI>,
					<&rpmhpd 4>,
					<&rpmhpd 5>;
			power-domain-names = "load_state", "lcx", "lmx";

			memory-region = <&pil_slpi_mem>;

			qcom,smem-states = <&smp2p_slpi_out 0>;
			qcom,smem-state-names = "stop";

			status = "disabled";

			glink-edge {
				interrupts-extended = <&ipcc IPCC_CLIENT_SLPI
							     IPCC_MPROC_SIGNAL_GLINK_QMP
							     IRQ_TYPE_EDGE_RISING>;
				mboxes = <&ipcc IPCC_CLIENT_SLPI
						IPCC_MPROC_SIGNAL_GLINK_QMP>;

				label = "slpi";
				qcom,remote-pid = <3>;

			};
		};

		cdsp: remoteproc@98900000 {
			compatible = "qcom,sm8350-cdsp-pas";
			reg = <0 0x098900000 0 0x1400000>;

			interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_LEVEL_HIGH>,
					      <&smp2p_cdsp_in 0 IRQ_TYPE_EDGE_RISING>,
					      <&smp2p_cdsp_in 1 IRQ_TYPE_EDGE_RISING>,
					      <&smp2p_cdsp_in 2 IRQ_TYPE_EDGE_RISING>,
					      <&smp2p_cdsp_in 3 IRQ_TYPE_EDGE_RISING>;
			interrupt-names = "wdog", "fatal", "ready",
					  "handover", "stop-ack";

			clocks = <&rpmhcc RPMH_CXO_CLK>;
			clock-names = "xo";

			power-domains = <&aoss_qmp AOSS_QMP_LS_CDSP>,
					<&rpmhpd 0>,
					<&rpmhpd 10>;
			power-domain-names = "load_state", "cx", "mxc";

			memory-region = <&pil_cdsp_mem>;

			qcom,smem-states = <&smp2p_cdsp_out 0>;
			qcom,smem-state-names = "stop";

			status = "disabled";

			glink-edge {
				interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
							     IPCC_MPROC_SIGNAL_GLINK_QMP
							     IRQ_TYPE_EDGE_RISING>;
				mboxes = <&ipcc IPCC_CLIENT_CDSP
						IPCC_MPROC_SIGNAL_GLINK_QMP>;

				label = "cdsp";
				qcom,remote-pid = <5>;
			};
		};

		usb_1_hsphy: phy@88e3000 {
			compatible = "qcom,sm8350-usb-hs-phy",
				     "qcom,usb-snps-hs-7nm-phy";
@@ -1001,6 +1120,45 @@
				phy-names = "usb2-phy", "usb3-phy";
			};
		};

		adsp: remoteproc@17300000 {
			compatible = "qcom,sm8350-adsp-pas";
			reg = <0 0x17300000 0 0x100>;

			interrupts-extended = <&pdc 6 IRQ_TYPE_LEVEL_HIGH>,
					      <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
					      <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
					      <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
					      <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
			interrupt-names = "wdog", "fatal", "ready",
					  "handover", "stop-ack";

			clocks = <&rpmhcc RPMH_CXO_CLK>;
			clock-names = "xo";

			power-domains = <&aoss_qmp AOSS_QMP_LS_LPASS>,
					<&rpmhpd 4>,
					<&rpmhpd 5>;
			power-domain-names = "load_state", "lcx", "lmx";

			memory-region = <&pil_adsp_mem>;

			qcom,smem-states = <&smp2p_adsp_out 0>;
			qcom,smem-state-names = "stop";

			status = "disabled";

			glink-edge {
				interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
							     IPCC_MPROC_SIGNAL_GLINK_QMP
							     IRQ_TYPE_EDGE_RISING>;
				mboxes = <&ipcc IPCC_CLIENT_LPASS
						IPCC_MPROC_SIGNAL_GLINK_QMP>;

				label = "lpass";
				qcom,remote-pid = <2>;
			};
		};
	};

	timer {