[v2,1/4] dt-bindings: arm: Add remote etm dt-binding

Message ID 20231205082922.32149-2-quic_jinlmao@quicinc.com
State New
Headers
Series arm64: dts: qcom: Fix the warnings from coresight bindings |

Commit Message

Mao Jinlong Dec. 5, 2023, 8:29 a.m. UTC
  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        | 60 +++++++++++++++++++
 1 file changed, 60 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml
  

Comments

Krzysztof Kozlowski Dec. 6, 2023, 11:25 a.m. UTC | #1
On 05/12/2023 09:29, 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.
> 
> Signed-off-by: Mao Jinlong <quic_jinlmao@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
> +
> +  qcom,inst-id:

I did not receive my answer about this property one month ago, so:
NAK, drop this property.

> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description:
> +      Each kind of remote ETM has its unique instance id. The remote etm will
> +      be enabled/disabled on remote processor based on the id send from
> +      ap processor.
> +
> +  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
> +  - qcom,inst-id
> +  - out-ports
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    modem-etm0 {

etm {

> +          compatible = "qcom,coresight-remote-etm";
> +          qcom,inst-id = <2>;
> +
> +          out-ports {
> +              port {
> +                  modem_etm0_out_funnel_modem: endpoint {
> +                  remote-endpoint = <&funnel_modem_in_modem_etm0>;

Missing indentation level

> +                  };
> +              };
> +          };
> +    };
> +...

Best regards,
Krzysztof
  
Mao Jinlong Dec. 6, 2023, 11:47 a.m. UTC | #2
On 12/6/2023 7:25 PM, Krzysztof Kozlowski wrote:
> On 05/12/2023 09:29, 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.
>>
>> Signed-off-by: Mao Jinlong <quic_jinlmao@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
>> +
>> +  qcom,inst-id:
> 
> I did not receive my answer about this property one month ago, so:
> NAK, drop this property.

Thanks for the review. I will remove this first and add it back with 
driver codes.
> 
>> +    $ref: /schemas/types.yaml#/definitions/uint32
>> +    description:
>> +      Each kind of remote ETM has its unique instance id. The remote etm will
>> +      be enabled/disabled on remote processor based on the id send from
>> +      ap processor.
>> +
>> +  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
>> +  - qcom,inst-id
>> +  - out-ports
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> +  - |
>> +    modem-etm0 {
> 
> etm {
> 
>> +          compatible = "qcom,coresight-remote-etm";
>> +          qcom,inst-id = <2>;
>> +
>> +          out-ports {
>> +              port {
>> +                  modem_etm0_out_funnel_modem: endpoint {
>> +                  remote-endpoint = <&funnel_modem_in_modem_etm0>;
> 
> Missing indentation level
> 
I will make changes in next version.

>> +                  };
>> +              };
>> +          };
>> +    };
>> +...
> 
> Best regards,
> Krzysztof
>
  

Patch

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..bc76cda33620
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml
@@ -0,0 +1,60 @@ 
+# 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
+
+  qcom,inst-id:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description:
+      Each kind of remote ETM has its unique instance id. The remote etm will
+      be enabled/disabled on remote processor based on the id send from
+      ap processor.
+
+  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
+  - qcom,inst-id
+  - out-ports
+
+additionalProperties: false
+
+examples:
+  - |
+    modem-etm0 {
+          compatible = "qcom,coresight-remote-etm";
+          qcom,inst-id = <2>;
+
+          out-ports {
+              port {
+                  modem_etm0_out_funnel_modem: endpoint {
+                  remote-endpoint = <&funnel_modem_in_modem_etm0>;
+                  };
+              };
+          };
+    };
+...