devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/5] Add the missing remoteprocs on MSM8998
@ 2019-12-18 13:22 Sibi Sankar
  2019-12-18 13:22 ` [PATCH v2 1/5] remoteproc: q6v5-mss: Remove mem clk from the active pool Sibi Sankar
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Sibi Sankar @ 2019-12-18 13:22 UTC (permalink / raw)
  To: bjorn.andersson, jhugo, robh+dt
  Cc: ohad, mark.rutland, linux-arm-msm, linux-remoteproc, devicetree,
	linux-kernel, agross, Sibi Sankar

This patch series adds support for booting the Audio, Modem and Sensor
DSPs found in Qualcomm's MSM8998 SoCs.

Patch 5: arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI
depends on RPM_SMD_XO_CLK_SRC

V2:
 * split the series according to SoC
 * gpu reserved memory size is now updated
 * addressed review comments from Jeff

Sibi Sankar (5):
  remoteproc: q6v5-mss: Remove mem clk from the active pool
  dt-bindings: remoteproc: qcom: Add ADSP and SLPI support for MSM8998
    SoC
  remoteproc: qcom: pas: Add MSM8998 ADSP and SLPI support
  arm64: dts: qcom: msm8998: Update reserved memory map
  arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes

 .../bindings/remoteproc/qcom,adsp.txt         |   7 +
 arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi     |   8 +
 arch/arm64/boot/dts/qcom/msm8998.dtsi         | 194 +++++++++++++++++-
 drivers/remoteproc/qcom_q6v5_mss.c            |   1 -
 drivers/remoteproc/qcom_q6v5_pas.c            |  32 +++
 5 files changed, 230 insertions(+), 12 deletions(-)

-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH v2 1/5] remoteproc: q6v5-mss: Remove mem clk from the active pool
  2019-12-18 13:22 [PATCH v2 0/5] Add the missing remoteprocs on MSM8998 Sibi Sankar
@ 2019-12-18 13:22 ` Sibi Sankar
  2019-12-18 13:22 ` [PATCH v2 2/5] dt-bindings: remoteproc: qcom: Add ADSP and SLPI support for MSM8998 SoC Sibi Sankar
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 12+ messages in thread
From: Sibi Sankar @ 2019-12-18 13:22 UTC (permalink / raw)
  To: bjorn.andersson, jhugo, robh+dt
  Cc: ohad, mark.rutland, linux-arm-msm, linux-remoteproc, devicetree,
	linux-kernel, agross, Sibi Sankar

Currently the mem clk is voted upon from both the active and proxy pool on
MSM8998 SoCs where only a proxy vote should suffice. Fix this by removing
mem clk from the active pool.

Fixes: 1665cbd5731fa ("remoteproc: qcom_q6v5_mss: Add support for MSM8998")
Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
---
 drivers/remoteproc/qcom_q6v5_mss.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q6v5_mss.c
index 471128a2e7239..164fc2a53ef11 100644
--- a/drivers/remoteproc/qcom_q6v5_mss.c
+++ b/drivers/remoteproc/qcom_q6v5_mss.c
@@ -1594,7 +1594,6 @@ static const struct rproc_hexagon_res msm8998_mss = {
 	.active_clk_names = (char*[]){
 			"iface",
 			"bus",
-			"mem",
 			"gpll0_mss",
 			"mnoc_axi",
 			"snoc_axi",
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH v2 2/5] dt-bindings: remoteproc: qcom: Add ADSP and SLPI support for MSM8998 SoC
  2019-12-18 13:22 [PATCH v2 0/5] Add the missing remoteprocs on MSM8998 Sibi Sankar
  2019-12-18 13:22 ` [PATCH v2 1/5] remoteproc: q6v5-mss: Remove mem clk from the active pool Sibi Sankar
@ 2019-12-18 13:22 ` Sibi Sankar
  2019-12-18 13:22 ` [PATCH v2 3/5] remoteproc: qcom: pas: Add MSM8998 ADSP and SLPI support Sibi Sankar
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 12+ messages in thread
From: Sibi Sankar @ 2019-12-18 13:22 UTC (permalink / raw)
  To: bjorn.andersson, jhugo, robh+dt
  Cc: ohad, mark.rutland, linux-arm-msm, linux-remoteproc, devicetree,
	linux-kernel, agross, Sibi Sankar, Rob Herring

Add ADSP and SLPI compatibles for MSM8998 SoC.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
---
 Documentation/devicetree/bindings/remoteproc/qcom,adsp.txt | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.txt b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.txt
index a54465d938f64..9938918b2fea3 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.txt
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.txt
@@ -10,6 +10,8 @@ on the Qualcomm ADSP Hexagon core.
 		    "qcom,msm8974-adsp-pil"
 		    "qcom,msm8996-adsp-pil"
 		    "qcom,msm8996-slpi-pil"
+		    "qcom,msm8998-adsp-pas"
+		    "qcom,msm8998-slpi-pas"
 		    "qcom,qcs404-adsp-pas"
 		    "qcom,qcs404-cdsp-pas"
 		    "qcom,qcs404-wcss-pas"
@@ -33,6 +35,8 @@ on the Qualcomm ADSP Hexagon core.
 	qcom,msm8974-adsp-pil:
 	qcom,msm8996-adsp-pil:
 	qcom,msm8996-slpi-pil:
+	qcom,msm8998-adsp-pas:
+	qcom,msm8998-slpi-pas:
 	qcom,qcs404-adsp-pas:
 	qcom,qcs404-cdsp-pas:
 	qcom,sdm845-adsp-pas:
@@ -86,9 +90,12 @@ on the Qualcomm ADSP Hexagon core.
 	Definition: The power-domains needed depend on the compatible string:
 	qcom,msm8974-adsp-pil:
 	qcom,msm8996-adsp-pil:
+	qcom,msm8998-adsp-pas:
 		    must be "cx"
 	qcom,msm8996-slpi-pil:
 		    must be "ss_cx"
+	qcom,msm8998-slpi-pas:
+		    must be "ssc_cx"
 	qcom,qcs404-adsp-pas:
 		    must be "lpi_cx"
 	qcom,qcs404-cdsp-pas:
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH v2 3/5] remoteproc: qcom: pas: Add MSM8998 ADSP and SLPI support
  2019-12-18 13:22 [PATCH v2 0/5] Add the missing remoteprocs on MSM8998 Sibi Sankar
  2019-12-18 13:22 ` [PATCH v2 1/5] remoteproc: q6v5-mss: Remove mem clk from the active pool Sibi Sankar
  2019-12-18 13:22 ` [PATCH v2 2/5] dt-bindings: remoteproc: qcom: Add ADSP and SLPI support for MSM8998 SoC Sibi Sankar
@ 2019-12-18 13:22 ` Sibi Sankar
  2019-12-18 13:22 ` [PATCH v2 4/5] arm64: dts: qcom: msm8998: Update reserved memory map Sibi Sankar
  2019-12-18 13:22 ` [PATCH v2 5/5] arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes Sibi Sankar
  4 siblings, 0 replies; 12+ messages in thread
From: Sibi Sankar @ 2019-12-18 13:22 UTC (permalink / raw)
  To: bjorn.andersson, jhugo, robh+dt
  Cc: ohad, mark.rutland, linux-arm-msm, linux-remoteproc, devicetree,
	linux-kernel, agross, Sibi Sankar

Add support for booting the Audio and Sensor DSPs found in
Qualcomm's MSM8998 SoCs.

Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
---
 drivers/remoteproc/qcom_q6v5_pas.c | 32 ++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c
index b890e6e305f31..edf9d0e1a235b 100644
--- a/drivers/remoteproc/qcom_q6v5_pas.c
+++ b/drivers/remoteproc/qcom_q6v5_pas.c
@@ -499,6 +499,21 @@ static const struct adsp_data sm8150_adsp_resource = {
 		.ssctl_id = 0x14,
 };
 
+static const struct adsp_data msm8998_adsp_resource = {
+		.crash_reason_smem = 423,
+		.firmware_name = "adsp.mdt",
+		.pas_id = 1,
+		.has_aggre2_clk = false,
+		.auto_boot = true,
+		.proxy_pd_names = (char*[]){
+			"cx",
+			NULL
+		},
+		.ssr_name = "lpass",
+		.sysmon_name = "adsp",
+		.ssctl_id = 0x14,
+};
+
 static const struct adsp_data cdsp_resource_init = {
 	.crash_reason_smem = 601,
 	.firmware_name = "cdsp.mdt",
@@ -580,6 +595,21 @@ static const struct adsp_data sm8150_slpi_resource = {
 		.ssctl_id = 0x16,
 };
 
+static const struct adsp_data msm8998_slpi_resource = {
+		.crash_reason_smem = 424,
+		.firmware_name = "slpi.mdt",
+		.pas_id = 12,
+		.has_aggre2_clk = true,
+		.auto_boot = true,
+		.proxy_pd_names = (char*[]){
+			"ssc_cx",
+			NULL
+		},
+		.ssr_name = "dsps",
+		.sysmon_name = "slpi",
+		.ssctl_id = 0x16,
+};
+
 static const struct adsp_data wcss_resource_init = {
 	.crash_reason_smem = 421,
 	.firmware_name = "wcnss.mdt",
@@ -594,6 +624,8 @@ static const struct of_device_id adsp_of_match[] = {
 	{ .compatible = "qcom,msm8974-adsp-pil", .data = &adsp_resource_init},
 	{ .compatible = "qcom,msm8996-adsp-pil", .data = &adsp_resource_init},
 	{ .compatible = "qcom,msm8996-slpi-pil", .data = &slpi_resource_init},
+	{ .compatible = "qcom,msm8998-adsp-pas", .data = &msm8998_adsp_resource},
+	{ .compatible = "qcom,msm8998-slpi-pas", .data = &msm8998_slpi_resource},
 	{ .compatible = "qcom,qcs404-adsp-pas", .data = &adsp_resource_init },
 	{ .compatible = "qcom,qcs404-cdsp-pas", .data = &cdsp_resource_init },
 	{ .compatible = "qcom,qcs404-wcss-pas", .data = &wcss_resource_init },
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH v2 4/5] arm64: dts: qcom: msm8998: Update reserved memory map
  2019-12-18 13:22 [PATCH v2 0/5] Add the missing remoteprocs on MSM8998 Sibi Sankar
                   ` (2 preceding siblings ...)
  2019-12-18 13:22 ` [PATCH v2 3/5] remoteproc: qcom: pas: Add MSM8998 ADSP and SLPI support Sibi Sankar
@ 2019-12-18 13:22 ` Sibi Sankar
  2019-12-18 13:22 ` [PATCH v2 5/5] arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes Sibi Sankar
  4 siblings, 0 replies; 12+ messages in thread
From: Sibi Sankar @ 2019-12-18 13:22 UTC (permalink / raw)
  To: bjorn.andersson, jhugo, robh+dt
  Cc: ohad, mark.rutland, linux-arm-msm, linux-remoteproc, devicetree,
	linux-kernel, agross, Sibi Sankar

Update existing and add missing regions to the reserved memory map, as
described in version 7.1

Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
---
 arch/arm64/boot/dts/qcom/msm8998.dtsi | 70 ++++++++++++++++++++++-----
 1 file changed, 59 insertions(+), 11 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
index 873912c19f6ed..8d799e868a5d3 100644
--- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
@@ -29,8 +29,13 @@
 		#size-cells = <2>;
 		ranges;
 
-		memory@85800000 {
-			reg = <0x0 0x85800000 0x0 0x800000>;
+		hyp_mem: memory@85800000 {
+			reg = <0x0 0x85800000 0x0 0x600000>;
+			no-map;
+		};
+
+		xbl_mem: memory@85e00000 {
+			reg = <0x0 0x85e00000 0x0 0x100000>;
 			no-map;
 		};
 
@@ -39,25 +44,68 @@
 			no-map;
 		};
 
-		memory@86200000 {
+		tz_mem: memory@86200000 {
 			reg = <0x0 0x86200000 0x0 0x2d00000>;
 			no-map;
 		};
 
-		wlan_msa_mem: memory@95700000 {
-			reg = <0x0 0x95700000 0x0 0x100000>;
+		rmtfs_mem: memory@88f00000 {
+			compatible = "qcom,rmtfs-mem";
+			reg = <0x0 0x88f00000 0x0 0x200000>;
 			no-map;
+
+			qcom,client-id = <1>;
+			qcom,vmid = <15>;
 		};
 
-		rmtfs {
-			compatible = "qcom,rmtfs-mem";
+		spss_mem: memory@8ab00000 {
+			reg = <0x0 0x8ab00000 0x0 0x700000>;
+			no-map;
+		};
 
-			size = <0x0 0x200000>;
-			alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
+		adsp_mem: memory@8b200000 {
+			reg = <0x0 0x8b200000 0x0 0x1a00000>;
 			no-map;
+		};
 
-			qcom,client-id = <1>;
-			qcom,vmid = <15>;
+		mpss_mem: memory@8cc00000 {
+			reg = <0x0 0x8cc00000 0x0 0x7000000>;
+			no-map;
+		};
+
+		venus_mem: memory@93c00000 {
+			reg = <0x0 0x93c00000 0x0 0x500000>;
+			no-map;
+		};
+
+		mba_mem: memory@94100000 {
+			reg = <0x0 0x94100000 0x0 0x200000>;
+			no-map;
+		};
+
+		slpi_mem: memory@94300000 {
+			reg = <0x0 0x94300000 0x0 0xf00000>;
+			no-map;
+		};
+
+		ipa_fw_mem: memory@95200000 {
+			reg = <0x0 0x95200000 0x0 0x10000>;
+			no-map;
+		};
+
+		ipa_gsi_mem: memory@95210000 {
+			reg = <0x0 0x95210000 0x0 0x5000>;
+			no-map;
+		};
+
+		gpu_mem: memory@95600000 {
+			reg = <0x0 0x95600000 0x0 0x100000>;
+			no-map;
+		};
+
+		wlan_msa_mem: memory@95700000 {
+			reg = <0x0 0x95700000 0x0 0x100000>;
+			no-map;
 		};
 	};
 
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH v2 5/5] arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes
  2019-12-18 13:22 [PATCH v2 0/5] Add the missing remoteprocs on MSM8998 Sibi Sankar
                   ` (3 preceding siblings ...)
  2019-12-18 13:22 ` [PATCH v2 4/5] arm64: dts: qcom: msm8998: Update reserved memory map Sibi Sankar
@ 2019-12-18 13:22 ` Sibi Sankar
  2019-12-20  6:59   ` Bjorn Andersson
  4 siblings, 1 reply; 12+ messages in thread
From: Sibi Sankar @ 2019-12-18 13:22 UTC (permalink / raw)
  To: bjorn.andersson, jhugo, robh+dt
  Cc: ohad, mark.rutland, linux-arm-msm, linux-remoteproc, devicetree,
	linux-kernel, agross, Sibi Sankar

This patch adds ADSP, MPSS and SLPI nodes for MSM8998 SoCs.

Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
---
 arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi |   8 ++
 arch/arm64/boot/dts/qcom/msm8998.dtsi     | 124 ++++++++++++++++++++++
 2 files changed, 132 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
index 6db3f9e0344d1..e87094665c52c 100644
--- a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
@@ -312,6 +312,14 @@
 	};
 };
 
+&remoteproc_adsp {
+	status = "okay";
+};
+
+&remoteproc_slpi {
+	status = "okay";
+};
+
 &tlmm {
 	gpio-reserved-ranges = <0 4>, <81 4>;
 };
diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
index 8d799e868a5d3..014127700afb0 100644
--- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
@@ -1075,6 +1075,61 @@
 			#interrupt-cells = <0x2>;
 		};
 
+		remoteproc_mss: remoteproc@4080000 {
+			compatible = "qcom,msm8998-mss-pil";
+			reg = <0x04080000 0x100>, <0x04180000 0x20>;
+			reg-names = "qdsp6", "rmb";
+
+			interrupts-extended =
+				<&intc GIC_SPI 448 IRQ_TYPE_EDGE_RISING>,
+				<&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
+				<&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
+				<&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
+				<&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
+				<&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
+			interrupt-names = "wdog", "fatal", "ready",
+					  "handover", "stop-ack",
+					  "shutdown-ack";
+
+			clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
+				 <&gcc GCC_BIMC_MSS_Q6_AXI_CLK>,
+				 <&gcc GCC_BOOT_ROM_AHB_CLK>,
+				 <&gcc GCC_MSS_GPLL0_DIV_CLK_SRC>,
+				 <&gcc GCC_MSS_SNOC_AXI_CLK>,
+				 <&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
+				 <&rpmcc RPM_SMD_QDSS_CLK>,
+				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
+			clock-names = "iface", "bus", "mem", "gpll0_mss",
+				      "snoc_axi", "mnoc_axi", "qdss", "xo";
+
+			qcom,smem-states = <&modem_smp2p_out 0>;
+			qcom,smem-state-names = "stop";
+
+			resets = <&gcc GCC_MSS_RESTART>;
+			reset-names = "mss_restart";
+
+			qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>;
+
+			power-domains = <&rpmpd MSM8998_VDDCX>,
+					<&rpmpd MSM8998_VDDMX>;
+			power-domain-names = "cx", "mx";
+
+			mba {
+				memory-region = <&mba_mem>;
+			};
+
+			mpss {
+				memory-region = <&mpss_mem>;
+			};
+
+			glink-edge {
+				interrupts = <GIC_SPI 452 IRQ_TYPE_EDGE_RISING>;
+				label = "modem";
+				qcom,remote-pid = <1>;
+				mboxes = <&apcs_glb 15>;
+			};
+		};
+
 		gpucc: clock-controller@5065000 {
 			compatible = "qcom,msm8998-gpucc";
 			#clock-cells = <1>;
@@ -1088,6 +1143,42 @@
 				      "gpll0";
 		};
 
+		remoteproc_slpi: remoteproc@5800000 {
+			compatible = "qcom,msm8998-slpi-pas";
+			reg = <0x05800000 0x4040>;
+
+			interrupts-extended = <&intc GIC_SPI 390 IRQ_TYPE_EDGE_RISING>,
+					      <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
+					      <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
+					      <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
+					      <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
+			interrupt-names = "wdog", "fatal", "ready",
+					  "handover", "stop-ack";
+
+			px-supply = <&vreg_lvs2a_1p8>;
+
+			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
+				 <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
+			clock-names = "xo", "aggre2";
+
+			memory-region = <&slpi_mem>;
+
+			qcom,smem-states = <&slpi_smp2p_out 0>;
+			qcom,smem-state-names = "stop";
+
+			power-domains = <&rpmpd MSM8998_SSCCX>;
+			power-domain-names = "ssc_cx";
+
+			status = "disabled";
+
+			glink-edge {
+				interrupts = <GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
+				label = "dsps";
+				qcom,remote-pid = <3>;
+				mboxes = <&apcs_glb 27>;
+			};
+		};
+
 		stm: stm@6002000 {
 			compatible = "arm,coresight-stm", "arm,primecell";
 			reg = <0x06002000 0x1000>,
@@ -1880,6 +1971,39 @@
 			#size-cells = <0>;
 		};
 
+		remoteproc_adsp: remoteproc@17300000 {
+			compatible = "qcom,msm8998-adsp-pas";
+			reg = <0x17300000 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_mem>;
+
+			qcom,smem-states = <&adsp_smp2p_out 0>;
+			qcom,smem-state-names = "stop";
+
+			power-domains = <&rpmpd MSM8998_VDDCX>;
+			power-domain-names = "cx";
+
+			status = "disabled";
+
+			glink-edge {
+				interrupts = <GIC_SPI 157 IRQ_TYPE_EDGE_RISING>;
+				label = "lpass";
+				qcom,remote-pid = <2>;
+				mboxes = <&apcs_glb 9>;
+			};
+		};
+
 		apcs_glb: mailbox@17911000 {
 			compatible = "qcom,msm8998-apcs-hmss-global";
 			reg = <0x17911000 0x1000>;
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 5/5] arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes
  2019-12-18 13:22 ` [PATCH v2 5/5] arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes Sibi Sankar
@ 2019-12-20  6:59   ` Bjorn Andersson
  2019-12-20 14:33     ` Jeffrey Hugo
  0 siblings, 1 reply; 12+ messages in thread
From: Bjorn Andersson @ 2019-12-20  6:59 UTC (permalink / raw)
  To: Sibi Sankar
  Cc: jhugo, robh+dt, ohad, mark.rutland, linux-arm-msm,
	linux-remoteproc, devicetree, linux-kernel, agross

On Wed 18 Dec 05:22 PST 2019, Sibi Sankar wrote:

> This patch adds ADSP, MPSS and SLPI nodes for MSM8998 SoCs.
> 
> Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
> ---
>  arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi |   8 ++
>  arch/arm64/boot/dts/qcom/msm8998.dtsi     | 124 ++++++++++++++++++++++
>  2 files changed, 132 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> index 6db3f9e0344d1..e87094665c52c 100644
> --- a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> @@ -312,6 +312,14 @@
>  	};
>  };
>  
> +&remoteproc_adsp {
> +	status = "okay";
> +};
> +
> +&remoteproc_slpi {
> +	status = "okay";
> +};
> +
>  &tlmm {
>  	gpio-reserved-ranges = <0 4>, <81 4>;
>  };
> diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> index 8d799e868a5d3..014127700afb0 100644
> --- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> @@ -1075,6 +1075,61 @@
>  			#interrupt-cells = <0x2>;
>  		};
>  
> +		remoteproc_mss: remoteproc@4080000 {
> +			compatible = "qcom,msm8998-mss-pil";
> +			reg = <0x04080000 0x100>, <0x04180000 0x20>;
> +			reg-names = "qdsp6", "rmb";
> +
> +			interrupts-extended =
> +				<&intc GIC_SPI 448 IRQ_TYPE_EDGE_RISING>,
> +				<&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> +				<&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
> +				<&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
> +				<&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
> +				<&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
> +			interrupt-names = "wdog", "fatal", "ready",
> +					  "handover", "stop-ack",
> +					  "shutdown-ack";
> +
> +			clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
> +				 <&gcc GCC_BIMC_MSS_Q6_AXI_CLK>,
> +				 <&gcc GCC_BOOT_ROM_AHB_CLK>,
> +				 <&gcc GCC_MSS_GPLL0_DIV_CLK_SRC>,
> +				 <&gcc GCC_MSS_SNOC_AXI_CLK>,
> +				 <&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
> +				 <&rpmcc RPM_SMD_QDSS_CLK>,
> +				 <&rpmcc RPM_SMD_XO_CLK_SRC>;

RPM_SMD_XO_CLK_SRC doesn't seem to be implemented...

I did pull in a patch from Jeff that defines it, but when I boot the
modem I see the following error repeatedly:

[  616.632227] qcom-q6v5-mss 4080000.remoteproc: fatal error received: dog_hb.c:266:DOG_HB detects starvation of task 0xda172640, triage with its own



All the qrtr services seems registered nicely, so the remote does come
up before it goes down.

Also, adsp comes up nicely.

Regards,
Bjorn

> +			clock-names = "iface", "bus", "mem", "gpll0_mss",
> +				      "snoc_axi", "mnoc_axi", "qdss", "xo";
> +
> +			qcom,smem-states = <&modem_smp2p_out 0>;
> +			qcom,smem-state-names = "stop";
> +
> +			resets = <&gcc GCC_MSS_RESTART>;
> +			reset-names = "mss_restart";
> +
> +			qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>;
> +
> +			power-domains = <&rpmpd MSM8998_VDDCX>,
> +					<&rpmpd MSM8998_VDDMX>;
> +			power-domain-names = "cx", "mx";
> +
> +			mba {
> +				memory-region = <&mba_mem>;
> +			};
> +
> +			mpss {
> +				memory-region = <&mpss_mem>;
> +			};
> +
> +			glink-edge {
> +				interrupts = <GIC_SPI 452 IRQ_TYPE_EDGE_RISING>;
> +				label = "modem";
> +				qcom,remote-pid = <1>;
> +				mboxes = <&apcs_glb 15>;
> +			};
> +		};
> +
>  		gpucc: clock-controller@5065000 {
>  			compatible = "qcom,msm8998-gpucc";
>  			#clock-cells = <1>;
> @@ -1088,6 +1143,42 @@
>  				      "gpll0";
>  		};
>  
> +		remoteproc_slpi: remoteproc@5800000 {
> +			compatible = "qcom,msm8998-slpi-pas";
> +			reg = <0x05800000 0x4040>;
> +
> +			interrupts-extended = <&intc GIC_SPI 390 IRQ_TYPE_EDGE_RISING>,
> +					      <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> +					      <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
> +					      <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
> +					      <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
> +			interrupt-names = "wdog", "fatal", "ready",
> +					  "handover", "stop-ack";
> +
> +			px-supply = <&vreg_lvs2a_1p8>;
> +
> +			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
> +				 <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
> +			clock-names = "xo", "aggre2";
> +
> +			memory-region = <&slpi_mem>;
> +
> +			qcom,smem-states = <&slpi_smp2p_out 0>;
> +			qcom,smem-state-names = "stop";
> +
> +			power-domains = <&rpmpd MSM8998_SSCCX>;
> +			power-domain-names = "ssc_cx";
> +
> +			status = "disabled";
> +
> +			glink-edge {
> +				interrupts = <GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
> +				label = "dsps";
> +				qcom,remote-pid = <3>;
> +				mboxes = <&apcs_glb 27>;
> +			};
> +		};
> +
>  		stm: stm@6002000 {
>  			compatible = "arm,coresight-stm", "arm,primecell";
>  			reg = <0x06002000 0x1000>,
> @@ -1880,6 +1971,39 @@
>  			#size-cells = <0>;
>  		};
>  
> +		remoteproc_adsp: remoteproc@17300000 {
> +			compatible = "qcom,msm8998-adsp-pas";
> +			reg = <0x17300000 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_mem>;
> +
> +			qcom,smem-states = <&adsp_smp2p_out 0>;
> +			qcom,smem-state-names = "stop";
> +
> +			power-domains = <&rpmpd MSM8998_VDDCX>;
> +			power-domain-names = "cx";
> +
> +			status = "disabled";
> +
> +			glink-edge {
> +				interrupts = <GIC_SPI 157 IRQ_TYPE_EDGE_RISING>;
> +				label = "lpass";
> +				qcom,remote-pid = <2>;
> +				mboxes = <&apcs_glb 9>;
> +			};
> +		};
> +
>  		apcs_glb: mailbox@17911000 {
>  			compatible = "qcom,msm8998-apcs-hmss-global";
>  			reg = <0x17911000 0x1000>;
> -- 
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 5/5] arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes
  2019-12-20  6:59   ` Bjorn Andersson
@ 2019-12-20 14:33     ` Jeffrey Hugo
  2019-12-20 17:05       ` Bjorn Andersson
  0 siblings, 1 reply; 12+ messages in thread
From: Jeffrey Hugo @ 2019-12-20 14:33 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Sibi Sankar, Jeffrey Hugo, Rob Herring, Ohad Ben-Cohen,
	Mark Rutland, MSM, linux-remoteproc, DTML, lkml, Andy Gross

On Fri, Dec 20, 2019 at 12:00 AM Bjorn Andersson
<bjorn.andersson@linaro.org> wrote:
>
> On Wed 18 Dec 05:22 PST 2019, Sibi Sankar wrote:
>
> > This patch adds ADSP, MPSS and SLPI nodes for MSM8998 SoCs.
> >
> > Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
> > ---
> >  arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi |   8 ++
> >  arch/arm64/boot/dts/qcom/msm8998.dtsi     | 124 ++++++++++++++++++++++
> >  2 files changed, 132 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> > index 6db3f9e0344d1..e87094665c52c 100644
> > --- a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> > @@ -312,6 +312,14 @@
> >       };
> >  };
> >
> > +&remoteproc_adsp {
> > +     status = "okay";
> > +};
> > +
> > +&remoteproc_slpi {
> > +     status = "okay";
> > +};
> > +
> >  &tlmm {
> >       gpio-reserved-ranges = <0 4>, <81 4>;
> >  };
> > diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > index 8d799e868a5d3..014127700afb0 100644
> > --- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > @@ -1075,6 +1075,61 @@
> >                       #interrupt-cells = <0x2>;
> >               };
> >
> > +             remoteproc_mss: remoteproc@4080000 {
> > +                     compatible = "qcom,msm8998-mss-pil";
> > +                     reg = <0x04080000 0x100>, <0x04180000 0x20>;
> > +                     reg-names = "qdsp6", "rmb";
> > +
> > +                     interrupts-extended =
> > +                             <&intc GIC_SPI 448 IRQ_TYPE_EDGE_RISING>,
> > +                             <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> > +                             <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
> > +                             <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
> > +                             <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
> > +                             <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
> > +                     interrupt-names = "wdog", "fatal", "ready",
> > +                                       "handover", "stop-ack",
> > +                                       "shutdown-ack";
> > +
> > +                     clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
> > +                              <&gcc GCC_BIMC_MSS_Q6_AXI_CLK>,
> > +                              <&gcc GCC_BOOT_ROM_AHB_CLK>,
> > +                              <&gcc GCC_MSS_GPLL0_DIV_CLK_SRC>,
> > +                              <&gcc GCC_MSS_SNOC_AXI_CLK>,
> > +                              <&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
> > +                              <&rpmcc RPM_SMD_QDSS_CLK>,
> > +                              <&rpmcc RPM_SMD_XO_CLK_SRC>;
>
> RPM_SMD_XO_CLK_SRC doesn't seem to be implemented...
>
> I did pull in a patch from Jeff that defines it, but when I boot the
> modem I see the following error repeatedly:

Yeah, we need to figure out a solution for rpmcc to actually provide
this since the previous N solutions were not acceptable.  Its on my
todo list to look into in Jan.  However, I really think the DT should
be defined this way, since it replicates the hardware config.

>
> [  616.632227] qcom-q6v5-mss 4080000.remoteproc: fatal error received: dog_hb.c:266:DOG_HB detects starvation of task 0xda172640, triage with its own

Maybe the BIMC fix will address this?

>
>
>
> All the qrtr services seems registered nicely, so the remote does come
> up before it goes down.
>
> Also, adsp comes up nicely.
>
> Regards,
> Bjorn
>
> > +                     clock-names = "iface", "bus", "mem", "gpll0_mss",
> > +                                   "snoc_axi", "mnoc_axi", "qdss", "xo";
> > +
> > +                     qcom,smem-states = <&modem_smp2p_out 0>;
> > +                     qcom,smem-state-names = "stop";
> > +
> > +                     resets = <&gcc GCC_MSS_RESTART>;
> > +                     reset-names = "mss_restart";
> > +
> > +                     qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>;
> > +
> > +                     power-domains = <&rpmpd MSM8998_VDDCX>,
> > +                                     <&rpmpd MSM8998_VDDMX>;
> > +                     power-domain-names = "cx", "mx";
> > +
> > +                     mba {
> > +                             memory-region = <&mba_mem>;
> > +                     };
> > +
> > +                     mpss {
> > +                             memory-region = <&mpss_mem>;
> > +                     };
> > +
> > +                     glink-edge {
> > +                             interrupts = <GIC_SPI 452 IRQ_TYPE_EDGE_RISING>;
> > +                             label = "modem";
> > +                             qcom,remote-pid = <1>;
> > +                             mboxes = <&apcs_glb 15>;
> > +                     };
> > +             };
> > +
> >               gpucc: clock-controller@5065000 {
> >                       compatible = "qcom,msm8998-gpucc";
> >                       #clock-cells = <1>;
> > @@ -1088,6 +1143,42 @@
> >                                     "gpll0";
> >               };
> >
> > +             remoteproc_slpi: remoteproc@5800000 {
> > +                     compatible = "qcom,msm8998-slpi-pas";
> > +                     reg = <0x05800000 0x4040>;
> > +
> > +                     interrupts-extended = <&intc GIC_SPI 390 IRQ_TYPE_EDGE_RISING>,
> > +                                           <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> > +                                           <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
> > +                                           <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
> > +                                           <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
> > +                     interrupt-names = "wdog", "fatal", "ready",
> > +                                       "handover", "stop-ack";
> > +
> > +                     px-supply = <&vreg_lvs2a_1p8>;
> > +
> > +                     clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
> > +                              <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
> > +                     clock-names = "xo", "aggre2";
> > +
> > +                     memory-region = <&slpi_mem>;
> > +
> > +                     qcom,smem-states = <&slpi_smp2p_out 0>;
> > +                     qcom,smem-state-names = "stop";
> > +
> > +                     power-domains = <&rpmpd MSM8998_SSCCX>;
> > +                     power-domain-names = "ssc_cx";
> > +
> > +                     status = "disabled";
> > +
> > +                     glink-edge {
> > +                             interrupts = <GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
> > +                             label = "dsps";
> > +                             qcom,remote-pid = <3>;
> > +                             mboxes = <&apcs_glb 27>;
> > +                     };
> > +             };
> > +
> >               stm: stm@6002000 {
> >                       compatible = "arm,coresight-stm", "arm,primecell";
> >                       reg = <0x06002000 0x1000>,
> > @@ -1880,6 +1971,39 @@
> >                       #size-cells = <0>;
> >               };
> >
> > +             remoteproc_adsp: remoteproc@17300000 {
> > +                     compatible = "qcom,msm8998-adsp-pas";
> > +                     reg = <0x17300000 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_mem>;
> > +
> > +                     qcom,smem-states = <&adsp_smp2p_out 0>;
> > +                     qcom,smem-state-names = "stop";
> > +
> > +                     power-domains = <&rpmpd MSM8998_VDDCX>;
> > +                     power-domain-names = "cx";
> > +
> > +                     status = "disabled";
> > +
> > +                     glink-edge {
> > +                             interrupts = <GIC_SPI 157 IRQ_TYPE_EDGE_RISING>;
> > +                             label = "lpass";
> > +                             qcom,remote-pid = <2>;
> > +                             mboxes = <&apcs_glb 9>;
> > +                     };
> > +             };
> > +
> >               apcs_glb: mailbox@17911000 {
> >                       compatible = "qcom,msm8998-apcs-hmss-global";
> >                       reg = <0x17911000 0x1000>;
> > --
> > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> > a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 5/5] arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes
  2019-12-20 14:33     ` Jeffrey Hugo
@ 2019-12-20 17:05       ` Bjorn Andersson
  2019-12-20 17:10         ` Jeffrey Hugo
  0 siblings, 1 reply; 12+ messages in thread
From: Bjorn Andersson @ 2019-12-20 17:05 UTC (permalink / raw)
  To: Jeffrey Hugo
  Cc: Sibi Sankar, Jeffrey Hugo, Rob Herring, Ohad Ben-Cohen,
	Mark Rutland, MSM, linux-remoteproc, DTML, lkml, Andy Gross

On Fri 20 Dec 06:33 PST 2019, Jeffrey Hugo wrote:

> On Fri, Dec 20, 2019 at 12:00 AM Bjorn Andersson
> <bjorn.andersson@linaro.org> wrote:
> >
> > On Wed 18 Dec 05:22 PST 2019, Sibi Sankar wrote:
> >
> > > This patch adds ADSP, MPSS and SLPI nodes for MSM8998 SoCs.
> > >
> > > Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
> > > ---
> > >  arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi |   8 ++
> > >  arch/arm64/boot/dts/qcom/msm8998.dtsi     | 124 ++++++++++++++++++++++
> > >  2 files changed, 132 insertions(+)
> > >
> > > diff --git a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> > > index 6db3f9e0344d1..e87094665c52c 100644
> > > --- a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> > > +++ b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> > > @@ -312,6 +312,14 @@
> > >       };
> > >  };
> > >
> > > +&remoteproc_adsp {
> > > +     status = "okay";
> > > +};
> > > +
> > > +&remoteproc_slpi {
> > > +     status = "okay";
> > > +};
> > > +
> > >  &tlmm {
> > >       gpio-reserved-ranges = <0 4>, <81 4>;
> > >  };
> > > diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > > index 8d799e868a5d3..014127700afb0 100644
> > > --- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > > +++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > > @@ -1075,6 +1075,61 @@
> > >                       #interrupt-cells = <0x2>;
> > >               };
> > >
> > > +             remoteproc_mss: remoteproc@4080000 {
> > > +                     compatible = "qcom,msm8998-mss-pil";
> > > +                     reg = <0x04080000 0x100>, <0x04180000 0x20>;
> > > +                     reg-names = "qdsp6", "rmb";
> > > +
> > > +                     interrupts-extended =
> > > +                             <&intc GIC_SPI 448 IRQ_TYPE_EDGE_RISING>,
> > > +                             <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> > > +                             <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
> > > +                             <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
> > > +                             <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
> > > +                             <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
> > > +                     interrupt-names = "wdog", "fatal", "ready",
> > > +                                       "handover", "stop-ack",
> > > +                                       "shutdown-ack";
> > > +
> > > +                     clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
> > > +                              <&gcc GCC_BIMC_MSS_Q6_AXI_CLK>,
> > > +                              <&gcc GCC_BOOT_ROM_AHB_CLK>,
> > > +                              <&gcc GCC_MSS_GPLL0_DIV_CLK_SRC>,
> > > +                              <&gcc GCC_MSS_SNOC_AXI_CLK>,
> > > +                              <&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
> > > +                              <&rpmcc RPM_SMD_QDSS_CLK>,
> > > +                              <&rpmcc RPM_SMD_XO_CLK_SRC>;
> >
> > RPM_SMD_XO_CLK_SRC doesn't seem to be implemented...
> >
> > I did pull in a patch from Jeff that defines it, but when I boot the
> > modem I see the following error repeatedly:
> 
> Yeah, we need to figure out a solution for rpmcc to actually provide
> this since the previous N solutions were not acceptable.  Its on my
> todo list to look into in Jan.  However, I really think the DT should
> be defined this way, since it replicates the hardware config.
> 

I presume you can't rely on parent_data due to issues before rpmcc has
probed properly?

Not sure what to do about that, perhaps we can stop-gap by adding the
new clock and setting up the DT, and then swing back to wiring it up
internally in gcc later?

> >
> > [  616.632227] qcom-q6v5-mss 4080000.remoteproc: fatal error received: dog_hb.c:266:DOG_HB detects starvation of task 0xda172640, triage with its own
> 
> Maybe the BIMC fix will address this?
> 

Just applying "clk: qcom: smd: Add missing bimc clock" did not change
things.

So just to be clear, I'm testing this with the following patches on top
of linux-next:

clk: qcom: smd: Add missing bimc clock
clk: qcom: smd: Add XO clock for MSM8998
arm64: dts: msm8998: Add xo clock to gcc node
arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes
arm64: dts: qcom: msm8998: Update reserved memory map
remoteproc: qcom: pas: Add MSM8998 ADSP and SLPI support
dt-bindings: remoteproc: qcom: Add ADSP and SLPI support for MSM8998 SoC
remoteproc: q6v5-mss: Remove mem clk from the active pool
phy: qcom-qmp: Add optional SW reset
phy: qcom-qmp: Increase the phy init timeout

Regards,
Bjorn

> >
> >
> >
> > All the qrtr services seems registered nicely, so the remote does come
> > up before it goes down.
> >
> > Also, adsp comes up nicely.
> >
> > Regards,
> > Bjorn
> >
> > > +                     clock-names = "iface", "bus", "mem", "gpll0_mss",
> > > +                                   "snoc_axi", "mnoc_axi", "qdss", "xo";
> > > +
> > > +                     qcom,smem-states = <&modem_smp2p_out 0>;
> > > +                     qcom,smem-state-names = "stop";
> > > +
> > > +                     resets = <&gcc GCC_MSS_RESTART>;
> > > +                     reset-names = "mss_restart";
> > > +
> > > +                     qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>;
> > > +
> > > +                     power-domains = <&rpmpd MSM8998_VDDCX>,
> > > +                                     <&rpmpd MSM8998_VDDMX>;
> > > +                     power-domain-names = "cx", "mx";
> > > +
> > > +                     mba {
> > > +                             memory-region = <&mba_mem>;
> > > +                     };
> > > +
> > > +                     mpss {
> > > +                             memory-region = <&mpss_mem>;
> > > +                     };
> > > +
> > > +                     glink-edge {
> > > +                             interrupts = <GIC_SPI 452 IRQ_TYPE_EDGE_RISING>;
> > > +                             label = "modem";
> > > +                             qcom,remote-pid = <1>;
> > > +                             mboxes = <&apcs_glb 15>;
> > > +                     };
> > > +             };
> > > +
> > >               gpucc: clock-controller@5065000 {
> > >                       compatible = "qcom,msm8998-gpucc";
> > >                       #clock-cells = <1>;
> > > @@ -1088,6 +1143,42 @@
> > >                                     "gpll0";
> > >               };
> > >
> > > +             remoteproc_slpi: remoteproc@5800000 {
> > > +                     compatible = "qcom,msm8998-slpi-pas";
> > > +                     reg = <0x05800000 0x4040>;
> > > +
> > > +                     interrupts-extended = <&intc GIC_SPI 390 IRQ_TYPE_EDGE_RISING>,
> > > +                                           <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> > > +                                           <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
> > > +                                           <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
> > > +                                           <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
> > > +                     interrupt-names = "wdog", "fatal", "ready",
> > > +                                       "handover", "stop-ack";
> > > +
> > > +                     px-supply = <&vreg_lvs2a_1p8>;
> > > +
> > > +                     clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
> > > +                              <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
> > > +                     clock-names = "xo", "aggre2";
> > > +
> > > +                     memory-region = <&slpi_mem>;
> > > +
> > > +                     qcom,smem-states = <&slpi_smp2p_out 0>;
> > > +                     qcom,smem-state-names = "stop";
> > > +
> > > +                     power-domains = <&rpmpd MSM8998_SSCCX>;
> > > +                     power-domain-names = "ssc_cx";
> > > +
> > > +                     status = "disabled";
> > > +
> > > +                     glink-edge {
> > > +                             interrupts = <GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
> > > +                             label = "dsps";
> > > +                             qcom,remote-pid = <3>;
> > > +                             mboxes = <&apcs_glb 27>;
> > > +                     };
> > > +             };
> > > +
> > >               stm: stm@6002000 {
> > >                       compatible = "arm,coresight-stm", "arm,primecell";
> > >                       reg = <0x06002000 0x1000>,
> > > @@ -1880,6 +1971,39 @@
> > >                       #size-cells = <0>;
> > >               };
> > >
> > > +             remoteproc_adsp: remoteproc@17300000 {
> > > +                     compatible = "qcom,msm8998-adsp-pas";
> > > +                     reg = <0x17300000 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_mem>;
> > > +
> > > +                     qcom,smem-states = <&adsp_smp2p_out 0>;
> > > +                     qcom,smem-state-names = "stop";
> > > +
> > > +                     power-domains = <&rpmpd MSM8998_VDDCX>;
> > > +                     power-domain-names = "cx";
> > > +
> > > +                     status = "disabled";
> > > +
> > > +                     glink-edge {
> > > +                             interrupts = <GIC_SPI 157 IRQ_TYPE_EDGE_RISING>;
> > > +                             label = "lpass";
> > > +                             qcom,remote-pid = <2>;
> > > +                             mboxes = <&apcs_glb 9>;
> > > +                     };
> > > +             };
> > > +
> > >               apcs_glb: mailbox@17911000 {
> > >                       compatible = "qcom,msm8998-apcs-hmss-global";
> > >                       reg = <0x17911000 0x1000>;
> > > --
> > > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> > > a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 5/5] arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes
  2019-12-20 17:05       ` Bjorn Andersson
@ 2019-12-20 17:10         ` Jeffrey Hugo
  2019-12-20 18:02           ` Bjorn Andersson
  0 siblings, 1 reply; 12+ messages in thread
From: Jeffrey Hugo @ 2019-12-20 17:10 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Sibi Sankar, Jeffrey Hugo, Rob Herring, Ohad Ben-Cohen,
	Mark Rutland, MSM, linux-remoteproc, DTML, lkml, Andy Gross

On Fri, Dec 20, 2019 at 10:05 AM Bjorn Andersson
<bjorn.andersson@linaro.org> wrote:
>
> On Fri 20 Dec 06:33 PST 2019, Jeffrey Hugo wrote:
>
> > On Fri, Dec 20, 2019 at 12:00 AM Bjorn Andersson
> > <bjorn.andersson@linaro.org> wrote:
> > >
> > > On Wed 18 Dec 05:22 PST 2019, Sibi Sankar wrote:
> > >
> > > > This patch adds ADSP, MPSS and SLPI nodes for MSM8998 SoCs.
> > > >
> > > > Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
> > > > ---
> > > >  arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi |   8 ++
> > > >  arch/arm64/boot/dts/qcom/msm8998.dtsi     | 124 ++++++++++++++++++++++
> > > >  2 files changed, 132 insertions(+)
> > > >
> > > > diff --git a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> > > > index 6db3f9e0344d1..e87094665c52c 100644
> > > > --- a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> > > > +++ b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> > > > @@ -312,6 +312,14 @@
> > > >       };
> > > >  };
> > > >
> > > > +&remoteproc_adsp {
> > > > +     status = "okay";
> > > > +};
> > > > +
> > > > +&remoteproc_slpi {
> > > > +     status = "okay";
> > > > +};
> > > > +
> > > >  &tlmm {
> > > >       gpio-reserved-ranges = <0 4>, <81 4>;
> > > >  };
> > > > diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > > > index 8d799e868a5d3..014127700afb0 100644
> > > > --- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > > > +++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > > > @@ -1075,6 +1075,61 @@
> > > >                       #interrupt-cells = <0x2>;
> > > >               };
> > > >
> > > > +             remoteproc_mss: remoteproc@4080000 {
> > > > +                     compatible = "qcom,msm8998-mss-pil";
> > > > +                     reg = <0x04080000 0x100>, <0x04180000 0x20>;
> > > > +                     reg-names = "qdsp6", "rmb";
> > > > +
> > > > +                     interrupts-extended =
> > > > +                             <&intc GIC_SPI 448 IRQ_TYPE_EDGE_RISING>,
> > > > +                             <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> > > > +                             <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
> > > > +                             <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
> > > > +                             <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
> > > > +                             <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
> > > > +                     interrupt-names = "wdog", "fatal", "ready",
> > > > +                                       "handover", "stop-ack",
> > > > +                                       "shutdown-ack";
> > > > +
> > > > +                     clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
> > > > +                              <&gcc GCC_BIMC_MSS_Q6_AXI_CLK>,
> > > > +                              <&gcc GCC_BOOT_ROM_AHB_CLK>,
> > > > +                              <&gcc GCC_MSS_GPLL0_DIV_CLK_SRC>,
> > > > +                              <&gcc GCC_MSS_SNOC_AXI_CLK>,
> > > > +                              <&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
> > > > +                              <&rpmcc RPM_SMD_QDSS_CLK>,
> > > > +                              <&rpmcc RPM_SMD_XO_CLK_SRC>;
> > >
> > > RPM_SMD_XO_CLK_SRC doesn't seem to be implemented...
> > >
> > > I did pull in a patch from Jeff that defines it, but when I boot the
> > > modem I see the following error repeatedly:
> >
> > Yeah, we need to figure out a solution for rpmcc to actually provide
> > this since the previous N solutions were not acceptable.  Its on my
> > todo list to look into in Jan.  However, I really think the DT should
> > be defined this way, since it replicates the hardware config.
> >
>
> I presume you can't rely on parent_data due to issues before rpmcc has
> probed properly?

I don't think so, but I need to circle back on that.

>
> Not sure what to do about that, perhaps we can stop-gap by adding the
> new clock and setting up the DT, and then swing back to wiring it up
> internally in gcc later?

The define should be there.  The DT should compile.  The issue will be
that the driver will not get the clock at runtime, which is
functionally equivalent to what we have now (in the end, modem doesnt
boot with or without this change, will boot with an out of tree
patch).  Adding the clock to rpmcc without coordinating with gcc will
cause issues in the clock framework with multiple defines of the same
clock.

>
> > >
> > > [  616.632227] qcom-q6v5-mss 4080000.remoteproc: fatal error received: dog_hb.c:266:DOG_HB detects starvation of task 0xda172640, triage with its own
> >
> > Maybe the BIMC fix will address this?
> >
>
> Just applying "clk: qcom: smd: Add missing bimc clock" did not change
> things.
>
> So just to be clear, I'm testing this with the following patches on top
> of linux-next:
>
> clk: qcom: smd: Add missing bimc clock
> clk: qcom: smd: Add XO clock for MSM8998
> arm64: dts: msm8998: Add xo clock to gcc node
> arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes
> arm64: dts: qcom: msm8998: Update reserved memory map
> remoteproc: qcom: pas: Add MSM8998 ADSP and SLPI support
> dt-bindings: remoteproc: qcom: Add ADSP and SLPI support for MSM8998 SoC
> remoteproc: q6v5-mss: Remove mem clk from the active pool
> phy: qcom-qmp: Add optional SW reset
> phy: qcom-qmp: Increase the phy init timeout
>
> Regards,
> Bjorn
>
> > >
> > >
> > >
> > > All the qrtr services seems registered nicely, so the remote does come
> > > up before it goes down.
> > >
> > > Also, adsp comes up nicely.
> > >
> > > Regards,
> > > Bjorn
> > >
> > > > +                     clock-names = "iface", "bus", "mem", "gpll0_mss",
> > > > +                                   "snoc_axi", "mnoc_axi", "qdss", "xo";
> > > > +
> > > > +                     qcom,smem-states = <&modem_smp2p_out 0>;
> > > > +                     qcom,smem-state-names = "stop";
> > > > +
> > > > +                     resets = <&gcc GCC_MSS_RESTART>;
> > > > +                     reset-names = "mss_restart";
> > > > +
> > > > +                     qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>;
> > > > +
> > > > +                     power-domains = <&rpmpd MSM8998_VDDCX>,
> > > > +                                     <&rpmpd MSM8998_VDDMX>;
> > > > +                     power-domain-names = "cx", "mx";
> > > > +
> > > > +                     mba {
> > > > +                             memory-region = <&mba_mem>;
> > > > +                     };
> > > > +
> > > > +                     mpss {
> > > > +                             memory-region = <&mpss_mem>;
> > > > +                     };
> > > > +
> > > > +                     glink-edge {
> > > > +                             interrupts = <GIC_SPI 452 IRQ_TYPE_EDGE_RISING>;
> > > > +                             label = "modem";
> > > > +                             qcom,remote-pid = <1>;
> > > > +                             mboxes = <&apcs_glb 15>;
> > > > +                     };
> > > > +             };
> > > > +
> > > >               gpucc: clock-controller@5065000 {
> > > >                       compatible = "qcom,msm8998-gpucc";
> > > >                       #clock-cells = <1>;
> > > > @@ -1088,6 +1143,42 @@
> > > >                                     "gpll0";
> > > >               };
> > > >
> > > > +             remoteproc_slpi: remoteproc@5800000 {
> > > > +                     compatible = "qcom,msm8998-slpi-pas";
> > > > +                     reg = <0x05800000 0x4040>;
> > > > +
> > > > +                     interrupts-extended = <&intc GIC_SPI 390 IRQ_TYPE_EDGE_RISING>,
> > > > +                                           <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> > > > +                                           <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
> > > > +                                           <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
> > > > +                                           <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
> > > > +                     interrupt-names = "wdog", "fatal", "ready",
> > > > +                                       "handover", "stop-ack";
> > > > +
> > > > +                     px-supply = <&vreg_lvs2a_1p8>;
> > > > +
> > > > +                     clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
> > > > +                              <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
> > > > +                     clock-names = "xo", "aggre2";
> > > > +
> > > > +                     memory-region = <&slpi_mem>;
> > > > +
> > > > +                     qcom,smem-states = <&slpi_smp2p_out 0>;
> > > > +                     qcom,smem-state-names = "stop";
> > > > +
> > > > +                     power-domains = <&rpmpd MSM8998_SSCCX>;
> > > > +                     power-domain-names = "ssc_cx";
> > > > +
> > > > +                     status = "disabled";
> > > > +
> > > > +                     glink-edge {
> > > > +                             interrupts = <GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
> > > > +                             label = "dsps";
> > > > +                             qcom,remote-pid = <3>;
> > > > +                             mboxes = <&apcs_glb 27>;
> > > > +                     };
> > > > +             };
> > > > +
> > > >               stm: stm@6002000 {
> > > >                       compatible = "arm,coresight-stm", "arm,primecell";
> > > >                       reg = <0x06002000 0x1000>,
> > > > @@ -1880,6 +1971,39 @@
> > > >                       #size-cells = <0>;
> > > >               };
> > > >
> > > > +             remoteproc_adsp: remoteproc@17300000 {
> > > > +                     compatible = "qcom,msm8998-adsp-pas";
> > > > +                     reg = <0x17300000 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_mem>;
> > > > +
> > > > +                     qcom,smem-states = <&adsp_smp2p_out 0>;
> > > > +                     qcom,smem-state-names = "stop";
> > > > +
> > > > +                     power-domains = <&rpmpd MSM8998_VDDCX>;
> > > > +                     power-domain-names = "cx";
> > > > +
> > > > +                     status = "disabled";
> > > > +
> > > > +                     glink-edge {
> > > > +                             interrupts = <GIC_SPI 157 IRQ_TYPE_EDGE_RISING>;
> > > > +                             label = "lpass";
> > > > +                             qcom,remote-pid = <2>;
> > > > +                             mboxes = <&apcs_glb 9>;
> > > > +                     };
> > > > +             };
> > > > +
> > > >               apcs_glb: mailbox@17911000 {
> > > >                       compatible = "qcom,msm8998-apcs-hmss-global";
> > > >                       reg = <0x17911000 0x1000>;
> > > > --
> > > > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> > > > a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 5/5] arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes
  2019-12-20 17:10         ` Jeffrey Hugo
@ 2019-12-20 18:02           ` Bjorn Andersson
  2019-12-20 18:04             ` Jeffrey Hugo
  0 siblings, 1 reply; 12+ messages in thread
From: Bjorn Andersson @ 2019-12-20 18:02 UTC (permalink / raw)
  To: Jeffrey Hugo
  Cc: Sibi Sankar, Jeffrey Hugo, Rob Herring, Ohad Ben-Cohen,
	Mark Rutland, MSM, linux-remoteproc, DTML, lkml, Andy Gross

On Fri 20 Dec 09:10 PST 2019, Jeffrey Hugo wrote:

> On Fri, Dec 20, 2019 at 10:05 AM Bjorn Andersson
> <bjorn.andersson@linaro.org> wrote:
> >
> > On Fri 20 Dec 06:33 PST 2019, Jeffrey Hugo wrote:
> >
> > > On Fri, Dec 20, 2019 at 12:00 AM Bjorn Andersson
> > > <bjorn.andersson@linaro.org> wrote:
> > > >
> > > > On Wed 18 Dec 05:22 PST 2019, Sibi Sankar wrote:
> > > >
> > > > > This patch adds ADSP, MPSS and SLPI nodes for MSM8998 SoCs.
> > > > >
> > > > > Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
> > > > > ---
> > > > >  arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi |   8 ++
> > > > >  arch/arm64/boot/dts/qcom/msm8998.dtsi     | 124 ++++++++++++++++++++++
> > > > >  2 files changed, 132 insertions(+)
> > > > >
> > > > > diff --git a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> > > > > index 6db3f9e0344d1..e87094665c52c 100644
> > > > > --- a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> > > > > +++ b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> > > > > @@ -312,6 +312,14 @@
> > > > >       };
> > > > >  };
> > > > >
> > > > > +&remoteproc_adsp {
> > > > > +     status = "okay";
> > > > > +};
> > > > > +
> > > > > +&remoteproc_slpi {
> > > > > +     status = "okay";
> > > > > +};
> > > > > +
> > > > >  &tlmm {
> > > > >       gpio-reserved-ranges = <0 4>, <81 4>;
> > > > >  };
> > > > > diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > > > > index 8d799e868a5d3..014127700afb0 100644
> > > > > --- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > > > > +++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > > > > @@ -1075,6 +1075,61 @@
> > > > >                       #interrupt-cells = <0x2>;
> > > > >               };
> > > > >
> > > > > +             remoteproc_mss: remoteproc@4080000 {
> > > > > +                     compatible = "qcom,msm8998-mss-pil";
> > > > > +                     reg = <0x04080000 0x100>, <0x04180000 0x20>;
> > > > > +                     reg-names = "qdsp6", "rmb";
> > > > > +
> > > > > +                     interrupts-extended =
> > > > > +                             <&intc GIC_SPI 448 IRQ_TYPE_EDGE_RISING>,
> > > > > +                             <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> > > > > +                             <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
> > > > > +                             <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
> > > > > +                             <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
> > > > > +                             <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
> > > > > +                     interrupt-names = "wdog", "fatal", "ready",
> > > > > +                                       "handover", "stop-ack",
> > > > > +                                       "shutdown-ack";
> > > > > +
> > > > > +                     clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
> > > > > +                              <&gcc GCC_BIMC_MSS_Q6_AXI_CLK>,
> > > > > +                              <&gcc GCC_BOOT_ROM_AHB_CLK>,
> > > > > +                              <&gcc GCC_MSS_GPLL0_DIV_CLK_SRC>,
> > > > > +                              <&gcc GCC_MSS_SNOC_AXI_CLK>,
> > > > > +                              <&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
> > > > > +                              <&rpmcc RPM_SMD_QDSS_CLK>,
> > > > > +                              <&rpmcc RPM_SMD_XO_CLK_SRC>;
> > > >
> > > > RPM_SMD_XO_CLK_SRC doesn't seem to be implemented...
> > > >
> > > > I did pull in a patch from Jeff that defines it, but when I boot the
> > > > modem I see the following error repeatedly:
> > >
> > > Yeah, we need to figure out a solution for rpmcc to actually provide
> > > this since the previous N solutions were not acceptable.  Its on my
> > > todo list to look into in Jan.  However, I really think the DT should
> > > be defined this way, since it replicates the hardware config.
> > >
> >
> > I presume you can't rely on parent_data due to issues before rpmcc has
> > probed properly?
> 
> I don't think so, but I need to circle back on that.
> 
> >
> > Not sure what to do about that, perhaps we can stop-gap by adding the
> > new clock and setting up the DT, and then swing back to wiring it up
> > internally in gcc later?
> 
> The define should be there.  The DT should compile.  The issue will be
> that the driver will not get the clock at runtime, which is
> functionally equivalent to what we have now (in the end, modem doesnt
> boot with or without this change, will boot with an out of tree
> patch).  Adding the clock to rpmcc without coordinating with gcc will
> cause issues in the clock framework with multiple defines of the same
> clock.
> 

Yeah, it compiles and boots. I just wasn't able to conclude that the
patches where working properly.

But, I found another email from Sibi regarding the starvation reported,
it turns out that this version of the modem firmware requires diag to be
present. So after launching diag-router the modem is up and running.


As such, I've merged the series. Let's try to figure out the clock
situation to make it functional out of the box.

Regards,
Bjorn

> >
> > > >
> > > > [  616.632227] qcom-q6v5-mss 4080000.remoteproc: fatal error received: dog_hb.c:266:DOG_HB detects starvation of task 0xda172640, triage with its own
> > >
> > > Maybe the BIMC fix will address this?
> > >
> >
> > Just applying "clk: qcom: smd: Add missing bimc clock" did not change
> > things.
> >
> > So just to be clear, I'm testing this with the following patches on top
> > of linux-next:
> >
> > clk: qcom: smd: Add missing bimc clock
> > clk: qcom: smd: Add XO clock for MSM8998
> > arm64: dts: msm8998: Add xo clock to gcc node
> > arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes
> > arm64: dts: qcom: msm8998: Update reserved memory map
> > remoteproc: qcom: pas: Add MSM8998 ADSP and SLPI support
> > dt-bindings: remoteproc: qcom: Add ADSP and SLPI support for MSM8998 SoC
> > remoteproc: q6v5-mss: Remove mem clk from the active pool
> > phy: qcom-qmp: Add optional SW reset
> > phy: qcom-qmp: Increase the phy init timeout
> >
> > Regards,
> > Bjorn
> >
> > > >
> > > >
> > > >
> > > > All the qrtr services seems registered nicely, so the remote does come
> > > > up before it goes down.
> > > >
> > > > Also, adsp comes up nicely.
> > > >
> > > > Regards,
> > > > Bjorn
> > > >
> > > > > +                     clock-names = "iface", "bus", "mem", "gpll0_mss",
> > > > > +                                   "snoc_axi", "mnoc_axi", "qdss", "xo";
> > > > > +
> > > > > +                     qcom,smem-states = <&modem_smp2p_out 0>;
> > > > > +                     qcom,smem-state-names = "stop";
> > > > > +
> > > > > +                     resets = <&gcc GCC_MSS_RESTART>;
> > > > > +                     reset-names = "mss_restart";
> > > > > +
> > > > > +                     qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>;
> > > > > +
> > > > > +                     power-domains = <&rpmpd MSM8998_VDDCX>,
> > > > > +                                     <&rpmpd MSM8998_VDDMX>;
> > > > > +                     power-domain-names = "cx", "mx";
> > > > > +
> > > > > +                     mba {
> > > > > +                             memory-region = <&mba_mem>;
> > > > > +                     };
> > > > > +
> > > > > +                     mpss {
> > > > > +                             memory-region = <&mpss_mem>;
> > > > > +                     };
> > > > > +
> > > > > +                     glink-edge {
> > > > > +                             interrupts = <GIC_SPI 452 IRQ_TYPE_EDGE_RISING>;
> > > > > +                             label = "modem";
> > > > > +                             qcom,remote-pid = <1>;
> > > > > +                             mboxes = <&apcs_glb 15>;
> > > > > +                     };
> > > > > +             };
> > > > > +
> > > > >               gpucc: clock-controller@5065000 {
> > > > >                       compatible = "qcom,msm8998-gpucc";
> > > > >                       #clock-cells = <1>;
> > > > > @@ -1088,6 +1143,42 @@
> > > > >                                     "gpll0";
> > > > >               };
> > > > >
> > > > > +             remoteproc_slpi: remoteproc@5800000 {
> > > > > +                     compatible = "qcom,msm8998-slpi-pas";
> > > > > +                     reg = <0x05800000 0x4040>;
> > > > > +
> > > > > +                     interrupts-extended = <&intc GIC_SPI 390 IRQ_TYPE_EDGE_RISING>,
> > > > > +                                           <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> > > > > +                                           <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
> > > > > +                                           <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
> > > > > +                                           <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
> > > > > +                     interrupt-names = "wdog", "fatal", "ready",
> > > > > +                                       "handover", "stop-ack";
> > > > > +
> > > > > +                     px-supply = <&vreg_lvs2a_1p8>;
> > > > > +
> > > > > +                     clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
> > > > > +                              <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
> > > > > +                     clock-names = "xo", "aggre2";
> > > > > +
> > > > > +                     memory-region = <&slpi_mem>;
> > > > > +
> > > > > +                     qcom,smem-states = <&slpi_smp2p_out 0>;
> > > > > +                     qcom,smem-state-names = "stop";
> > > > > +
> > > > > +                     power-domains = <&rpmpd MSM8998_SSCCX>;
> > > > > +                     power-domain-names = "ssc_cx";
> > > > > +
> > > > > +                     status = "disabled";
> > > > > +
> > > > > +                     glink-edge {
> > > > > +                             interrupts = <GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
> > > > > +                             label = "dsps";
> > > > > +                             qcom,remote-pid = <3>;
> > > > > +                             mboxes = <&apcs_glb 27>;
> > > > > +                     };
> > > > > +             };
> > > > > +
> > > > >               stm: stm@6002000 {
> > > > >                       compatible = "arm,coresight-stm", "arm,primecell";
> > > > >                       reg = <0x06002000 0x1000>,
> > > > > @@ -1880,6 +1971,39 @@
> > > > >                       #size-cells = <0>;
> > > > >               };
> > > > >
> > > > > +             remoteproc_adsp: remoteproc@17300000 {
> > > > > +                     compatible = "qcom,msm8998-adsp-pas";
> > > > > +                     reg = <0x17300000 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_mem>;
> > > > > +
> > > > > +                     qcom,smem-states = <&adsp_smp2p_out 0>;
> > > > > +                     qcom,smem-state-names = "stop";
> > > > > +
> > > > > +                     power-domains = <&rpmpd MSM8998_VDDCX>;
> > > > > +                     power-domain-names = "cx";
> > > > > +
> > > > > +                     status = "disabled";
> > > > > +
> > > > > +                     glink-edge {
> > > > > +                             interrupts = <GIC_SPI 157 IRQ_TYPE_EDGE_RISING>;
> > > > > +                             label = "lpass";
> > > > > +                             qcom,remote-pid = <2>;
> > > > > +                             mboxes = <&apcs_glb 9>;
> > > > > +                     };
> > > > > +             };
> > > > > +
> > > > >               apcs_glb: mailbox@17911000 {
> > > > >                       compatible = "qcom,msm8998-apcs-hmss-global";
> > > > >                       reg = <0x17911000 0x1000>;
> > > > > --
> > > > > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> > > > > a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 5/5] arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes
  2019-12-20 18:02           ` Bjorn Andersson
@ 2019-12-20 18:04             ` Jeffrey Hugo
  0 siblings, 0 replies; 12+ messages in thread
From: Jeffrey Hugo @ 2019-12-20 18:04 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Sibi Sankar, Jeffrey Hugo, Rob Herring, Ohad Ben-Cohen,
	Mark Rutland, MSM, linux-remoteproc, DTML, lkml, Andy Gross

On Fri, Dec 20, 2019 at 11:02 AM Bjorn Andersson
<bjorn.andersson@linaro.org> wrote:
>
> On Fri 20 Dec 09:10 PST 2019, Jeffrey Hugo wrote:
>
> > On Fri, Dec 20, 2019 at 10:05 AM Bjorn Andersson
> > <bjorn.andersson@linaro.org> wrote:
> > >
> > > On Fri 20 Dec 06:33 PST 2019, Jeffrey Hugo wrote:
> > >
> > > > On Fri, Dec 20, 2019 at 12:00 AM Bjorn Andersson
> > > > <bjorn.andersson@linaro.org> wrote:
> > > > >
> > > > > On Wed 18 Dec 05:22 PST 2019, Sibi Sankar wrote:
> > > > >
> > > > > > This patch adds ADSP, MPSS and SLPI nodes for MSM8998 SoCs.
> > > > > >
> > > > > > Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
> > > > > > ---
> > > > > >  arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi |   8 ++
> > > > > >  arch/arm64/boot/dts/qcom/msm8998.dtsi     | 124 ++++++++++++++++++++++
> > > > > >  2 files changed, 132 insertions(+)
> > > > > >
> > > > > > diff --git a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> > > > > > index 6db3f9e0344d1..e87094665c52c 100644
> > > > > > --- a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> > > > > > +++ b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> > > > > > @@ -312,6 +312,14 @@
> > > > > >       };
> > > > > >  };
> > > > > >
> > > > > > +&remoteproc_adsp {
> > > > > > +     status = "okay";
> > > > > > +};
> > > > > > +
> > > > > > +&remoteproc_slpi {
> > > > > > +     status = "okay";
> > > > > > +};
> > > > > > +
> > > > > >  &tlmm {
> > > > > >       gpio-reserved-ranges = <0 4>, <81 4>;
> > > > > >  };
> > > > > > diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > > > > > index 8d799e868a5d3..014127700afb0 100644
> > > > > > --- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > > > > > +++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > > > > > @@ -1075,6 +1075,61 @@
> > > > > >                       #interrupt-cells = <0x2>;
> > > > > >               };
> > > > > >
> > > > > > +             remoteproc_mss: remoteproc@4080000 {
> > > > > > +                     compatible = "qcom,msm8998-mss-pil";
> > > > > > +                     reg = <0x04080000 0x100>, <0x04180000 0x20>;
> > > > > > +                     reg-names = "qdsp6", "rmb";
> > > > > > +
> > > > > > +                     interrupts-extended =
> > > > > > +                             <&intc GIC_SPI 448 IRQ_TYPE_EDGE_RISING>,
> > > > > > +                             <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> > > > > > +                             <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
> > > > > > +                             <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
> > > > > > +                             <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
> > > > > > +                             <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
> > > > > > +                     interrupt-names = "wdog", "fatal", "ready",
> > > > > > +                                       "handover", "stop-ack",
> > > > > > +                                       "shutdown-ack";
> > > > > > +
> > > > > > +                     clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
> > > > > > +                              <&gcc GCC_BIMC_MSS_Q6_AXI_CLK>,
> > > > > > +                              <&gcc GCC_BOOT_ROM_AHB_CLK>,
> > > > > > +                              <&gcc GCC_MSS_GPLL0_DIV_CLK_SRC>,
> > > > > > +                              <&gcc GCC_MSS_SNOC_AXI_CLK>,
> > > > > > +                              <&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
> > > > > > +                              <&rpmcc RPM_SMD_QDSS_CLK>,
> > > > > > +                              <&rpmcc RPM_SMD_XO_CLK_SRC>;
> > > > >
> > > > > RPM_SMD_XO_CLK_SRC doesn't seem to be implemented...
> > > > >
> > > > > I did pull in a patch from Jeff that defines it, but when I boot the
> > > > > modem I see the following error repeatedly:
> > > >
> > > > Yeah, we need to figure out a solution for rpmcc to actually provide
> > > > this since the previous N solutions were not acceptable.  Its on my
> > > > todo list to look into in Jan.  However, I really think the DT should
> > > > be defined this way, since it replicates the hardware config.
> > > >
> > >
> > > I presume you can't rely on parent_data due to issues before rpmcc has
> > > probed properly?
> >
> > I don't think so, but I need to circle back on that.
> >
> > >
> > > Not sure what to do about that, perhaps we can stop-gap by adding the
> > > new clock and setting up the DT, and then swing back to wiring it up
> > > internally in gcc later?
> >
> > The define should be there.  The DT should compile.  The issue will be
> > that the driver will not get the clock at runtime, which is
> > functionally equivalent to what we have now (in the end, modem doesnt
> > boot with or without this change, will boot with an out of tree
> > patch).  Adding the clock to rpmcc without coordinating with gcc will
> > cause issues in the clock framework with multiple defines of the same
> > clock.
> >
>
> Yeah, it compiles and boots. I just wasn't able to conclude that the
> patches where working properly.

Ah, I see.

>
> But, I found another email from Sibi regarding the starvation reported,
> it turns out that this version of the modem firmware requires diag to be
> present. So after launching diag-router the modem is up and running.

Excellent.

>
>
> As such, I've merged the series. Let's try to figure out the clock
> situation to make it functional out of the box.

Yep, the clock situation is high on my priority list.  I very much
want things functional out of the box.

>
> Regards,
> Bjorn
>
> > >
> > > > >
> > > > > [  616.632227] qcom-q6v5-mss 4080000.remoteproc: fatal error received: dog_hb.c:266:DOG_HB detects starvation of task 0xda172640, triage with its own
> > > >
> > > > Maybe the BIMC fix will address this?
> > > >
> > >
> > > Just applying "clk: qcom: smd: Add missing bimc clock" did not change
> > > things.
> > >
> > > So just to be clear, I'm testing this with the following patches on top
> > > of linux-next:
> > >
> > > clk: qcom: smd: Add missing bimc clock
> > > clk: qcom: smd: Add XO clock for MSM8998
> > > arm64: dts: msm8998: Add xo clock to gcc node
> > > arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes
> > > arm64: dts: qcom: msm8998: Update reserved memory map
> > > remoteproc: qcom: pas: Add MSM8998 ADSP and SLPI support
> > > dt-bindings: remoteproc: qcom: Add ADSP and SLPI support for MSM8998 SoC
> > > remoteproc: q6v5-mss: Remove mem clk from the active pool
> > > phy: qcom-qmp: Add optional SW reset
> > > phy: qcom-qmp: Increase the phy init timeout
> > >
> > > Regards,
> > > Bjorn
> > >
> > > > >
> > > > >
> > > > >
> > > > > All the qrtr services seems registered nicely, so the remote does come
> > > > > up before it goes down.
> > > > >
> > > > > Also, adsp comes up nicely.
> > > > >
> > > > > Regards,
> > > > > Bjorn
> > > > >
> > > > > > +                     clock-names = "iface", "bus", "mem", "gpll0_mss",
> > > > > > +                                   "snoc_axi", "mnoc_axi", "qdss", "xo";
> > > > > > +
> > > > > > +                     qcom,smem-states = <&modem_smp2p_out 0>;
> > > > > > +                     qcom,smem-state-names = "stop";
> > > > > > +
> > > > > > +                     resets = <&gcc GCC_MSS_RESTART>;
> > > > > > +                     reset-names = "mss_restart";
> > > > > > +
> > > > > > +                     qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>;
> > > > > > +
> > > > > > +                     power-domains = <&rpmpd MSM8998_VDDCX>,
> > > > > > +                                     <&rpmpd MSM8998_VDDMX>;
> > > > > > +                     power-domain-names = "cx", "mx";
> > > > > > +
> > > > > > +                     mba {
> > > > > > +                             memory-region = <&mba_mem>;
> > > > > > +                     };
> > > > > > +
> > > > > > +                     mpss {
> > > > > > +                             memory-region = <&mpss_mem>;
> > > > > > +                     };
> > > > > > +
> > > > > > +                     glink-edge {
> > > > > > +                             interrupts = <GIC_SPI 452 IRQ_TYPE_EDGE_RISING>;
> > > > > > +                             label = "modem";
> > > > > > +                             qcom,remote-pid = <1>;
> > > > > > +                             mboxes = <&apcs_glb 15>;
> > > > > > +                     };
> > > > > > +             };
> > > > > > +
> > > > > >               gpucc: clock-controller@5065000 {
> > > > > >                       compatible = "qcom,msm8998-gpucc";
> > > > > >                       #clock-cells = <1>;
> > > > > > @@ -1088,6 +1143,42 @@
> > > > > >                                     "gpll0";
> > > > > >               };
> > > > > >
> > > > > > +             remoteproc_slpi: remoteproc@5800000 {
> > > > > > +                     compatible = "qcom,msm8998-slpi-pas";
> > > > > > +                     reg = <0x05800000 0x4040>;
> > > > > > +
> > > > > > +                     interrupts-extended = <&intc GIC_SPI 390 IRQ_TYPE_EDGE_RISING>,
> > > > > > +                                           <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> > > > > > +                                           <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
> > > > > > +                                           <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
> > > > > > +                                           <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
> > > > > > +                     interrupt-names = "wdog", "fatal", "ready",
> > > > > > +                                       "handover", "stop-ack";
> > > > > > +
> > > > > > +                     px-supply = <&vreg_lvs2a_1p8>;
> > > > > > +
> > > > > > +                     clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
> > > > > > +                              <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
> > > > > > +                     clock-names = "xo", "aggre2";
> > > > > > +
> > > > > > +                     memory-region = <&slpi_mem>;
> > > > > > +
> > > > > > +                     qcom,smem-states = <&slpi_smp2p_out 0>;
> > > > > > +                     qcom,smem-state-names = "stop";
> > > > > > +
> > > > > > +                     power-domains = <&rpmpd MSM8998_SSCCX>;
> > > > > > +                     power-domain-names = "ssc_cx";
> > > > > > +
> > > > > > +                     status = "disabled";
> > > > > > +
> > > > > > +                     glink-edge {
> > > > > > +                             interrupts = <GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
> > > > > > +                             label = "dsps";
> > > > > > +                             qcom,remote-pid = <3>;
> > > > > > +                             mboxes = <&apcs_glb 27>;
> > > > > > +                     };
> > > > > > +             };
> > > > > > +
> > > > > >               stm: stm@6002000 {
> > > > > >                       compatible = "arm,coresight-stm", "arm,primecell";
> > > > > >                       reg = <0x06002000 0x1000>,
> > > > > > @@ -1880,6 +1971,39 @@
> > > > > >                       #size-cells = <0>;
> > > > > >               };
> > > > > >
> > > > > > +             remoteproc_adsp: remoteproc@17300000 {
> > > > > > +                     compatible = "qcom,msm8998-adsp-pas";
> > > > > > +                     reg = <0x17300000 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_mem>;
> > > > > > +
> > > > > > +                     qcom,smem-states = <&adsp_smp2p_out 0>;
> > > > > > +                     qcom,smem-state-names = "stop";
> > > > > > +
> > > > > > +                     power-domains = <&rpmpd MSM8998_VDDCX>;
> > > > > > +                     power-domain-names = "cx";
> > > > > > +
> > > > > > +                     status = "disabled";
> > > > > > +
> > > > > > +                     glink-edge {
> > > > > > +                             interrupts = <GIC_SPI 157 IRQ_TYPE_EDGE_RISING>;
> > > > > > +                             label = "lpass";
> > > > > > +                             qcom,remote-pid = <2>;
> > > > > > +                             mboxes = <&apcs_glb 9>;
> > > > > > +                     };
> > > > > > +             };
> > > > > > +
> > > > > >               apcs_glb: mailbox@17911000 {
> > > > > >                       compatible = "qcom,msm8998-apcs-hmss-global";
> > > > > >                       reg = <0x17911000 0x1000>;
> > > > > > --
> > > > > > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> > > > > > a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-12-20 18:04 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-18 13:22 [PATCH v2 0/5] Add the missing remoteprocs on MSM8998 Sibi Sankar
2019-12-18 13:22 ` [PATCH v2 1/5] remoteproc: q6v5-mss: Remove mem clk from the active pool Sibi Sankar
2019-12-18 13:22 ` [PATCH v2 2/5] dt-bindings: remoteproc: qcom: Add ADSP and SLPI support for MSM8998 SoC Sibi Sankar
2019-12-18 13:22 ` [PATCH v2 3/5] remoteproc: qcom: pas: Add MSM8998 ADSP and SLPI support Sibi Sankar
2019-12-18 13:22 ` [PATCH v2 4/5] arm64: dts: qcom: msm8998: Update reserved memory map Sibi Sankar
2019-12-18 13:22 ` [PATCH v2 5/5] arm64: dts: qcom: msm8998: Add ADSP, MPSS and SLPI nodes Sibi Sankar
2019-12-20  6:59   ` Bjorn Andersson
2019-12-20 14:33     ` Jeffrey Hugo
2019-12-20 17:05       ` Bjorn Andersson
2019-12-20 17:10         ` Jeffrey Hugo
2019-12-20 18:02           ` Bjorn Andersson
2019-12-20 18:04             ` Jeffrey Hugo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).