diff mbox series

[06/11] dts: bindings: Document device tree bindings for ETE

Message ID 1608717823-18387-7-git-send-email-anshuman.khandual@arm.com
State New
Headers show
Series None | expand

Commit Message

Anshuman Khandual Dec. 23, 2020, 10:03 a.m. UTC
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.txt | 41 +++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/ete.txt

-- 
2.7.4

Comments

Rob Herring (Arm) Jan. 3, 2021, 5:02 p.m. UTC | #1
On Wed, Dec 23, 2020 at 03:33:38PM +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.txt | 41 +++++++++++++++++++++++++++

>  1 file changed, 41 insertions(+)

>  create mode 100644 Documentation/devicetree/bindings/arm/ete.txt


Bindings are in schema format now, please convert this.

> 

> diff --git a/Documentation/devicetree/bindings/arm/ete.txt b/Documentation/devicetree/bindings/arm/ete.txt

> new file mode 100644

> index 0000000..b52b507

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/arm/ete.txt

> @@ -0,0 +1,41 @@

> +Arm Embedded Trace Extensions

> +

> +Arm Embedded Trace Extensions (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.

> +

> +** ETE Required properties:

> +

> +- compatible : should be one of:

> +	"arm,embedded-trace-extensions"

> +

> +- cpu : the CPU phandle this ETE belongs to.


If this is 1:1 with CPUs, then perhaps it should be a child node of the 
CPU nodes.

> +

> +** Optional properties:

> +- CoreSight connection graph, see bindings/arm/coresight.txt.

> +

> +** Example:

> +

> +ete_0 {

> +	compatible = "arm,embedded-trace-extension";

> +	cpu = <&cpu_0>;

> +};

> +

> +ete_1 {

> +	compatible = "arm,embedded-trace-extension";

> +	cpu = <&cpu_1>;

> +

> +	out-ports {	/* legacy CoreSight connection */

> +		port {

> +			ete1_out_port: endpoint@0 {

> +				remote-endpoint = <&funnel_in_port0>;

> +			};

> +		};

> +	};

> +};

> -- 

> 2.7.4

>
Suzuki K Poulose Jan. 4, 2021, 2:42 p.m. UTC | #2
Hi Rob,

On 1/3/21 5:02 PM, Rob Herring wrote:
> On Wed, Dec 23, 2020 at 03:33:38PM +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.txt | 41 +++++++++++++++++++++++++++

>>   1 file changed, 41 insertions(+)

>>   create mode 100644 Documentation/devicetree/bindings/arm/ete.txt

> 

> Bindings are in schema format now, please convert this.

> 


Sure, will do that.

>>

>> diff --git a/Documentation/devicetree/bindings/arm/ete.txt b/Documentation/devicetree/bindings/arm/ete.txt

>> new file mode 100644

>> index 0000000..b52b507

>> --- /dev/null

>> +++ b/Documentation/devicetree/bindings/arm/ete.txt

>> @@ -0,0 +1,41 @@

>> +Arm Embedded Trace Extensions

>> +

>> +Arm Embedded Trace Extensions (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.

>> +

>> +** ETE Required properties:

>> +

>> +- compatible : should be one of:

>> +	"arm,embedded-trace-extensions"

>> +

>> +- cpu : the CPU phandle this ETE belongs to.

> 

> If this is 1:1 with CPUs, then perhaps it should be a child node of the

> CPU nodes.


Yes, it is 1:1 with the CPUs. I have tried to keep this aligned with that of
"coresight-etm4x". The same driver handles both. The only reason why this
was separated from the "coresight.txt" is to describe the new configurations
possible (read, TRBE).

That said, I am happy to move this under the CPU, if Mathieu is happy with
the diversion.

Thanks for the review.

Suzuki
Mathieu Poirier Jan. 4, 2021, 6:15 p.m. UTC | #3
On Mon, Jan 04, 2021 at 02:42:08PM +0000, Suzuki K Poulose wrote:
> Hi Rob,

> 

> On 1/3/21 5:02 PM, Rob Herring wrote:

> > On Wed, Dec 23, 2020 at 03:33:38PM +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.txt | 41 +++++++++++++++++++++++++++

> > >   1 file changed, 41 insertions(+)

> > >   create mode 100644 Documentation/devicetree/bindings/arm/ete.txt

> > 

> > Bindings are in schema format now, please convert this.

> > 

> 

> Sure, will do that.

> 

> > > 

> > > diff --git a/Documentation/devicetree/bindings/arm/ete.txt b/Documentation/devicetree/bindings/arm/ete.txt

> > > new file mode 100644

> > > index 0000000..b52b507

> > > --- /dev/null

> > > +++ b/Documentation/devicetree/bindings/arm/ete.txt

> > > @@ -0,0 +1,41 @@

> > > +Arm Embedded Trace Extensions

> > > +

> > > +Arm Embedded Trace Extensions (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.

> > > +

> > > +** ETE Required properties:

> > > +

> > > +- compatible : should be one of:

> > > +	"arm,embedded-trace-extensions"

> > > +

> > > +- cpu : the CPU phandle this ETE belongs to.

> > 

> > If this is 1:1 with CPUs, then perhaps it should be a child node of the

> > CPU nodes.

> 

> Yes, it is 1:1 with the CPUs. I have tried to keep this aligned with that of

> "coresight-etm4x". The same driver handles both. The only reason why this

> was separated from the "coresight.txt" is to describe the new configurations

> possible (read, TRBE).


Would it be possible to keep the CPU handle rather than moving things under the
CPU nodes?  ETMv3.x and ETMv4.x are using a handle and as Suzuki points out ETE
and ETMv4.x are sharing the same driver.  Proceeding differently for the ETE
would be terribly confusing.

> 

> That said, I am happy to move this under the CPU, if Mathieu is happy with

> the diversion.

> 

> Thanks for the review.

> 

> Suzuki
Rob Herring (Arm) Jan. 4, 2021, 8:31 p.m. UTC | #4
On Mon, Jan 4, 2021 at 11:15 AM Mathieu Poirier
<mathieu.poirier@linaro.org> wrote:
>

> On Mon, Jan 04, 2021 at 02:42:08PM +0000, Suzuki K Poulose wrote:

> > Hi Rob,

> >

> > On 1/3/21 5:02 PM, Rob Herring wrote:

> > > On Wed, Dec 23, 2020 at 03:33:38PM +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.txt | 41 +++++++++++++++++++++++++++

> > > >   1 file changed, 41 insertions(+)

> > > >   create mode 100644 Documentation/devicetree/bindings/arm/ete.txt

> > >

> > > Bindings are in schema format now, please convert this.

> > >

> >

> > Sure, will do that.

> >

> > > >

> > > > diff --git a/Documentation/devicetree/bindings/arm/ete.txt b/Documentation/devicetree/bindings/arm/ete.txt

> > > > new file mode 100644

> > > > index 0000000..b52b507

> > > > --- /dev/null

> > > > +++ b/Documentation/devicetree/bindings/arm/ete.txt

> > > > @@ -0,0 +1,41 @@

> > > > +Arm Embedded Trace Extensions

> > > > +

> > > > +Arm Embedded Trace Extensions (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.

> > > > +

> > > > +** ETE Required properties:

> > > > +

> > > > +- compatible : should be one of:

> > > > + "arm,embedded-trace-extensions"

> > > > +

> > > > +- cpu : the CPU phandle this ETE belongs to.

> > >

> > > If this is 1:1 with CPUs, then perhaps it should be a child node of the

> > > CPU nodes.

> >

> > Yes, it is 1:1 with the CPUs. I have tried to keep this aligned with that of

> > "coresight-etm4x". The same driver handles both. The only reason why this

> > was separated from the "coresight.txt" is to describe the new configurations

> > possible (read, TRBE).

>

> Would it be possible to keep the CPU handle rather than moving things under the

> CPU nodes?  ETMv3.x and ETMv4.x are using a handle and as Suzuki points out ETE

> and ETMv4.x are sharing the same driver.  Proceeding differently for the ETE

> would be terribly confusing.


Yeah, no problem.

Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/arm/ete.txt b/Documentation/devicetree/bindings/arm/ete.txt
new file mode 100644
index 0000000..b52b507
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/ete.txt
@@ -0,0 +1,41 @@ 
+Arm Embedded Trace Extensions
+
+Arm Embedded Trace Extensions (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.
+
+** ETE Required properties:
+
+- compatible : should be one of:
+	"arm,embedded-trace-extensions"
+
+- cpu : the CPU phandle this ETE belongs to.
+
+** Optional properties:
+- CoreSight connection graph, see bindings/arm/coresight.txt.
+
+** Example:
+
+ete_0 {
+	compatible = "arm,embedded-trace-extension";
+	cpu = <&cpu_0>;
+};
+
+ete_1 {
+	compatible = "arm,embedded-trace-extension";
+	cpu = <&cpu_1>;
+
+	out-ports {	/* legacy CoreSight connection */
+		port {
+			ete1_out_port: endpoint@0 {
+				remote-endpoint = <&funnel_in_port0>;
+			};
+		};
+	};
+};