diff mbox series

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

Message ID 20200911084119.1080694-20-suzuki.poulose@arm.com
State New
Headers show
Series None | 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(-)

-- 
2.24.1

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




-- 
Mike Leach
Principal Engineer, ARM Ltd.
Manchester Design Centre. UK
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";