[PATCH 1/5] dt-bindings: arm: Add Coresight device Trace NOC definition

Yuanfang Zhang posted 5 patches 9 months, 4 weeks ago
There is a newer version of this series
[PATCH 1/5] dt-bindings: arm: Add Coresight device Trace NOC definition
Posted by Yuanfang Zhang 9 months, 4 weeks ago
Adds new coresight-tnoc.yaml file describing the bindings required
to define Trace NOC in the device trees.

Signed-off-by: Yuanfang Zhang <quic_yuanfang@quicinc.com>
---
 .../bindings/arm/qcom,coresight-tnoc.yaml          | 107 +++++++++++++++++++++
 1 file changed, 107 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight-tnoc.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight-tnoc.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b8c1aaf014fb483fd960ec55d1193fb3f66136d2
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/qcom,coresight-tnoc.yaml
@@ -0,0 +1,107 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/qcom,coresight-tnoc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Ttrace NOC(Network On Chip)
+
+maintainers:
+  - yuanfang Zhang <quic_yuanfang@quicinc.com>
+
+description:
+  The Trace NoC is an integration hierarchy which is a replacement of Dragonlink tile configuration.
+  It brings together debug component like TPDA, funnel and interconnect Trace Noc which collects trace
+  from subsystems and transfers to QDSS sink.
+
+  It sits in the different subsystem of SOC and aggregates the trace and transports it to Aggregation TNoC
+  or to QDSS trace sink eventually. Trace NoC embeds bridges for all the interfaces(APB, ATB, QPMDA & NTS).
+
+  Trace NoC can take inputs from different trace sources i.e. ATB, QPMDA.
+
+# Need a custom select here or 'arm,primecell' will match on lots of nodes
+select:
+  properties:
+    compatible:
+      contains:
+        enum:
+          - qcom,coresight-tnoc
+  required:
+    - compatible
+
+properties:
+  $nodename:
+    pattern: "^tn(@[0-9a-f]+)$"
+  compatible:
+    items:
+      - const: qcom,coresight-tnoc
+      - const: arm,primecell
+
+  reg:
+    minItems: 1
+    maxItems: 2
+
+  clocks:
+    maxItems: 1
+
+  clock-names:
+    items:
+      - const: apb_pclk
+
+  in-ports:
+    description: |
+      Input connections from subsystem to TNoC
+    $ref: /schemas/graph.yaml#/properties/ports
+
+  out-ports:
+    description: |
+      Output connections from the TNoC to Aggreg TNoC or to legacy CoreSight trace bus.
+    $ref: /schemas/graph.yaml#/properties/ports
+
+    properties:
+      port:
+        description: |
+          Output connections from the TNoC to Aggreg TNoC or to legacy CoreSight trace bus.
+        $ref: /schemas/graph.yaml#/properties/port
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - clock-names
+  - in-ports
+  - out-ports
+
+additionalProperties: false
+
+examples:
+  - |
+    tn@109ab000  {
+      compatible = "qcom,coresight-tnoc", "arm,primecell";
+      reg = <0x0 0x109ab000  0x0 0x4200>;
+
+      clocks = <&aoss_qmp>;
+      clock-names = "apb_pclk";
+
+      in-ports {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        port@0 {
+          reg = <0>;
+
+          tn_ag_in_tpdm_gcc: endpoint {
+            remote-endpoint = <&tpdm_gcc_out_tn_ag>;
+          };
+        };
+      };
+
+      out-ports {
+        port {
+          tn_ag_out_funnel_in1: endpoint {
+            remote-endpoint = <&funnel_in1_in_tn_ag>;
+          };
+        };
+      };
+    };
+...

-- 
2.34.1
Re: [PATCH 1/5] dt-bindings: arm: Add Coresight device Trace NOC definition
Posted by Krzysztof Kozlowski 9 months, 3 weeks ago
On 21/02/2025 08:40, Yuanfang Zhang wrote:
> Adds new coresight-tnoc.yaml file describing the bindings required
> to define Trace NOC in the device trees.
> 
> Signed-off-by: Yuanfang Zhang <quic_yuanfang@quicinc.com>


So you just sent the same v1, ignoring previous review. That's not how
it works.

Provide proper changelog, implement ENTIRE feedback and do no ask
maintainers do point the same issues TWICE.

NAK

<form letter>
It seems my or other reviewer's previous comments were not fully
addressed. Maybe the feedback got lost between the quotes, maybe you
just forgot to apply it. Please go back to the previous discussion and
either implement all requested changes or keep discussing them.

Thank you.
</form letter>

Best regards,
Krzysztof
Re: [PATCH 1/5] dt-bindings: arm: Add Coresight device Trace NOC definition
Posted by Yuanfang Zhang 9 months, 3 weeks ago

On 2/22/2025 6:47 PM, Krzysztof Kozlowski wrote:
> On 21/02/2025 08:40, Yuanfang Zhang wrote:
>> Adds new coresight-tnoc.yaml file describing the bindings required
>> to define Trace NOC in the device trees.
>>
>> Signed-off-by: Yuanfang Zhang <quic_yuanfang@quicinc.com>
> 
> 
> So you just sent the same v1, ignoring previous review. That's not how
> it works.
> 
sorry for this incorrect process. because i just update --to-cc list and no other
change, i forced the version to V1, hoped it would work like resend,
but the result was not as expected.

> Provide proper changelog, implement ENTIRE feedback and do no ask
> maintainers do point the same issues TWICE.
> 
> NAK
> 
> <form letter>
> It seems my or other reviewer's previous comments were not fully
> addressed. Maybe the feedback got lost between the quotes, maybe you
> just forgot to apply it. Please go back to the previous discussion and
> either implement all requested changes or keep discussing them.
> 
> Thank you.
> </form letter>
> 
> Best regards,
> Krzysztof
>
Re: [PATCH 1/5] dt-bindings: arm: Add Coresight device Trace NOC definition
Posted by Krzysztof Kozlowski 9 months, 3 weeks ago
On 26/02/2025 11:52, Yuanfang Zhang wrote:
> 
> 
> On 2/22/2025 6:47 PM, Krzysztof Kozlowski wrote:
>> On 21/02/2025 08:40, Yuanfang Zhang wrote:
>>> Adds new coresight-tnoc.yaml file describing the bindings required
>>> to define Trace NOC in the device trees.
>>>
>>> Signed-off-by: Yuanfang Zhang <quic_yuanfang@quicinc.com>
>>
>>
>> So you just sent the same v1, ignoring previous review. That's not how
>> it works.
>>
> sorry for this incorrect process. because i just update --to-cc list and no other
> change, i forced the version to V1, hoped it would work like resend,
> but the result was not as expected.


But you got feedback, so why resending without implementing it? That's
the problem, not you labeled/not-labeled it as resend.

Best regards,
Krzysztof
Re: [PATCH 1/5] dt-bindings: arm: Add Coresight device Trace NOC definition
Posted by Yuanfang Zhang 9 months, 3 weeks ago

On 2/26/2025 7:07 PM, Krzysztof Kozlowski wrote:
> On 26/02/2025 11:52, Yuanfang Zhang wrote:
>>
>>
>> On 2/22/2025 6:47 PM, Krzysztof Kozlowski wrote:
>>> On 21/02/2025 08:40, Yuanfang Zhang wrote:
>>>> Adds new coresight-tnoc.yaml file describing the bindings required
>>>> to define Trace NOC in the device trees.
>>>>
>>>> Signed-off-by: Yuanfang Zhang <quic_yuanfang@quicinc.com>
>>>
>>>
>>> So you just sent the same v1, ignoring previous review. That's not how
>>> it works.
>>>
>> sorry for this incorrect process. because i just update --to-cc list and no other
>> change, i forced the version to V1, hoped it would work like resend,
>> but the result was not as expected.
> 
> 
> But you got feedback, so why resending without implementing it? That's
> the problem, not you labeled/not-labeled it as resend.
> 
got it, will implement it in next patch.
> Best regards,
> Krzysztof
Re: [PATCH 1/5] dt-bindings: arm: Add Coresight device Trace NOC definition
Posted by Rob Herring 9 months, 4 weeks ago
On Fri, Feb 21, 2025 at 03:40:28PM +0800, Yuanfang Zhang wrote:
> Adds new coresight-tnoc.yaml file describing the bindings required
> to define Trace NOC in the device trees.
> 
> Signed-off-by: Yuanfang Zhang <quic_yuanfang@quicinc.com>
> ---
>  .../bindings/arm/qcom,coresight-tnoc.yaml          | 107 +++++++++++++++++++++
>  1 file changed, 107 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight-tnoc.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight-tnoc.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..b8c1aaf014fb483fd960ec55d1193fb3f66136d2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/qcom,coresight-tnoc.yaml
> @@ -0,0 +1,107 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/qcom,coresight-tnoc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm Ttrace NOC(Network On Chip)
> +
> +maintainers:
> +  - yuanfang Zhang <quic_yuanfang@quicinc.com>
> +
> +description:
> +  The Trace NoC is an integration hierarchy which is a replacement of Dragonlink tile configuration.
> +  It brings together debug component like TPDA, funnel and interconnect Trace Noc which collects trace
> +  from subsystems and transfers to QDSS sink.
> +
> +  It sits in the different subsystem of SOC and aggregates the trace and transports it to Aggregation TNoC
> +  or to QDSS trace sink eventually. Trace NoC embeds bridges for all the interfaces(APB, ATB, QPMDA & NTS).
> +
> +  Trace NoC can take inputs from different trace sources i.e. ATB, QPMDA.

Wrap lines at 80 char. And you need '>' to preserve paragraphs.

> +
> +# Need a custom select here or 'arm,primecell' will match on lots of nodes
> +select:
> +  properties:
> +    compatible:
> +      contains:
> +        enum:
> +          - qcom,coresight-tnoc
> +  required:
> +    - compatible
> +
> +properties:
> +  $nodename:
> +    pattern: "^tn(@[0-9a-f]+)$"

blank line

> +  compatible:
> +    items:
> +      - const: qcom,coresight-tnoc
> +      - const: arm,primecell
> +
> +  reg:
> +    minItems: 1
> +    maxItems: 2

Need to describe what each entry is.

> +
> +  clocks:
> +    maxItems: 1
> +
> +  clock-names:
> +    items:
> +      - const: apb_pclk
> +
> +  in-ports:
> +    description: |

Don't need '|'

> +      Input connections from subsystem to TNoC
> +    $ref: /schemas/graph.yaml#/properties/ports

You have to define the 'port' nodes.

> +
> +  out-ports:
> +    description: |
> +      Output connections from the TNoC to Aggreg TNoC or to legacy CoreSight trace bus.
> +    $ref: /schemas/graph.yaml#/properties/ports
> +
> +    properties:
> +      port:
> +        description: |
> +          Output connections from the TNoC to Aggreg TNoC or to legacy CoreSight trace bus.

'connections' sounds like more than 1, but you only have 1 port. 

Wrap at 80 char.

> +        $ref: /schemas/graph.yaml#/properties/port
> +
> +required:
> +  - compatible
> +  - reg
> +  - clocks
> +  - clock-names
> +  - in-ports
> +  - out-ports
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    tn@109ab000  {
> +      compatible = "qcom,coresight-tnoc", "arm,primecell";
> +      reg = <0x0 0x109ab000  0x0 0x4200>;
> +
> +      clocks = <&aoss_qmp>;
> +      clock-names = "apb_pclk";
> +
> +      in-ports {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        port@0 {
> +          reg = <0>;
> +
> +          tn_ag_in_tpdm_gcc: endpoint {
> +            remote-endpoint = <&tpdm_gcc_out_tn_ag>;
> +          };
> +        };
> +      };
> +
> +      out-ports {
> +        port {
> +          tn_ag_out_funnel_in1: endpoint {
> +            remote-endpoint = <&funnel_in1_in_tn_ag>;
> +          };
> +        };
> +      };
> +    };
> +...
> 
> -- 
> 2.34.1
>
Re: [PATCH 1/5] dt-bindings: arm: Add Coresight device Trace NOC definition
Posted by Yuanfang Zhang 9 months, 3 weeks ago

On 2/22/2025 7:53 AM, Rob Herring wrote:
> On Fri, Feb 21, 2025 at 03:40:28PM +0800, Yuanfang Zhang wrote:
>> Adds new coresight-tnoc.yaml file describing the bindings required
>> to define Trace NOC in the device trees.
>>
>> Signed-off-by: Yuanfang Zhang <quic_yuanfang@quicinc.com>
>> ---
>>  .../bindings/arm/qcom,coresight-tnoc.yaml          | 107 +++++++++++++++++++++
>>  1 file changed, 107 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight-tnoc.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight-tnoc.yaml
>> new file mode 100644
>> index 0000000000000000000000000000000000000000..b8c1aaf014fb483fd960ec55d1193fb3f66136d2
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/arm/qcom,coresight-tnoc.yaml
>> @@ -0,0 +1,107 @@
>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/arm/qcom,coresight-tnoc.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Qualcomm Ttrace NOC(Network On Chip)
>> +
>> +maintainers:
>> +  - yuanfang Zhang <quic_yuanfang@quicinc.com>
>> +
>> +description:
>> +  The Trace NoC is an integration hierarchy which is a replacement of Dragonlink tile configuration.
>> +  It brings together debug component like TPDA, funnel and interconnect Trace Noc which collects trace
>> +  from subsystems and transfers to QDSS sink.
>> +
>> +  It sits in the different subsystem of SOC and aggregates the trace and transports it to Aggregation TNoC
>> +  or to QDSS trace sink eventually. Trace NoC embeds bridges for all the interfaces(APB, ATB, QPMDA & NTS).
>> +
>> +  Trace NoC can take inputs from different trace sources i.e. ATB, QPMDA.
> 
> Wrap lines at 80 char. And you need '>' to preserve paragraphs.
how to use '>' to preserve paragraphs? i don't find it on other yaml, could you share one example?
> 
>> +
>> +# Need a custom select here or 'arm,primecell' will match on lots of nodes
>> +select:
>> +  properties:
>> +    compatible:
>> +      contains:
>> +        enum:
>> +          - qcom,coresight-tnoc
>> +  required:
>> +    - compatible
>> +
>> +properties:
>> +  $nodename:
>> +    pattern: "^tn(@[0-9a-f]+)$"
> 
> blank line
Done in V2.
> 
>> +  compatible:
>> +    items:
>> +      - const: qcom,coresight-tnoc
>> +      - const: arm,primecell
>> +
>> +  reg:
>> +    minItems: 1
>> +    maxItems: 2
> 
> Need to describe what each entry is.
Update in V2.
> 
>> +
>> +  clocks:
>> +    maxItems: 1
>> +
>> +  clock-names:
>> +    items:
>> +      - const: apb_pclk
>> +
>> +  in-ports:
>> +    description: |
> 
> Don't need '|'
Done in V2.
> 
>> +      Input connections from subsystem to TNoC
>> +    $ref: /schemas/graph.yaml#/properties/ports
> 
> You have to define the 'port' nodes.
Done in V2.
> 
>> +
>> +  out-ports:
>> +    description: |
>> +      Output connections from the TNoC to Aggreg TNoC or to legacy CoreSight trace bus.
>> +    $ref: /schemas/graph.yaml#/properties/ports
>> +
>> +    properties:
>> +      port:
>> +        description: |
>> +          Output connections from the TNoC to Aggreg TNoC or to legacy CoreSight trace bus.
> 
> 'connections' sounds like more than 1, but you only have 1 port. 
> 
> Wrap at 80 char.
Done in V2.
> 
>> +        $ref: /schemas/graph.yaml#/properties/port
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - clocks
>> +  - clock-names
>> +  - in-ports
>> +  - out-ports
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> +  - |
>> +    tn@109ab000  {
>> +      compatible = "qcom,coresight-tnoc", "arm,primecell";
>> +      reg = <0x0 0x109ab000  0x0 0x4200>;
>> +
>> +      clocks = <&aoss_qmp>;
>> +      clock-names = "apb_pclk";
>> +
>> +      in-ports {
>> +        #address-cells = <1>;
>> +        #size-cells = <0>;
>> +
>> +        port@0 {
>> +          reg = <0>;
>> +
>> +          tn_ag_in_tpdm_gcc: endpoint {
>> +            remote-endpoint = <&tpdm_gcc_out_tn_ag>;
>> +          };
>> +        };
>> +      };
>> +
>> +      out-ports {
>> +        port {
>> +          tn_ag_out_funnel_in1: endpoint {
>> +            remote-endpoint = <&funnel_in1_in_tn_ag>;
>> +          };
>> +        };
>> +      };
>> +    };
>> +...
>>
>> -- 
>> 2.34.1
>>