diff mbox series

[19/19] dts: bindings: coresight: ETMv4.4 system register access only units

Message ID 20200911084119.1080694-20-suzuki.poulose@arm.com (mailing list archive)
State New, archived
Headers show
Series coresight: Support for ETMv4.4 system instructions | expand

Commit Message

Suzuki K Poulose Sept. 11, 2020, 8:41 a.m. UTC
Document the bindings for ETMv4.4 and later with only system register
access.

Cc: devicetree@vger.kernel.org
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Mike Leach <mike.leach@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
---
 Documentation/devicetree/bindings/arm/coresight.txt | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Mike Leach Sept. 18, 2020, 3:35 p.m. UTC | #1
On Fri, 11 Sep 2020 at 09:41, Suzuki K Poulose <suzuki.poulose@arm.com> wrote:
>
> Document the bindings for ETMv4.4 and later with only system register
> access.
>
> Cc: devicetree@vger.kernel.org
> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
> Cc: Mike Leach <mike.leach@linaro.org>
> Reviewed-by: Rob Herring <robh@kernel.org>
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
> ---
>  Documentation/devicetree/bindings/arm/coresight.txt | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/arm/coresight.txt b/Documentation/devicetree/bindings/arm/coresight.txt
> index d711676b4a51..cfe47bdda728 100644
> --- a/Documentation/devicetree/bindings/arm/coresight.txt
> +++ b/Documentation/devicetree/bindings/arm/coresight.txt
> @@ -34,9 +34,13 @@ its hardware characteristcs.
>                                         Program Flow Trace Macrocell:
>                         "arm,coresight-etm3x", "arm,primecell";
>
> -               - Embedded Trace Macrocell (version 4.x):
> +               - Embedded Trace Macrocell (version 4.x), with memory mapped access.
>                         "arm,coresight-etm4x", "arm,primecell";
>
> +               - Embedded Trace Macrocell (version 4.4 and later) with system
> +                 register access only.
> +                       "arm,coresight-etm-v4.4";

Any version of ETM can implement register access - including those pre
ETM 4.4. Perhaps the new name should simply reflect sys reg access
rather than a version.

Given that the two compatibility strings should be mutually exclusive
for a given device, should the bindings doc (or at least the etm4x
component part) be re-written into the .yaml format so that this can
be enforced?

Regards

Mike


> +
>                 - Coresight programmable Replicator :
>                         "arm,coresight-dynamic-replicator", "arm,primecell";
>
> --
> 2.24.1
>


--
Mike Leach
Principal Engineer, ARM Ltd.
Manchester Design Centre. UK
Suzuki K Poulose Sept. 24, 2020, 9:48 a.m. UTC | #2
On 09/18/2020 04:35 PM, Mike Leach wrote:
> On Fri, 11 Sep 2020 at 09:41, Suzuki K Poulose <suzuki.poulose@arm.com> wrote:
>>
>> Document the bindings for ETMv4.4 and later with only system register
>> access.
>>
>> Cc: devicetree@vger.kernel.org
>> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
>> Cc: Mike Leach <mike.leach@linaro.org>
>> Reviewed-by: Rob Herring <robh@kernel.org>
>> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
>> ---
>>   Documentation/devicetree/bindings/arm/coresight.txt | 6 +++++-
>>   1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/coresight.txt b/Documentation/devicetree/bindings/arm/coresight.txt
>> index d711676b4a51..cfe47bdda728 100644
>> --- a/Documentation/devicetree/bindings/arm/coresight.txt
>> +++ b/Documentation/devicetree/bindings/arm/coresight.txt
>> @@ -34,9 +34,13 @@ its hardware characteristcs.
>>                                          Program Flow Trace Macrocell:
>>                          "arm,coresight-etm3x", "arm,primecell";
>>
>> -               - Embedded Trace Macrocell (version 4.x):
>> +               - Embedded Trace Macrocell (version 4.x), with memory mapped access.
>>                          "arm,coresight-etm4x", "arm,primecell";
>>
>> +               - Embedded Trace Macrocell (version 4.4 and later) with system
>> +                 register access only.
>> +                       "arm,coresight-etm-v4.4";
> 
> Any version of ETM can implement register access - including those pre
> ETM 4.4. Perhaps the new name should simply reflect sys reg access
> rather than a version.
> 

You're right. I got it confused with the v8.4 SelfHosted Extensions, which
mandates the sysreg access and makes the mem I/O obsolete. How about :

	"arm,coresight-etm4x-sysreg" ?


> Given that the two compatibility strings should be mutually exclusive
> for a given device, should the bindings doc (or at least the etm4x
> component part) be re-written into the .yaml format so that this can
> be enforced?

I will take a look, haven't played with the yaml.

Thanks for the review !

Suzuki
Mike Leach Sept. 24, 2020, 10:08 a.m. UTC | #3
Hi suzuki,

On Thu, 24 Sep 2020 at 10:43, Suzuki K Poulose <suzuki.poulose@arm.com> wrote:
>
> On 09/18/2020 04:35 PM, Mike Leach wrote:
> > On Fri, 11 Sep 2020 at 09:41, Suzuki K Poulose <suzuki.poulose@arm.com> wrote:
> >>
> >> Document the bindings for ETMv4.4 and later with only system register
> >> access.
> >>
> >> Cc: devicetree@vger.kernel.org
> >> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
> >> Cc: Mike Leach <mike.leach@linaro.org>
> >> Reviewed-by: Rob Herring <robh@kernel.org>
> >> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
> >> ---
> >>   Documentation/devicetree/bindings/arm/coresight.txt | 6 +++++-
> >>   1 file changed, 5 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/Documentation/devicetree/bindings/arm/coresight.txt b/Documentation/devicetree/bindings/arm/coresight.txt
> >> index d711676b4a51..cfe47bdda728 100644
> >> --- a/Documentation/devicetree/bindings/arm/coresight.txt
> >> +++ b/Documentation/devicetree/bindings/arm/coresight.txt
> >> @@ -34,9 +34,13 @@ its hardware characteristcs.
> >>                                          Program Flow Trace Macrocell:
> >>                          "arm,coresight-etm3x", "arm,primecell";
> >>
> >> -               - Embedded Trace Macrocell (version 4.x):
> >> +               - Embedded Trace Macrocell (version 4.x), with memory mapped access.
> >>                          "arm,coresight-etm4x", "arm,primecell";
> >>
> >> +               - Embedded Trace Macrocell (version 4.4 and later) with system
> >> +                 register access only.
> >> +                       "arm,coresight-etm-v4.4";
> >
> > Any version of ETM can implement register access - including those pre
> > ETM 4.4. Perhaps the new name should simply reflect sys reg access
> > rather than a version.
> >
>
> You're right. I got it confused with the v8.4 SelfHosted Extensions, which
> mandates the sysreg access and makes the mem I/O obsolete. How about :
>
>         "arm,coresight-etm4x-sysreg" ?
>
>
Seems reasonable.
Perhaps ensure that the accompanying comment mentions that this is
aarch64 access (to cover the unlikely event that some outlier
implementation does come along with v8 aarch32 + ETMv4 + sysreg
access!)

> > Given that the two compatibility strings should be mutually exclusive
> > for a given device, should the bindings doc (or at least the etm4x
> > component part) be re-written into the .yaml format so that this can
> > be enforced?
>
> I will take a look, haven't played with the yaml.
>

I used it to describe the CTI bindings as these were brand new.
Reasonably straight forwards - there are plenty of examples and the
checking tools are pretty good.

Regards

Mike


> Thanks for the review !
>
> Suzuki
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/arm/coresight.txt b/Documentation/devicetree/bindings/arm/coresight.txt
index d711676b4a51..cfe47bdda728 100644
--- a/Documentation/devicetree/bindings/arm/coresight.txt
+++ b/Documentation/devicetree/bindings/arm/coresight.txt
@@ -34,9 +34,13 @@  its hardware characteristcs.
 					Program Flow Trace Macrocell:
 			"arm,coresight-etm3x", "arm,primecell";
 
-		- Embedded Trace Macrocell (version 4.x):
+		- Embedded Trace Macrocell (version 4.x), with memory mapped access.
 			"arm,coresight-etm4x", "arm,primecell";
 
+		- Embedded Trace Macrocell (version 4.4 and later) with system
+		  register access only.
+			"arm,coresight-etm-v4.4";
+
 		- Coresight programmable Replicator :
 			"arm,coresight-dynamic-replicator", "arm,primecell";