devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2 06/11] dts: bindings: Document device tree bindings for ETE
       [not found] <1610511498-4058-1-git-send-email-anshuman.khandual@arm.com>
@ 2021-01-13  4:18 ` Anshuman Khandual
  2021-01-25 19:22   ` Rob Herring
  2021-01-13  4:18 ` [PATCH V2 11/11] dts: bindings: Document device tree bindings for Arm TRBE Anshuman Khandual
  1 sibling, 1 reply; 9+ messages in thread
From: Anshuman Khandual @ 2021-01-13  4:18 UTC (permalink / raw)
  To: linux-arm-kernel, coresight
  Cc: mathieu.poirier, suzuki.poulose, mike.leach, Anshuman Khandual,
	Linu Cherian, linux-kernel, devicetree, Rob Herring

From: Suzuki K Poulose <suzuki.poulose@arm.com>

Document the device tree bindings for Embedded Trace Extensions.
ETE can be connected to legacy coresight components and thus
could optionally contain a connection graph as described by
the CoreSight bindings.

Cc: devicetree@vger.kernel.org
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Rob Herring <robh@kernel.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
 Documentation/devicetree/bindings/arm/ete.yaml | 71 ++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/ete.yaml

diff --git a/Documentation/devicetree/bindings/arm/ete.yaml b/Documentation/devicetree/bindings/arm/ete.yaml
new file mode 100644
index 0000000..00e6a77
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/ete.yaml
@@ -0,0 +1,71 @@
+# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
+# Copyright 2021, Arm Ltd
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/arm/ete.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: ARM Embedded Trace Extensions
+
+maintainers:
+  - Suzuki K Poulose <suzuki.poulose@arm.com>
+  - Mathieu Poirier <mathieu.poirier@linaro.org>
+
+description: |
+  Arm Embedded Trace Extension(ETE) is a per CPU trace component that
+  allows tracing the CPU execution. It overlaps with the CoreSight ETMv4
+  architecture and has extended support for future architecture changes.
+  The trace generated by the ETE could be stored via legacy CoreSight
+  components (e.g, TMC-ETR) or other means (e.g, using a per CPU buffer
+  Arm Trace Buffer Extension (TRBE)). Since the ETE can be connected to
+  legacy CoreSight components, a node must be listed per instance, along
+  with any optional connection graph as per the coresight bindings.
+  See bindings/arm/coresight.txt.
+
+properties:
+  $nodename:
+    pattern: "^ete([0-9a-f]+)$"
+  compatible:
+    items:
+      - const: arm,embedded-trace-extension
+
+  cpu:
+    description: |
+      Handle to the cpu this ETE is bound to.
+    $ref: /schemas/types.yaml#/definitions/phandle
+
+  out-ports:
+    description: |
+      Out put connections from the ETE to legacy CoreSight trace bus.
+    $ref: /schemas/graph.yaml#/properties/ports
+
+required:
+  - compatible
+  - cpu
+
+additionalProperties: false
+
+examples:
+
+# An ETE node without legacy CoreSight connections
+  - |
+    ete0 {
+      compatible = "arm,embedded-trace-extension";
+      cpu = <&cpu_0>;
+    };
+# An ETE node with legacy CoreSight connections
+  - |
+   ete1 {
+      compatible = "arm,embedded-trace-extension";
+      cpu = <&cpu_1>;
+
+      out-ports {        /* legacy coresight connection */
+         port {
+             ete1_out_port: endpoint {
+                remote-endpoint = <&funnel_in_port0>;
+             };
+         };
+      };
+   };
+
+...
-- 
2.7.4


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

* [PATCH V2 11/11] dts: bindings: Document device tree bindings for Arm TRBE
       [not found] <1610511498-4058-1-git-send-email-anshuman.khandual@arm.com>
  2021-01-13  4:18 ` [PATCH V2 06/11] dts: bindings: Document device tree bindings for ETE Anshuman Khandual
@ 2021-01-13  4:18 ` Anshuman Khandual
  2021-01-13 15:45   ` Rob Herring
  2021-01-14 14:07   ` Rob Herring
  1 sibling, 2 replies; 9+ messages in thread
From: Anshuman Khandual @ 2021-01-13  4:18 UTC (permalink / raw)
  To: linux-arm-kernel, coresight
  Cc: mathieu.poirier, suzuki.poulose, mike.leach, Anshuman Khandual,
	Linu Cherian, linux-kernel, Rob Herring, devicetree

From: Suzuki K Poulose <suzuki.poulose@arm.com>

Document the device tree bindings for Trace Buffer Extension (TRBE).

Cc: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Rob Herring <robh@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
 Documentation/devicetree/bindings/arm/trbe.yaml | 46 +++++++++++++++++++++++++
 1 file changed, 46 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/trbe.yaml

diff --git a/Documentation/devicetree/bindings/arm/trbe.yaml b/Documentation/devicetree/bindings/arm/trbe.yaml
new file mode 100644
index 0000000..2258595
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/trbe.yaml
@@ -0,0 +1,46 @@
+# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
+# Copyright 2021, Arm Ltd
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/arm/trbe.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: ARM Trace Buffer Extensions
+
+maintainers:
+  - Anshuman Khandual <anshuman.khandual@arm.com>
+
+description: |
+  Description of TRBE hw
+
+properties:
+  $nodename:
+    pattern: "trbe"
+  compatible:
+    items:
+      - const: arm,trace-buffer-extension
+
+  interrupts:
+    description: |
+       Exactly 1 PPI must be listed. For heterogeneous systems where
+       TRBE is only supported on a subset of the CPUs, please consult
+       the arm,gic-v3 binding for details on describing a PPI partition.
+    maxItems: 1
+
+required:
+  - compatible
+  - interrupts
+
+additionalProperties: false
+
+
+examples:
+
+ - |
+   #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+   trbe {
+     compatible = "arm,trace-buffer-extension";
+     interrupts = <GIC_PPI 15 IRQ_TYPE_LEVEL_HIGH>;
+   };
+...
-- 
2.7.4


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

* Re: [PATCH V2 11/11] dts: bindings: Document device tree bindings for Arm TRBE
  2021-01-13  4:18 ` [PATCH V2 11/11] dts: bindings: Document device tree bindings for Arm TRBE Anshuman Khandual
@ 2021-01-13 15:45   ` Rob Herring
  2021-01-14 10:17     ` Suzuki K Poulose
  2021-01-14 14:07   ` Rob Herring
  1 sibling, 1 reply; 9+ messages in thread
From: Rob Herring @ 2021-01-13 15:45 UTC (permalink / raw)
  To: Anshuman Khandual
  Cc: mathieu.poirier, coresight, Linu Cherian, linux-kernel,
	linux-arm-kernel, mike.leach, suzuki.poulose, devicetree

On Wed, 13 Jan 2021 09:48:18 +0530, Anshuman Khandual wrote:
> From: Suzuki K Poulose <suzuki.poulose@arm.com>
> 
> Document the device tree bindings for Trace Buffer Extension (TRBE).
> 
> Cc: Anshuman Khandual <anshuman.khandual@arm.com>
> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
> Cc: Rob Herring <robh@kernel.org>
> Cc: devicetree@vger.kernel.org
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
> ---
>  Documentation/devicetree/bindings/arm/trbe.yaml | 46 +++++++++++++++++++++++++
>  1 file changed, 46 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/trbe.yaml
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:
./Documentation/devicetree/bindings/arm/trbe.yaml:39:2: [warning] wrong indentation: expected 2 but found 1 (indentation)

dtschema/dtc warnings/errors:

See https://patchwork.ozlabs.org/patch/1425605

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


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

* Re: [PATCH V2 11/11] dts: bindings: Document device tree bindings for Arm TRBE
  2021-01-13 15:45   ` Rob Herring
@ 2021-01-14 10:17     ` Suzuki K Poulose
  0 siblings, 0 replies; 9+ messages in thread
From: Suzuki K Poulose @ 2021-01-14 10:17 UTC (permalink / raw)
  To: Rob Herring, Anshuman Khandual
  Cc: mathieu.poirier, coresight, Linu Cherian, linux-kernel,
	linux-arm-kernel, mike.leach, devicetree

Hi Rob

On 1/13/21 3:45 PM, Rob Herring wrote:
> On Wed, 13 Jan 2021 09:48:18 +0530, Anshuman Khandual wrote:
>> From: Suzuki K Poulose <suzuki.poulose@arm.com>
>>
>> Document the device tree bindings for Trace Buffer Extension (TRBE).
>>
>> Cc: Anshuman Khandual <anshuman.khandual@arm.com>
>> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
>> Cc: Rob Herring <robh@kernel.org>
>> Cc: devicetree@vger.kernel.org
>> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
>> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
>> ---
>>   Documentation/devicetree/bindings/arm/trbe.yaml | 46 +++++++++++++++++++++++++
>>   1 file changed, 46 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/arm/trbe.yaml
>>
> 
> My bot found errors running 'make dt_binding_check' on your patch:
> 
> yamllint warnings/errors:
> ./Documentation/devicetree/bindings/arm/trbe.yaml:39:2: [warning] wrong indentation: expected 2 but found 1 (indentation)
> 
> dtschema/dtc warnings/errors:

Thanks for that. I guess Anshuman can fix this up, with the following patch:

diff --git a/Documentation/devicetree/bindings/arm/trbe.yaml 
b/Documentation/devicetree/bindings/arm/trbe.yaml
index 2258595c40dd..24951e02fa58 100644
--- a/Documentation/devicetree/bindings/arm/trbe.yaml
+++ b/Documentation/devicetree/bindings/arm/trbe.yaml
@@ -36,7 +36,7 @@ additionalProperties: false

  examples:

- - |
+  - |
     #include <dt-bindings/interrupt-controller/arm-gic.h>

     trbe {

> 
> See https://patchwork.ozlabs.org/patch/1425605
> 
> This check can fail if there are any dependencies. The base for a patch
> series is generally the most recent rc1.
> 
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure 'yamllint' is installed and dt-schema is up to
> date:

I did see the warning, but I thought I fixed it. Sorry about that.

Cheers
Suzuki

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

* Re: [PATCH V2 11/11] dts: bindings: Document device tree bindings for Arm TRBE
  2021-01-13  4:18 ` [PATCH V2 11/11] dts: bindings: Document device tree bindings for Arm TRBE Anshuman Khandual
  2021-01-13 15:45   ` Rob Herring
@ 2021-01-14 14:07   ` Rob Herring
  2021-01-14 14:47     ` Suzuki K Poulose
  1 sibling, 1 reply; 9+ messages in thread
From: Rob Herring @ 2021-01-14 14:07 UTC (permalink / raw)
  To: Anshuman Khandual
  Cc: linux-arm-kernel, coresight, mathieu.poirier, suzuki.poulose,
	mike.leach, Linu Cherian, linux-kernel, devicetree

On Wed, Jan 13, 2021 at 09:48:18AM +0530, Anshuman Khandual wrote:
> From: Suzuki K Poulose <suzuki.poulose@arm.com>
> 
> Document the device tree bindings for Trace Buffer Extension (TRBE).
> 
> Cc: Anshuman Khandual <anshuman.khandual@arm.com>
> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
> Cc: Rob Herring <robh@kernel.org>
> Cc: devicetree@vger.kernel.org
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
> ---
>  Documentation/devicetree/bindings/arm/trbe.yaml | 46 +++++++++++++++++++++++++
>  1 file changed, 46 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/trbe.yaml
> 
> diff --git a/Documentation/devicetree/bindings/arm/trbe.yaml b/Documentation/devicetree/bindings/arm/trbe.yaml
> new file mode 100644
> index 0000000..2258595
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/trbe.yaml
> @@ -0,0 +1,46 @@
> +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
> +# Copyright 2021, Arm Ltd
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/arm/trbe.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: ARM Trace Buffer Extensions
> +
> +maintainers:
> +  - Anshuman Khandual <anshuman.khandual@arm.com>
> +
> +description: |
> +  Description of TRBE hw

Huh?

> +
> +properties:
> +  $nodename:
> +    pattern: "trbe"

const: trbe

> +  compatible:
> +    items:
> +      - const: arm,trace-buffer-extension

Any versioning to this? Or is that discoverable?

> +
> +  interrupts:
> +    description: |
> +       Exactly 1 PPI must be listed. For heterogeneous systems where
> +       TRBE is only supported on a subset of the CPUs, please consult
> +       the arm,gic-v3 binding for details on describing a PPI partition.
> +    maxItems: 1
> +
> +required:
> +  - compatible
> +  - interrupts
> +
> +additionalProperties: false
> +
> +

Extra blank line.

> +examples:
> +
> + - |
> +   #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +   trbe {
> +     compatible = "arm,trace-buffer-extension";
> +     interrupts = <GIC_PPI 15 IRQ_TYPE_LEVEL_HIGH>;
> +   };
> +...
> -- 
> 2.7.4
> 

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

* Re: [PATCH V2 11/11] dts: bindings: Document device tree bindings for Arm TRBE
  2021-01-14 14:07   ` Rob Herring
@ 2021-01-14 14:47     ` Suzuki K Poulose
  0 siblings, 0 replies; 9+ messages in thread
From: Suzuki K Poulose @ 2021-01-14 14:47 UTC (permalink / raw)
  To: Rob Herring, Anshuman Khandual
  Cc: linux-arm-kernel, coresight, mathieu.poirier, mike.leach,
	Linu Cherian, linux-kernel, devicetree

On 1/14/21 2:07 PM, Rob Herring wrote:
> On Wed, Jan 13, 2021 at 09:48:18AM +0530, Anshuman Khandual wrote:
>> From: Suzuki K Poulose <suzuki.poulose@arm.com>
>>
>> Document the device tree bindings for Trace Buffer Extension (TRBE).
>>
>> Cc: Anshuman Khandual <anshuman.khandual@arm.com>
>> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
>> Cc: Rob Herring <robh@kernel.org>
>> Cc: devicetree@vger.kernel.org
>> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
>> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
>> ---
>>   Documentation/devicetree/bindings/arm/trbe.yaml | 46 +++++++++++++++++++++++++
>>   1 file changed, 46 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/arm/trbe.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/arm/trbe.yaml b/Documentation/devicetree/bindings/arm/trbe.yaml
>> new file mode 100644
>> index 0000000..2258595
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/arm/trbe.yaml
>> @@ -0,0 +1,46 @@
>> +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
>> +# Copyright 2021, Arm Ltd
>> +%YAML 1.2
>> +---
>> +$id: "http://devicetree.org/schemas/arm/trbe.yaml#"
>> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
>> +
>> +title: ARM Trace Buffer Extensions
>> +
>> +maintainers:
>> +  - Anshuman Khandual <anshuman.khandual@arm.com>
>> +
>> +description: |
>> +  Description of TRBE hw
> 
> Huh?
> 

Doh ! That was due to a miscommunication between us.
This should be :

description: |
   Arm Trace Buffer Extension (TRBE) is a per CPU component
   for storing trace generated on the CPU to memory. It is
   accessed via CPU system registers. The software can verify
   if it is permitted to use the component by checking the
   TRBIDR register.

>> +
>> +properties:
>> +  $nodename:
>> +    pattern: "trbe"
> 
> const: trbe
> 
>> +  compatible:
>> +    items:
>> +      - const: arm,trace-buffer-extension
> 
> Any versioning to this? Or is that discoverable?
> 

It must be discoverable via ID_AA64DFR0_EL1.TraceBuffer.
The IP is entirely accessed by the CPU system registers. So, any
further changes can be interpreted from the system registers
(including if the access is blocked by a higher exception level).

>> +
>> +  interrupts:
>> +    description: |
>> +       Exactly 1 PPI must be listed. For heterogeneous systems where
>> +       TRBE is only supported on a subset of the CPUs, please consult
>> +       the arm,gic-v3 binding for details on describing a PPI partition.
>> +    maxItems: 1
>> +
>> +required:
>> +  - compatible
>> +  - interrupts
>> +
>> +additionalProperties: false
>> +
>> +
> 
> Extra blank line.

Removed.

Cheers

Suzuki

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

* Re: [PATCH V2 06/11] dts: bindings: Document device tree bindings for ETE
  2021-01-13  4:18 ` [PATCH V2 06/11] dts: bindings: Document device tree bindings for ETE Anshuman Khandual
@ 2021-01-25 19:22   ` Rob Herring
  2021-01-25 22:20     ` Suzuki K Poulose
  0 siblings, 1 reply; 9+ messages in thread
From: Rob Herring @ 2021-01-25 19:22 UTC (permalink / raw)
  To: Anshuman Khandual
  Cc: linux-arm-kernel, coresight, mathieu.poirier, suzuki.poulose,
	mike.leach, Linu Cherian, linux-kernel, devicetree

On Wed, Jan 13, 2021 at 09:48:13AM +0530, Anshuman Khandual wrote:
> From: Suzuki K Poulose <suzuki.poulose@arm.com>
> 
> Document the device tree bindings for Embedded Trace Extensions.
> ETE can be connected to legacy coresight components and thus
> could optionally contain a connection graph as described by
> the CoreSight bindings.
> 
> Cc: devicetree@vger.kernel.org
> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
> Cc: Mike Leach <mike.leach@linaro.org>
> Cc: Rob Herring <robh@kernel.org>
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
> ---
>  Documentation/devicetree/bindings/arm/ete.yaml | 71 ++++++++++++++++++++++++++
>  1 file changed, 71 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/ete.yaml
> 
> diff --git a/Documentation/devicetree/bindings/arm/ete.yaml b/Documentation/devicetree/bindings/arm/ete.yaml
> new file mode 100644
> index 0000000..00e6a77
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/ete.yaml
> @@ -0,0 +1,71 @@
> +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
> +# Copyright 2021, Arm Ltd
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/arm/ete.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: ARM Embedded Trace Extensions
> +
> +maintainers:
> +  - Suzuki K Poulose <suzuki.poulose@arm.com>
> +  - Mathieu Poirier <mathieu.poirier@linaro.org>
> +
> +description: |
> +  Arm Embedded Trace Extension(ETE) is a per CPU trace component that
> +  allows tracing the CPU execution. It overlaps with the CoreSight ETMv4
> +  architecture and has extended support for future architecture changes.
> +  The trace generated by the ETE could be stored via legacy CoreSight
> +  components (e.g, TMC-ETR) or other means (e.g, using a per CPU buffer
> +  Arm Trace Buffer Extension (TRBE)). Since the ETE can be connected to
> +  legacy CoreSight components, a node must be listed per instance, along
> +  with any optional connection graph as per the coresight bindings.
> +  See bindings/arm/coresight.txt.
> +
> +properties:
> +  $nodename:
> +    pattern: "^ete([0-9a-f]+)$"
> +  compatible:
> +    items:
> +      - const: arm,embedded-trace-extension
> +
> +  cpu:

We use 'cpus' in a couple of other places, let's do that here for 
consistency.

> +    description: |
> +      Handle to the cpu this ETE is bound to.
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +
> +  out-ports:
> +    description: |
> +      Out put connections from the ETE to legacy CoreSight trace bus.

Output

> +    $ref: /schemas/graph.yaml#/properties/ports

You have to define what each 'port' is if there can be more than 1. If 
there's only ever 1 then you just need 'port' though maybe all the 
coresight bindings require 'out-ports'. And the port nodes need a $ref 
to '/schemas/graph.yaml#/properties/port'.

> +
> +required:
> +  - compatible
> +  - cpu
> +
> +additionalProperties: false
> +
> +examples:
> +
> +# An ETE node without legacy CoreSight connections
> +  - |
> +    ete0 {
> +      compatible = "arm,embedded-trace-extension";
> +      cpu = <&cpu_0>;
> +    };
> +# An ETE node with legacy CoreSight connections
> +  - |
> +   ete1 {
> +      compatible = "arm,embedded-trace-extension";
> +      cpu = <&cpu_1>;
> +
> +      out-ports {        /* legacy coresight connection */
> +         port {
> +             ete1_out_port: endpoint {
> +                remote-endpoint = <&funnel_in_port0>;
> +             };
> +         };
> +      };
> +   };
> +
> +...
> -- 
> 2.7.4
> 

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

* Re: [PATCH V2 06/11] dts: bindings: Document device tree bindings for ETE
  2021-01-25 19:22   ` Rob Herring
@ 2021-01-25 22:20     ` Suzuki K Poulose
  2021-01-25 23:28       ` Suzuki K Poulose
  0 siblings, 1 reply; 9+ messages in thread
From: Suzuki K Poulose @ 2021-01-25 22:20 UTC (permalink / raw)
  To: Rob Herring, Anshuman Khandual
  Cc: linux-arm-kernel, coresight, mathieu.poirier, mike.leach,
	Linu Cherian, linux-kernel, devicetree

Hi Rob

On 1/25/21 7:22 PM, Rob Herring wrote:
> On Wed, Jan 13, 2021 at 09:48:13AM +0530, Anshuman Khandual wrote:
>> From: Suzuki K Poulose <suzuki.poulose@arm.com>
>>
>> Document the device tree bindings for Embedded Trace Extensions.
>> ETE can be connected to legacy coresight components and thus
>> could optionally contain a connection graph as described by
>> the CoreSight bindings.
>>
>> Cc: devicetree@vger.kernel.org
>> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
>> Cc: Mike Leach <mike.leach@linaro.org>
>> Cc: Rob Herring <robh@kernel.org>
>> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
>> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
>> ---
>>   Documentation/devicetree/bindings/arm/ete.yaml | 71 ++++++++++++++++++++++++++
>>   1 file changed, 71 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/arm/ete.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/arm/ete.yaml b/Documentation/devicetree/bindings/arm/ete.yaml
>> new file mode 100644
>> index 0000000..00e6a77
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/arm/ete.yaml
>> @@ -0,0 +1,71 @@
>> +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
>> +# Copyright 2021, Arm Ltd
>> +%YAML 1.2
>> +---
>> +$id: "http://devicetree.org/schemas/arm/ete.yaml#"
>> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
>> +
>> +title: ARM Embedded Trace Extensions
>> +
>> +maintainers:
>> +  - Suzuki K Poulose <suzuki.poulose@arm.com>
>> +  - Mathieu Poirier <mathieu.poirier@linaro.org>
>> +
>> +description: |
>> +  Arm Embedded Trace Extension(ETE) is a per CPU trace component that
>> +  allows tracing the CPU execution. It overlaps with the CoreSight ETMv4
>> +  architecture and has extended support for future architecture changes.
>> +  The trace generated by the ETE could be stored via legacy CoreSight
>> +  components (e.g, TMC-ETR) or other means (e.g, using a per CPU buffer
>> +  Arm Trace Buffer Extension (TRBE)). Since the ETE can be connected to
>> +  legacy CoreSight components, a node must be listed per instance, along
>> +  with any optional connection graph as per the coresight bindings.
>> +  See bindings/arm/coresight.txt.
>> +
>> +properties:
>> +  $nodename:
>> +    pattern: "^ete([0-9a-f]+)$"
>> +  compatible:
>> +    items:
>> +      - const: arm,embedded-trace-extension
>> +
>> +  cpu:
> 
> We use 'cpus' in a couple of other places, let's do that here for
> consistency.

This is following the existing CoreSight bindings for ETM. The same driver
probes both. Also there can only ever be a single CPU for ete/etm. So, we
would prefer to keep it aligned with the existing bindings to avoid causing
confusion.

> 
>> +    description: |
>> +      Handle to the cpu this ETE is bound to.
>> +    $ref: /schemas/types.yaml#/definitions/phandle
>> +
>> +  out-ports:
>> +    description: |
>> +      Out put connections from the ETE to legacy CoreSight trace bus.
> 
> Output

Will fix.

> 
>> +    $ref: /schemas/graph.yaml#/properties/ports
> 
> You have to define what each 'port' is if there can be more than 1. If
> there's only ever 1 then you just need 'port' though maybe all the
> coresight bindings require 'out-ports'. And the port nodes need a $ref
> to '/schemas/graph.yaml#/properties/port'.

All CoreSight components require an out-ports and/or in-ports. The ETM/ETE
always has one port, but must be under out-ports in line with the CoreSight
bindings.

Does this look more apt:

    out-ports:
      description: |
        Output connection from the ETE to legacy CoreSight trace bus.
      poperties:
         port:
           $ref: /schemas/graph.yaml#/properties/port

Suzuki

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

* Re: [PATCH V2 06/11] dts: bindings: Document device tree bindings for ETE
  2021-01-25 22:20     ` Suzuki K Poulose
@ 2021-01-25 23:28       ` Suzuki K Poulose
  0 siblings, 0 replies; 9+ messages in thread
From: Suzuki K Poulose @ 2021-01-25 23:28 UTC (permalink / raw)
  To: Rob Herring, Anshuman Khandual
  Cc: linux-arm-kernel, coresight, mathieu.poirier, mike.leach,
	Linu Cherian, linux-kernel, devicetree

On 1/25/21 10:20 PM, Suzuki K Poulose wrote:
> Hi Rob
> 
> On 1/25/21 7:22 PM, Rob Herring wrote:
>> On Wed, Jan 13, 2021 at 09:48:13AM +0530, Anshuman Khandual wrote:
>>> From: Suzuki K Poulose <suzuki.poulose@arm.com>
>>>
>>> Document the device tree bindings for Embedded Trace Extensions.
>>> ETE can be connected to legacy coresight components and thus
>>> could optionally contain a connection graph as described by
>>> the CoreSight bindings.
>>>
>>> Cc: devicetree@vger.kernel.org
>>> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
>>> Cc: Mike Leach <mike.leach@linaro.org>
>>> Cc: Rob Herring <robh@kernel.org>
>>> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
>>> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
>>> ---
>>>   Documentation/devicetree/bindings/arm/ete.yaml | 71 ++++++++++++++++++++++++++
>>>   1 file changed, 71 insertions(+)
>>>   create mode 100644 Documentation/devicetree/bindings/arm/ete.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/arm/ete.yaml 
>>> b/Documentation/devicetree/bindings/arm/ete.yaml
>>> new file mode 100644
>>> index 0000000..00e6a77
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/arm/ete.yaml
>>> @@ -0,0 +1,71 @@
>>> +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
>>> +# Copyright 2021, Arm Ltd
>>> +%YAML 1.2
>>> +---
>>> +$id: "http://devicetree.org/schemas/arm/ete.yaml#"
>>> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
>>> +
>>> +title: ARM Embedded Trace Extensions
>>> +
>>> +maintainers:
>>> +  - Suzuki K Poulose <suzuki.poulose@arm.com>
>>> +  - Mathieu Poirier <mathieu.poirier@linaro.org>
>>> +
>>> +description: |
>>> +  Arm Embedded Trace Extension(ETE) is a per CPU trace component that
>>> +  allows tracing the CPU execution. It overlaps with the CoreSight ETMv4
>>> +  architecture and has extended support for future architecture changes.
>>> +  The trace generated by the ETE could be stored via legacy CoreSight
>>> +  components (e.g, TMC-ETR) or other means (e.g, using a per CPU buffer
>>> +  Arm Trace Buffer Extension (TRBE)). Since the ETE can be connected to
>>> +  legacy CoreSight components, a node must be listed per instance, along
>>> +  with any optional connection graph as per the coresight bindings.
>>> +  See bindings/arm/coresight.txt.
>>> +
>>> +properties:
>>> +  $nodename:
>>> +    pattern: "^ete([0-9a-f]+)$"
>>> +  compatible:
>>> +    items:
>>> +      - const: arm,embedded-trace-extension
>>> +
>>> +  cpu:
>>
>> We use 'cpus' in a couple of other places, let's do that here for
>> consistency.
> 
> This is following the existing CoreSight bindings for ETM. The same driver
> probes both. Also there can only ever be a single CPU for ete/etm. So, we
> would prefer to keep it aligned with the existing bindings to avoid causing
> confusion.
> 
>>
>>> +    description: |
>>> +      Handle to the cpu this ETE is bound to.
>>> +    $ref: /schemas/types.yaml#/definitions/phandle
>>> +
>>> +  out-ports:
>>> +    description: |
>>> +      Out put connections from the ETE to legacy CoreSight trace bus.
>>
>> Output
> 
> Will fix.
> 
>>
>>> +    $ref: /schemas/graph.yaml#/properties/ports
>>
>> You have to define what each 'port' is if there can be more than 1. If
>> there's only ever 1 then you just need 'port' though maybe all the
>> coresight bindings require 'out-ports'. And the port nodes need a $ref
>> to '/schemas/graph.yaml#/properties/port'.
> 
> All CoreSight components require an out-ports and/or in-ports. The ETM/ETE
> always has one port, but must be under out-ports in line with the CoreSight
> bindings.
> 
> Does this look more apt:
> 
>     out-ports:
>       description: |
>         Output connection from the ETE to legacy CoreSight trace bus.
>       poperties:
>          port:
>            $ref: /schemas/graph.yaml#/properties/port


Correction, the above should be :

+  out-ports:
+    type: object
+    description: |
+      Output connections from the ETE to legacy CoreSight trace bus.
+    properties:
+      port:
+        $ref: /schemas/graph.yaml#/properties/port


That works fine for me. Does that look fine ?  Some day, we should convert the
coresight dt bindings to yaml and import the out-ports/in-ports from the scheme :-)

Cheers
Suzuki


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

end of thread, other threads:[~2021-01-25 23:30 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1610511498-4058-1-git-send-email-anshuman.khandual@arm.com>
2021-01-13  4:18 ` [PATCH V2 06/11] dts: bindings: Document device tree bindings for ETE Anshuman Khandual
2021-01-25 19:22   ` Rob Herring
2021-01-25 22:20     ` Suzuki K Poulose
2021-01-25 23:28       ` Suzuki K Poulose
2021-01-13  4:18 ` [PATCH V2 11/11] dts: bindings: Document device tree bindings for Arm TRBE Anshuman Khandual
2021-01-13 15:45   ` Rob Herring
2021-01-14 10:17     ` Suzuki K Poulose
2021-01-14 14:07   ` Rob Herring
2021-01-14 14:47     ` Suzuki K Poulose

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