Skip to contentSkip to conversation

dt-bindings: soc: qcom: Add remote-pid binding for GLINK SMEM

PATCH Superseded Sibi Sankar 2 participants 13 messages Dec 26, 2018 – Dec 28, 2018

Subsystems (4)

v3 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/8 dt-bindings: soc: qcom: Add remote-pid binding for GLINK SMEM

Add missing qcom,remote-pid dt binding required for GLINK SMEM which specifies the remote endpoint of the GLINK edge.

Fixes 2b41d6c8e696 ("dt-bindings: soc: qcom: Extend GLINK to cover

SMEM")

---

v3:
* Fixed typo

 Documentation/devicetree/bindings/soc/qcom/qcom,glink.txt | 5 +++++
 1 file changed, 5 insertions(+)
Documentation/devicetree/bindings/soc/qcom/qcom,glink.txt +5 -0
index 0b8cc533ca83..587bb1ddc8cc 100644
@@ -21,6 +21,11 @@ edge.
 	Definition: should specify the IRQ used by the remote processor to
 		    signal this processor about communication related events
 
+- qcom,remote-pid:
+	Usage: required for glink-smem
+	Value type: <u32>
+	Definition: specifies the identifier of the remote endpoint of this edge
+
 - qcom,rpm-msg-ram:
 	Usage: required for glink-rpm
 	Value type: <prop-encoded-array>
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
#1 lore raw

PATCH v3 2/8 dt-bindings: remoteproc: qcom: Add missing clocks for SDM845

Add missing clock bindings for Q6V5 MSS on SDM845 SoCs.

Fixes fb22022ff63d ("dt-bindings: remoteproc: Add Q6v5 Modem PIL

binding for SDM845")

---

v3:
* Fixup dt-binding documentation as suggested by Doug

 .../devicetree/bindings/remoteproc/qcom,q6v5.txt   | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)
Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +11 -3
index 9ff5b0309417..20dd19f9ed99 100644
@@ -39,13 +39,21 @@ on the Qualcomm Hexagon core.
 - clocks:
 	Usage: required
 	Value type: <phandle>
-	Definition: reference to the iface, bus and mem clocks to be held on
-		    behalf of the booting of the Hexagon core
+	Definition: reference to the clocks that match clock-names
 
 - clock-names:
 	Usage: required
 	Value type: <stringlist>
-	Definition: must be "iface", "bus", "mem"
+	Definition: The clocks needed depend on the compatible string:
+	qcom,ipq8074-wcss-pil:
+		    no clock names required
+	qcom,q6v5-pil:
+	qcom,msm8916-mss-pil:
+	qcom,msm8974-mss-pil:
+		    must be "iface", "bus", "mem", "xo"
+	qcom,sdm845-mss-pil:
+		    must be "xo", "prng", "iface", "bus", "mem", "gpll0_mss",
+		    "snoc_axi", "mnoc_axi"
 
 - resets:
 	Usage: required
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
maintainer
#2 lore raw

Re: [PATCH v3 2/8] dt-bindings: remoteproc: qcom: Add missing clocks for SDM845

Quoted 30 lines · Sibi Sankar

Add missing clock bindings for Q6V5 MSS on SDM845 SoCs.

Fixes fb22022ff63d ("dt-bindings: remoteproc: Add Q6v5 Modem PIL

binding for SDM845")

---

v3:
* Fixup dt-binding documentation as suggested by Doug

 .../devicetree/bindings/remoteproc/qcom,q6v5.txt   | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)
Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +1 -3
index 9ff5b0309417..20dd19f9ed99 100644
@@ -39,13 +39,21 @@ on the Qualcomm Hexagon core.
 - clocks:
 	Usage: required
 	Value type: <phandle>
-	Definition: reference to the iface, bus and mem clocks to be held on
-		    behalf of the booting of the Hexagon core
+	Definition: reference to the clocks that match clock-names
 
 - clock-names:
 	Usage: required
 	Value type: <stringlist>
-	Definition: must be "iface", "bus", "mem"

Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt on the Qualcomm Hexagon core. · line 56

Quoted 10 lines
Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +10 -0
+	Definition: The clocks needed depend on the compatible string:
+	qcom,ipq8074-wcss-pil:
+		    no clock names required
+	qcom,q6v5-pil:
+	qcom,msm8916-mss-pil:
+	qcom,msm8974-mss-pil:
+		    must be "iface", "bus", "mem", "xo"
+	qcom,sdm845-mss-pil:
+		    must be "xo", "prng", "iface", "bus", "mem", "gpll0_mss",
+		    "snoc_axi", "mnoc_axi"

Please keep the same order for the 4 clocks which are the same.

Rob

#3 lore raw

Re: [PATCH v3 2/8] dt-bindings: remoteproc: qcom: Add missing clocks for SDM845

Hi Rob,
Thanks for the review!

Quoted 28 lines · Rob Herring
Quoted 27 lines · Sibi Sankar

Add missing clock bindings for Q6V5 MSS on SDM845 SoCs.

Fixes fb22022ff63d ("dt-bindings: remoteproc: Add Q6v5 Modem PIL

binding for SDM845")

---

v3:
* Fixup dt-binding documentation as suggested by Doug

 .../devicetree/bindings/remoteproc/qcom,q6v5.txt   | 14 
+++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)
Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +1 -2
index 9ff5b0309417..20dd19f9ed99 100644
@@ -39,13 +39,21 @@ on the Qualcomm Hexagon core.
 - clocks:
 	Usage: required
 	Value type: <phandle>
-	Definition: reference to the iface, bus and mem clocks to be held on
-		    behalf of the booting of the Hexagon core
+	Definition: reference to the clocks that match clock-names
 
Quoted 16 lines
Quoted 4 lines
Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +0 -1
 - clock-names:
 	Usage: required
 	Value type: <stringlist>
-	Definition: must be "iface", "bus", "mem"

Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt on the Qualcomm Hexagon core. · line 56

Quoted 10 lines
Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +10 -0
+	Definition: The clocks needed depend on the compatible string:
+	qcom,ipq8074-wcss-pil:
+		    no clock names required
+	qcom,q6v5-pil:
+	qcom,msm8916-mss-pil:
+	qcom,msm8974-mss-pil:
+		    must be "iface", "bus", "mem", "xo"
+	qcom,sdm845-mss-pil:
+		    must be "xo", "prng", "iface", "bus", "mem", "gpll0_mss",
+		    "snoc_axi", "mnoc_axi"

Please keep the same order for the 4 clocks which are the same.

Will re-order them in the next re-spin.

Quoted 2 lines

Rob

Signature · 3 lines
-- Sibi Sankar --
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project.
#4 lore raw

PATCH v3 3/8 dt-bindings: remoteproc: qcom: Add missing clocks for MSM8996

In reply to Sibi Sankar

Add missing clock bindings for Q6V5 MSS on MSM8996 SoCs.

Fixes 9f058fa2efb1 ("remoteproc: qcom: Add support for mss remoteproc

on msm8996")

---

v3:
* Fixup dt-binding documentation as suggested by Doug

 Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt | 3 +++
 1 file changed, 3 insertions(+)
Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +3 -0
index 20dd19f9ed99..af8788783e2b 100644
@@ -51,6 +51,9 @@ on the Qualcomm Hexagon core.
 	qcom,msm8916-mss-pil:
 	qcom,msm8974-mss-pil:
 		    must be "iface", "bus", "mem", "xo"
+	qcom,msm8996-mss-pil:
+		    must be "xo", "pnoc", "qdss", "iface", "bus", "mem",
+		    "gpll0_mss_clk", "snoc_axi", "mnoc_axi"
 	qcom,sdm845-mss-pil:
 		    must be "xo", "prng", "iface", "bus", "mem", "gpll0_mss",
 		    "snoc_axi", "mnoc_axi"
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
#5 lore raw

PATCH v3 4/8 remoteproc: qcom: q6v5-mss: Add missing clocks for MSM8996

In reply to Sibi Sankar

Proxy vote for QDSS clock and remove vote on handover interrupt to provide MSS PBL with access to STM hardware registers during boot. Add "snoc_axi" and "mnoc_axi" to the active clock list.

Fixes 9f058fa2efb1 ("remoteproc: qcom: Add support for mss remoteproc

on msm8996")

---
 drivers/remoteproc/qcom_q6v5_mss.c | 3 +++
 1 file changed, 3 insertions(+)
drivers/remoteproc/qcom_q6v5_mss.c +3 -0
index 01be7314e176..2f12901dd1a7 100644
@@ -1398,6 +1398,7 @@ static const struct rproc_hexagon_res msm8996_mss = {
 	.proxy_clk_names = (char*[]){
 			"xo",
 			"pnoc",
+			"qdss",
 			NULL
 	},
 	.active_clk_names = (char*[]){
@@ -1405,6 +1406,8 @@ static const struct rproc_hexagon_res msm8996_mss = {
 			"bus",
 			"mem",
 			"gpll0_mss_clk",
+			"snoc_axi",
+			"mnoc_axi",
 			NULL
 	},
 	.need_mem_protection = true,
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
#6 lore raw

PATCH v3 5/8 dt-bindings: remoteproc: qcom: Fixup regulator dependencies

In reply to Sibi Sankar

Fixup regulator supply dependencies for Q6V5 MSS on MSM996 SoCs.

Fixes 9f058fa2efb1 ("remoteproc: qcom: Add support for mss remoteproc

on msm8996")

---

v3:
* Fixup dt-binding documentation as suggested by Doug

 .../bindings/remoteproc/qcom,q6v5.txt         | 21 +++++++++++++++++++
 1 file changed, 21 insertions(+)
Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +21 -0
index af8788783e2b..65713de70be5 100644
@@ -76,6 +76,19 @@ on the Qualcomm Hexagon core.
 		    must be "mss_restart", "pdc_reset" for the modem
 		    sub-system on SDM845 SoCs
 
+For the compatible strings below the following supplies are required:
+  "qcom,q6v5-pil"
+  "qcom,msm8916-mss-pil",
+- cx-supply:
+- mx-supply:
+- pll-supply:
+	Usage: required
+	Value type: <phandle>
+	Definition: reference to the regulators to be held on behalf of the
+		    booting of the Hexagon core
+
+For the compatible string below the following supplies are required:
+  "qcom,msm8974-mss-pil"
 - cx-supply:
 - mss-supply:
 - mx-supply:
@@ -85,6 +98,14 @@ on the Qualcomm Hexagon core.
 	Definition: reference to the regulators to be held on behalf of the
 		    booting of the Hexagon core
 
+For the compatible string below the following supplies are required:
+  "qcom,msm8996-mss-pil"
+- pll-supply:
+	Usage: required
+	Value type: <phandle>
+	Definition: reference to the regulators to be held on behalf of the
+		    booting of the Hexagon core
+
 - qcom,smem-states:
 	Usage: required
 	Value type: <phandle>
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
maintainer Reviewed-by on v3 5/8
#7 lore raw

Re: [PATCH v3 5/8] dt-bindings: remoteproc: qcom: Fixup regulator dependencies

Quoted 5 lines · Sibi Sankar

Fixup regulator supply dependencies for Q6V5 MSS on MSM996 SoCs.

Fixes 9f058fa2efb1 ("remoteproc: qcom: Add support for mss remoteproc

on msm8996")

Quoted 9 lines

---

v3:
* Fixup dt-binding documentation as suggested by Doug

 .../bindings/remoteproc/qcom,q6v5.txt         | 21 +++++++++++++++++++
 1 file changed, 21 insertions(+)
#8 lore raw

PATCH v3 6/8 remoteproc: qcom: q6v5-mss: Add missing regulator for MSM8996

In reply to Sibi Sankar

Add proxy vote for pll supply on MSM8996 SoC.

Fixes 9f058fa2efb1 ("remoteproc: qcom: Add support for mss remoteproc

on msm8996")

---
 drivers/remoteproc/qcom_q6v5_mss.c | 7 +++++++
 1 file changed, 7 insertions(+)
drivers/remoteproc/qcom_q6v5_mss.c +7 -0
index 2f12901dd1a7..f80b17b16e98 100644
@@ -1395,6 +1395,13 @@ static const struct rproc_hexagon_res sdm845_mss = {
 
 static const struct rproc_hexagon_res msm8996_mss = {
 	.hexagon_mba_image = "mba.mbn",
+	.proxy_supply = (struct qcom_mss_reg_res[]) {
+		{
+			.supply = "pll",
+			.uA = 100000,
+		},
+		{}
+	},
 	.proxy_clk_names = (char*[]){
 			"xo",
 			"pnoc",
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
#9 lore raw

PATCH v3 7/8 dt-bindings: remoteproc: qcom: Add power-domain bindings for Q6V5

In reply to Sibi Sankar

Add power-domain bindings for Q6V5 MSS on MSM8996 and SDM845 SoCs.

---

v3:
* Fixup dt-binding documentation as suggested by Doug
* Dropping Rob's Reviewed-by due to documentation style change

v2:
* Add load_state power-domain
* List cx and mx power-domains for MSM8996

 .../bindings/remoteproc/qcom,q6v5.txt         | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +19 -0
index 65713de70be5..17ecaae5e5e0 100644
@@ -106,6 +106,25 @@ For the compatible string below the following supplies are required:
 	Definition: reference to the regulators to be held on behalf of the
 		    booting of the Hexagon core
 
+- power-domains:
+	Usage: required
+	Value type: <phandle>
+	Definition: reference to power-domains that match power-domain-names
+
+- power-domain-names:
+	Usage: required
+	Value type: <stringlist>
+	Definition: The power-domains needed depend on the compatible string:
+	qcom,q6v5-pil:
+	qcom,ipq8074-wcss-pil:
+	qcom,msm8916-mss-pil:
+	qcom,msm8974-mss-pil:
+		    no power-domain names required
+	qcom,msm8996-mss-pil:
+		    must be "cx", "mx"
+	qcom,sdm845-mss-pil:
+		    must be "cx", "mx", "mss", "load_state"
+
 - qcom,smem-states:
 	Usage: required
 	Value type: <phandle>
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
maintainer Reviewed-by on v3 7/8
#10 lore raw

Re: [PATCH v3 7/8] dt-bindings: remoteproc: qcom: Add power-domain bindings for Q6V5

Quoted 10 lines · Sibi Sankar

Add power-domain bindings for Q6V5 MSS on MSM8996 and SDM845 SoCs.

---

v3:
* Fixup dt-binding documentation as suggested by Doug
* Dropping Rob's Reviewed-by due to documentation style change

Quoted 6 lines

v2:
* Add load_state power-domain
* List cx and mx power-domains for MSM8996

 .../bindings/remoteproc/qcom,q6v5.txt         | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
#11 lore raw

PATCH v3 8/8 arm64: dts: qcom: sdm845: Add Q6V5 MSS node

In reply to Sibi Sankar

This patch adds Q6V5 MSS remoteproc node for SDM845 SoCs.

---

v3:
* with shutdown-ack irq redesign make it mandatory, merge multiple patches into a single one

v2:
* Fixed style changes
* Added missing clocks in the dt-bindings
* Split mss remoteproc node into a number of patches

This patch depends on the following bindings:
https://patchwork.kernel.org/patch/10662089/ - mba/mpss reserved regions
https://patchwork.kernel.org/patch/10657325/ - pdc reset node
https://patchwork.kernel.org/patch/10740127/ - rpmhpd dt bindings
https://patchwork.kernel.org/patch/10740109/ - rpmhpd dt node
https://patchwork.kernel.org/patch/10678301/ - AOP QMP dt bindings
https://patchwork.kernel.org/patch/10742083/ - shutdown-irq binding

 arch/arm64/boot/dts/qcom/sdm845.dtsi | 60 ++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)
arch/arm64/boot/dts/qcom/sdm845.dtsi +60 -0
index 5da9fa1feb8a..db17216a5bce 100644
@@ -1366,6 +1366,66 @@
 			};
 		};
 
+		remoteproc@4080000 {
+			compatible = "qcom,sdm845-mss-pil";
+			reg = <0x04080000 0x408>, <0x04180000 0x48>;
+			reg-names = "qdsp6", "rmb";
+
+			interrupts-extended =
+				<&intc GIC_SPI 266 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_MSS_Q6_MEMNOC_AXI_CLK>,
+				 <&gcc GCC_BOOT_ROM_AHB_CLK>,
+				 <&gcc GCC_MSS_GPLL0_DIV_CLK_SRC>,
+				 <&gcc GCC_MSS_SNOC_AXI_CLK>,
+				 <&gcc GCC_MSS_MFAB_AXIS_CLK>,
+				 <&gcc GCC_PRNG_AHB_CLK>,
+				 <&rpmhcc RPMH_CXO_CLK>;
+			clock-names = "iface", "bus", "mem", "gpll0_mss",
+				      "snoc_axi", "mnoc_axi", "prng", "xo";
+
+			qcom,smem-states = <&modem_smp2p_out 0>;
+			qcom,smem-state-names = "stop";
+
+			resets = <&aoss_reset AOSS_CC_MSS_RESTART>,
+				 <&pdc_reset PDC_MODEM_SYNC_RESET>;
+			reset-names = "mss_restart", "pdc_reset";
+
+			qcom,halt-regs = <&tcsr_mutex_regs
+						0x23000 0x25000 0x24000>;
+
+			power-domains = <&aoss_qmp_pd AOSS_QMP_LS_MODEM>,
+					<&rpmhpd SDM845_CX>,
+					<&rpmhpd SDM845_MX>,
+					<&rpmhpd SDM845_MSS>;
+			power-domain-names = "load_state", "cx", "mx", "mss";
+
+			mba {
+				memory-region = <&mba_region>;
+			};
+
+			mpss {
+				memory-region = <&mpss_region>;
+			};
+
+			glink-edge {
+				interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
+				label = "modem";
+				qcom,remote-pid = <1>;
+				mboxes = <&apss_shared 12>;
+				mbox-names = "mpss_smem";
+			};
+		};
+
 		usb_1_hsphy: phy@88e2000 {
 			compatible = "qcom,sdm845-qusb2-phy";
 			reg = <0x88e2000 0x400>;
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
maintainer Reviewed-by on v3 1/8
#12 lore raw
In reply to Sibi Sankar
Quoted 8 lines · Sibi Sankar

Add missing qcom,remote-pid dt binding required for GLINK SMEM which specifies the remote endpoint of the GLINK edge.

Fixes 2b41d6c8e696 ("dt-bindings: soc: qcom: Extend GLINK to cover

SMEM")

Quoted 8 lines

---

v3:
* Fixed typo

 Documentation/devicetree/bindings/soc/qcom/qcom,glink.txt | 5 +++++
 1 file changed, 5 insertions(+)