From: Suzuki K Poulose <suzuki.poulose@arm.com> Date: 2021-02-25 19:51:17
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 <redacted>
Cc: Rob Herring <robh@kernel.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
---
Changes:
- Fix out-ports defintion
---
.../devicetree/bindings/arm/ete.yaml | 71 +++++++++++++++++++
1 file changed, 71 insertions(+)
create mode 100644 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+%YAML1.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:|+Output connections from the ETE to legacy CoreSight trace bus.+$ref:/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>;+};+};+};+};++...
From: Rob Herring <robh@kernel.org> Date: 2021-03-06 21:07:45
On Thu, Feb 25, 2021 at 07:35:39PM +0000, Suzuki K Poulose wrote:
quoted hunk
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 <redacted>
Cc: Rob Herring <robh@kernel.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
---
Changes:
- Fix out-ports defintion
---
.../devicetree/bindings/arm/ete.yaml | 71 +++++++++++++++++++
1 file changed, 71 insertions(+)
create mode 100644 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+%YAML1.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:|+Output connections from the ETE to legacy CoreSight trace bus.+$ref:/schemas/graph.yaml#/properties/port
s/port/ports/
And then you need:
properties:
port:
description: what this port is
$ref: /schemas/graph.yaml#/properties/port
From: Mike Leach <hidden> Date: 2021-03-08 17:27:09
Hi Suzuki
Need to add this file and the TRBE bindings file to the ARM/CORESIGHT
section of the MAINTAINERS file.
Regards
Mike
On Sat, 6 Mar 2021 at 21:06, Rob Herring [off-list ref] wrote:
On Thu, Feb 25, 2021 at 07:35:39PM +0000, Suzuki K Poulose wrote:
quoted
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 <redacted>
Cc: Rob Herring <robh@kernel.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
---
Changes:
- Fix out-ports defintion
---
.../devicetree/bindings/arm/ete.yaml | 71 +++++++++++++++++++
1 file changed, 71 insertions(+)
create mode 100644 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+%YAML1.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:|+Output connections from the ETE to legacy CoreSight trace bus.+$ref:/schemas/graph.yaml#/properties/port
s/port/ports/
And then you need:
properties:
port:
description: what this port is
$ref: /schemas/graph.yaml#/properties/port
From: Suzuki K Poulose <suzuki.poulose@arm.com> Date: 2021-03-22 16:54:17
Hi Rob
On 06/03/2021 21:06, Rob Herring wrote:
On Thu, Feb 25, 2021 at 07:35:39PM +0000, Suzuki K Poulose wrote:
quoted
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 <redacted>
Cc: Rob Herring <robh@kernel.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
---
Changes:
- Fix out-ports defintion
---
.../devicetree/bindings/arm/ete.yaml | 71 +++++++++++++++++++
1 file changed, 71 insertions(+)
create mode 100644 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+%YAML1.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:|+Output connections from the ETE to legacy CoreSight trace bus.+$ref:/schemas/graph.yaml#/properties/port
s/port/ports/
Ok.
And then you need:
properties:
port:
description: what this port is
$ref: /schemas/graph.yaml#/properties/port
Isn't this already covered by the definition of ports ? There are no
fixed connections for ETE. It is optional and could be connected to
any legacy CoreSight component. i.e, a "ports" object can have port
objects inside.
Given we have defined out-ports as an object "confirming to the ports"
do we need to describe the individual port nodes ?
Cheers
Suzuki
From: Rob Herring <robh@kernel.org> Date: 2021-03-22 17:29:26
On Mon, Mar 22, 2021 at 10:53 AM Suzuki K Poulose
[off-list ref] wrote:
Hi Rob
On 06/03/2021 21:06, Rob Herring wrote:
quoted
On Thu, Feb 25, 2021 at 07:35:39PM +0000, Suzuki K Poulose wrote:
quoted
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 <redacted>
Cc: Rob Herring <robh@kernel.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
---
Changes:
- Fix out-ports defintion
---
.../devicetree/bindings/arm/ete.yaml | 71 +++++++++++++++++++
1 file changed, 71 insertions(+)
create mode 100644 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+%YAML1.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:|+Output connections from the ETE to legacy CoreSight trace bus.+$ref:/schemas/graph.yaml#/properties/port
s/port/ports/
Ok.
quoted
And then you need:
properties:
port:
description: what this port is
$ref: /schemas/graph.yaml#/properties/port
Isn't this already covered by the definition of ports ? There are no
fixed connections for ETE. It is optional and could be connected to
any legacy CoreSight component. i.e, a "ports" object can have port
objects inside.
'properties/ports' only defines that you have 'port' nodes within it.
Given we have defined out-ports as an object "confirming to the ports"
do we need to describe the individual port nodes ?
Yes, you have to define what the 'port' nodes are. A port is a data
stream and you should know what your hardware has. What the data
stream is connected to is outside the scope of the binding.
Rob
From: Suzuki K Poulose <suzuki.poulose@arm.com> Date: 2021-03-22 22:50:18
On 22/03/2021 17:28, Rob Herring wrote:
On Mon, Mar 22, 2021 at 10:53 AM Suzuki K Poulose
[off-list ref] wrote:
quoted
Hi Rob
On 06/03/2021 21:06, Rob Herring wrote:
quoted
On Thu, Feb 25, 2021 at 07:35:39PM +0000, Suzuki K Poulose wrote:
quoted
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 <redacted>
Cc: Rob Herring <robh@kernel.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
---
quoted
quoted
quoted
+ out-ports:
+ description: |
+ Output connections from the ETE to legacy CoreSight trace bus.
+ $ref: /schemas/graph.yaml#/properties/port
s/port/ports/
Ok.
quoted
And then you need:
properties:
port:
description: what this port is
$ref: /schemas/graph.yaml#/properties/port
Isn't this already covered by the definition of ports ? There are no
fixed connections for ETE. It is optional and could be connected to
any legacy CoreSight component. i.e, a "ports" object can have port
objects inside.
'properties/ports' only defines that you have 'port' nodes within it.
quoted
Given we have defined out-ports as an object "confirming to the ports"
do we need to describe the individual port nodes ?
Yes, you have to define what the 'port' nodes are. A port is a data
stream and you should know what your hardware has. What the data
stream is connected to is outside the scope of the binding.
Ok, I have included the above changes for the next version.
Thanks
Suzuki