linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/4] arm64: dts: qcom: Fix the warnings from coresight bindings
@ 2023-12-06 14:14 Mao Jinlong
  2023-12-06 14:14 ` [PATCH v3 1/4] dt-bindings: arm: Add remote etm dt-binding Mao Jinlong
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Mao Jinlong @ 2023-12-06 14:14 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Mao Jinlong, linux-arm-msm, devicetree, linux-kernel,
	Tingwei Zhang, Yuanfang Zhang, Tao Zhang

Fix all warnings in Qualcomm boards coming from Coresight bindings.

There are warnings below after running dtbs_check. The patches are
to fix them for Qcom boards.

funnel@3023000: 'in-ports' is a required property

etm@7c40000: 'out-ports' is a required property

etf@6047000: in-ports: '#address-cells', '#size-cells', 'port@1'
do not match any of the regexes: 'pinctrl-[0-9]+'

replicator@604a000: in-ports: '#address-cells', '#size-cells',
'port@1' do not match any of the regexes: 'pinctrl-[0-9]+'

funnel@6c2d000: out-ports: '#address-cells', '#size-cells' do not
match any of the regexes: 'pinctrl-[0-9]+'

Warning (graph_child_address): /soc@0/tpda@6004000/out-ports:
graph node has single child node 'port@0', #address-cells/#size-cells
are not necessary

Warning (graph_child_address): /soc@0/funnel@6005000/in-ports: graph
node has single child node 'port@0', #address-cells/#size-cells are
not necessary

Warning (graph_child_address): /soc@0/etf@6b05000/in-ports: graph node
has single child node 'port@0', #address-cells/#size-cells are not
necessary

Warning (graph_child_address): /soc@0/funnel@7810000/in-ports: graph
node has single child node 'port@0', #address-cells/#size-cells are
not necessary

Changes since V2:
1. Remove qcom,inst-id for remote etm.
2. Modify the node name of remote etm dt node.
3. Add space between 'endpoint' and the opening brace.

Changes since V1:
1. Add new dt binding for remote etm.
2. Add new dt node modem-etm in msm8996.dtsi

Mao Jinlong (4):
  dt-bindings: arm: Add remote etm dt-binding
  arm64: dts: qcom: msm8996: Fix 'in-ports' is a required property
  arm64: dts: qcom: msm8998: Fix 'out-ports' is a required property
  arm64: dts: qcom: Fix coresight warnings in in-ports and out-ports

 .../arm/qcom,coresight-remote-etm.yaml        | 51 +++++++++++++++++++
 arch/arm64/boot/dts/qcom/msm8996.dtsi         | 21 ++++++++
 arch/arm64/boot/dts/qcom/msm8998.dtsi         | 32 +++++++-----
 arch/arm64/boot/dts/qcom/sdm845.dtsi          |  5 +-
 arch/arm64/boot/dts/qcom/sm8150.dtsi          |  5 +-
 arch/arm64/boot/dts/qcom/sm8250.dtsi          | 24 ++-------
 6 files changed, 98 insertions(+), 40 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml

-- 
2.41.0


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

* [PATCH v3 1/4] dt-bindings: arm: Add remote etm dt-binding
  2023-12-06 14:14 [PATCH v3 0/4] arm64: dts: qcom: Fix the warnings from coresight bindings Mao Jinlong
@ 2023-12-06 14:14 ` Mao Jinlong
  2023-12-07  9:39   ` Krzysztof Kozlowski
  2023-12-06 14:14 ` [PATCH v3 2/4] arm64: dts: qcom: msm8996: Fix 'in-ports' is a required property Mao Jinlong
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Mao Jinlong @ 2023-12-06 14:14 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Mao Jinlong, linux-arm-msm, devicetree, linux-kernel,
	Tingwei Zhang, Yuanfang Zhang, Tao Zhang

Remote ETM(Embedded Trace Macrocell) is to capture information of
the executed processor instructions of remote processors like modem.
Add new coresight-remote-etm.yaml file describing the bindings
required to define coresight remote etm in the device trees.

Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
---
 .../arm/qcom,coresight-remote-etm.yaml        | 51 +++++++++++++++++++
 1 file changed, 51 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml

diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml
new file mode 100644
index 000000000000..6ef4a572c52d
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml
@@ -0,0 +1,51 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/qcom,coresight-remote-etm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Coresight Remote ETM(Embedded Trace Macrocell)
+
+maintainers:
+  - Jinlong Mao <quic_jinlmao@quicinc.com>
+  - Tao Zhang <quic_taozha@quicinc.com>
+
+description:
+  Support for ETM trace collection on remote processor using coresight
+  framework. Enabling this will allow turning on ETM tracing on remote
+  processor like modem processor via sysfs and collecting the trace
+  via coresight TMC sinks.
+
+properties:
+  compatible:
+    const: qcom,coresight-remote-etm
+
+  out-ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+    additionalProperties: false
+
+    properties:
+      port:
+        description: Output connection to the CoreSight Trace bus.
+        $ref: /schemas/graph.yaml#/properties/port
+
+required:
+  - compatible
+  - out-ports
+
+additionalProperties: false
+
+examples:
+  - |
+    etm {
+          compatible = "qcom,coresight-remote-etm";
+
+          out-ports {
+              port {
+                  modem_etm0_out_funnel_modem: endpoint {
+                      remote-endpoint = <&funnel_modem_in_modem_etm0>;
+                  };
+              };
+          };
+    };
+...
-- 
2.41.0


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

* [PATCH v3 2/4] arm64: dts: qcom: msm8996: Fix 'in-ports' is a required property
  2023-12-06 14:14 [PATCH v3 0/4] arm64: dts: qcom: Fix the warnings from coresight bindings Mao Jinlong
  2023-12-06 14:14 ` [PATCH v3 1/4] dt-bindings: arm: Add remote etm dt-binding Mao Jinlong
@ 2023-12-06 14:14 ` Mao Jinlong
  2023-12-07  9:39   ` Krzysztof Kozlowski
  2023-12-06 14:14 ` [PATCH v3 3/4] arm64: dts: qcom: msm8998: Fix 'out-ports' " Mao Jinlong
  2023-12-06 14:14 ` [PATCH v3 4/4] arm64: dts: qcom: Fix coresight warnings in in-ports and out-ports Mao Jinlong
  3 siblings, 1 reply; 7+ messages in thread
From: Mao Jinlong @ 2023-12-06 14:14 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Mao Jinlong, linux-arm-msm, devicetree, linux-kernel,
	Tingwei Zhang, Yuanfang Zhang, Tao Zhang

Add the inport of funnel@3023000 to fix 'in-ports' is a required property
warning.

Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
---
 arch/arm64/boot/dts/qcom/msm8996.dtsi | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
index 6ba9da9e6a8b..fa8ec92ce490 100644
--- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
@@ -444,6 +444,19 @@ memory@80000000 {
 		reg = <0x0 0x80000000 0x0 0x0>;
 	};
 
+	etm {
+		compatible = "qcom,coresight-remote-etm";
+
+		out-ports {
+			port {
+				modem_etm_out_funnel_in2: endpoint {
+					remote-endpoint =
+					  <&funnel_in2_in_modem_etm>;
+				};
+			};
+		};
+	};
+
 	psci {
 		compatible = "arm,psci-1.0";
 		method = "smc";
@@ -2644,6 +2657,14 @@ funnel@3023000 {
 			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
 			clock-names = "apb_pclk", "atclk";
 
+			in-ports {
+				port {
+					funnel_in2_in_modem_etm: endpoint {
+						remote-endpoint =
+						  <&modem_etm_out_funnel_in2>;
+					};
+				};
+			};
 
 			out-ports {
 				port {
-- 
2.41.0


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

* [PATCH v3 3/4] arm64: dts: qcom: msm8998: Fix 'out-ports' is a required property
  2023-12-06 14:14 [PATCH v3 0/4] arm64: dts: qcom: Fix the warnings from coresight bindings Mao Jinlong
  2023-12-06 14:14 ` [PATCH v3 1/4] dt-bindings: arm: Add remote etm dt-binding Mao Jinlong
  2023-12-06 14:14 ` [PATCH v3 2/4] arm64: dts: qcom: msm8996: Fix 'in-ports' is a required property Mao Jinlong
@ 2023-12-06 14:14 ` Mao Jinlong
  2023-12-06 14:14 ` [PATCH v3 4/4] arm64: dts: qcom: Fix coresight warnings in in-ports and out-ports Mao Jinlong
  3 siblings, 0 replies; 7+ messages in thread
From: Mao Jinlong @ 2023-12-06 14:14 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Mao Jinlong, linux-arm-msm, devicetree, linux-kernel,
	Tingwei Zhang, Yuanfang Zhang, Tao Zhang, Krzysztof Kozlowski

out-ports is a required property for coresight ETM. Add out-ports for
ETM nodes to fix the warning.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
---
 arch/arm64/boot/dts/qcom/msm8998.dtsi | 32 +++++++++++++++++----------
 1 file changed, 20 insertions(+), 12 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
index b485bf925ce6..ebc5ba1b369e 100644
--- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
@@ -2031,9 +2031,11 @@ etm5: etm@7c40000 {
 
 			cpu = <&CPU4>;
 
-			port {
-				etm4_out: endpoint {
-					remote-endpoint = <&apss_funnel_in4>;
+			out-ports {
+				port {
+					etm4_out: endpoint {
+						remote-endpoint = <&apss_funnel_in4>;
+					};
 				};
 			};
 		};
@@ -2048,9 +2050,11 @@ etm6: etm@7d40000 {
 
 			cpu = <&CPU5>;
 
-			port {
-				etm5_out: endpoint {
-					remote-endpoint = <&apss_funnel_in5>;
+			out-ports {
+				port {
+					etm5_out: endpoint {
+						remote-endpoint = <&apss_funnel_in5>;
+					};
 				};
 			};
 		};
@@ -2065,9 +2069,11 @@ etm7: etm@7e40000 {
 
 			cpu = <&CPU6>;
 
-			port {
-				etm6_out: endpoint {
-					remote-endpoint = <&apss_funnel_in6>;
+			out-ports {
+				port {
+					etm6_out: endpoint {
+						remote-endpoint = <&apss_funnel_in6>;
+					};
 				};
 			};
 		};
@@ -2082,9 +2088,11 @@ etm8: etm@7f40000 {
 
 			cpu = <&CPU7>;
 
-			port {
-				etm7_out: endpoint {
-					remote-endpoint = <&apss_funnel_in7>;
+			out-ports {
+				port {
+					etm7_out: endpoint {
+						remote-endpoint = <&apss_funnel_in7>;
+					};
 				};
 			};
 		};
-- 
2.41.0


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

* [PATCH v3 4/4] arm64: dts: qcom: Fix coresight warnings in in-ports and out-ports
  2023-12-06 14:14 [PATCH v3 0/4] arm64: dts: qcom: Fix the warnings from coresight bindings Mao Jinlong
                   ` (2 preceding siblings ...)
  2023-12-06 14:14 ` [PATCH v3 3/4] arm64: dts: qcom: msm8998: Fix 'out-ports' " Mao Jinlong
@ 2023-12-06 14:14 ` Mao Jinlong
  3 siblings, 0 replies; 7+ messages in thread
From: Mao Jinlong @ 2023-12-06 14:14 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Mao Jinlong, linux-arm-msm, devicetree, linux-kernel,
	Tingwei Zhang, Yuanfang Zhang, Tao Zhang, Krzysztof Kozlowski

When a node is only one in port or one out port, address-cells and
size-cells are not required in in-ports and out-ports. And the number
and reg of the port need to be removed.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
---
 arch/arm64/boot/dts/qcom/sdm845.dtsi |  5 +----
 arch/arm64/boot/dts/qcom/sm8150.dtsi |  5 +----
 arch/arm64/boot/dts/qcom/sm8250.dtsi | 24 ++++--------------------
 3 files changed, 6 insertions(+), 28 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
index bf5e6eb9d313..c4dbca4c15f2 100644
--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
@@ -3545,11 +3545,8 @@ etf_out: endpoint {
 			};
 
 			in-ports {
-				#address-cells = <1>;
-				#size-cells = <0>;
 
-				port@1 {
-					reg = <1>;
+				port {
 					etf_in: endpoint {
 						remote-endpoint =
 						  <&merge_funnel_out>;
diff --git a/arch/arm64/boot/dts/qcom/sm8150.dtsi b/arch/arm64/boot/dts/qcom/sm8150.dtsi
index 97623af13464..7bae3bc6af06 100644
--- a/arch/arm64/boot/dts/qcom/sm8150.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8150.dtsi
@@ -2957,11 +2957,8 @@ replicator1_out: endpoint {
 			};
 
 			in-ports {
-				#address-cells = <1>;
-				#size-cells = <0>;
 
-				port@1 {
-					reg = <1>;
+				port {
 					replicator1_in: endpoint {
 						remote-endpoint = <&replicator_out1>;
 					};
diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index be970472f6c4..fa4e8887d53b 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -3095,11 +3095,8 @@ tpda@6004000 {
 			clock-names = "apb_pclk";
 
 			out-ports {
-				#address-cells = <1>;
-				#size-cells = <0>;
 
-				port@0 {
-					reg = <0>;
+				port {
 					tpda_out_funnel_qatb: endpoint {
 						remote-endpoint = <&funnel_qatb_in_tpda>;
 					};
@@ -3142,11 +3139,7 @@ funnel_qatb_out_funnel_in0: endpoint {
 			};
 
 			in-ports {
-				#address-cells = <1>;
-				#size-cells = <0>;
-
-				port@0 {
-					reg = <0>;
+				port {
 					funnel_qatb_in_tpda: endpoint {
 						remote-endpoint = <&tpda_out_funnel_qatb>;
 					};
@@ -3355,11 +3348,8 @@ etf_out: endpoint {
 			};
 
 			in-ports {
-				#address-cells = <1>;
-				#size-cells = <0>;
 
-				port@0 {
-					reg = <0>;
+				port {
 					etf_in_funnel_swao_out: endpoint {
 						remote-endpoint = <&funnel_swao_out_etf>;
 					};
@@ -3443,8 +3433,6 @@ funnel@6c2d000 {
 			clock-names = "apb_pclk";
 
 			out-ports {
-				#address-cells = <1>;
-				#size-cells = <0>;
 				port {
 					tpdm_mm_out_tpda9: endpoint {
 						remote-endpoint = <&tpda_9_in_tpdm_mm>;
@@ -3710,11 +3698,7 @@ funnel_apss_merg_out_funnel_in1: endpoint {
 			};
 
 			in-ports {
-				#address-cells = <1>;
-				#size-cells = <0>;
-
-				port@0 {
-					reg = <0>;
+				port {
 					funnel_apss_merg_in_funnel_apss: endpoint {
 					remote-endpoint = <&funnel_apss_out_funnel_apss_merg>;
 					};
-- 
2.41.0


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

* Re: [PATCH v3 1/4] dt-bindings: arm: Add remote etm dt-binding
  2023-12-06 14:14 ` [PATCH v3 1/4] dt-bindings: arm: Add remote etm dt-binding Mao Jinlong
@ 2023-12-07  9:39   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2023-12-07  9:39 UTC (permalink / raw)
  To: Mao Jinlong, Andy Gross, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, Tingwei Zhang,
	Yuanfang Zhang, Tao Zhang

On 06/12/2023 15:14, Mao Jinlong wrote:
> Remote ETM(Embedded Trace Macrocell) is to capture information of
> the executed processor instructions of remote processors like modem.
> Add new coresight-remote-etm.yaml file describing the bindings
> required to define coresight remote etm in the device trees.
> 


> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    etm {
> +          compatible = "qcom,coresight-remote-etm";

Now something happened with your indentation here... was it like this
before? The guideline asks to use 2 or 4 space indentation for the
example, while 4 is preferred.

With fixed indentation in the example:

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>


Best regards,
Krzysztof


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

* Re: [PATCH v3 2/4] arm64: dts: qcom: msm8996: Fix 'in-ports' is a required property
  2023-12-06 14:14 ` [PATCH v3 2/4] arm64: dts: qcom: msm8996: Fix 'in-ports' is a required property Mao Jinlong
@ 2023-12-07  9:39   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2023-12-07  9:39 UTC (permalink / raw)
  To: Mao Jinlong, Andy Gross, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, Tingwei Zhang,
	Yuanfang Zhang, Tao Zhang

On 06/12/2023 15:14, Mao Jinlong wrote:
> Add the inport of funnel@3023000 to fix 'in-ports' is a required property
> warning.
> 
> Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
> ---
>  arch/arm64/boot/dts/qcom/msm8996.dtsi | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
> 

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

end of thread, other threads:[~2023-12-07  9:39 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-06 14:14 [PATCH v3 0/4] arm64: dts: qcom: Fix the warnings from coresight bindings Mao Jinlong
2023-12-06 14:14 ` [PATCH v3 1/4] dt-bindings: arm: Add remote etm dt-binding Mao Jinlong
2023-12-07  9:39   ` Krzysztof Kozlowski
2023-12-06 14:14 ` [PATCH v3 2/4] arm64: dts: qcom: msm8996: Fix 'in-ports' is a required property Mao Jinlong
2023-12-07  9:39   ` Krzysztof Kozlowski
2023-12-06 14:14 ` [PATCH v3 3/4] arm64: dts: qcom: msm8998: Fix 'out-ports' " Mao Jinlong
2023-12-06 14:14 ` [PATCH v3 4/4] arm64: dts: qcom: Fix coresight warnings in in-ports and out-ports Mao Jinlong

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).