Thread (11 messages) flat view 11 messages, 3 authors, 2017-01-17
STALE3497d

[PATCH v3 2/3] arm64: dts: juno: fix CoreSight support for Juno r1/r2 variants

From: mathieu.poirier@linaro.org (Mathieu Poirier)
Date: 2017-01-12 16:51:37

On 12 January 2017 at 08:20, Sudeep Holla [off-list ref] wrote:
quoted hunk ↗ jump to hunk
From: Mike Leach <redacted>

The CoreSight support added for Juno is valid for only Juno r0.
The Juno r1 and r2 variants have additional components and alternative
connection routes between trace source and sinks.

This patch builds on top of the existing r0 support and extends it to
Juno r1/r2 variants.

Signed-off-by: Mike Leach <redacted>
[sudeep.holla at arm.com: minor changelog update and reorganising the common
        coresight components back into juno-base.dtsi to avoid duplication]
Signed-off-by: Sudeep Holla <redacted>
---
 arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi | 102 ++++++++++++++++++++++++++++++
 arch/arm64/boot/dts/arm/juno-r1.dts       |   9 +++
 arch/arm64/boot/dts/arm/juno-r2.dts       |   9 +++
 3 files changed, 120 insertions(+)
 create mode 100644 arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi
diff --git a/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi b/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi
new file mode 100644
index 000000000000..89fcef366ff9
--- /dev/null
+++ b/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi
@@ -0,0 +1,102 @@
+       csys1_funnel at 20130000 {
+               compatible = "arm,coresight-funnel", "arm,primecell";
+               reg = <0 0x20130000 0 0x1000>;
+
+               clocks = <&soc_smc50mhz>;
+               clock-names = "apb_pclk";
+               power-domains = <&scpi_devpd 0>;
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       /* input port */
+                       port at 0 {
+                               reg = <0>;
+                               csys1_funnel_out_port: endpoint {
+                                       remote-endpoint =
+                                               <&etf1_in_port>;
+                               };
+                       };
+
+                       /* output port */
+                       port at 1 {
+                               reg = <0>;
+                               csys1_funnel_in_port0: endpoint {
+                                       slave-mode;
+                               };
+                       };
The comments related to the input and output port are reversed.
quoted hunk ↗ jump to hunk
+
+               };
+       };
+
+       etf1 at 20140000 {
+               compatible = "arm,coresight-tmc", "arm,primecell";
+               reg = <0 0x20140000 0 0x1000>;
+
+               clocks = <&soc_smc50mhz>;
+               clock-names = "apb_pclk";
+               power-domains = <&scpi_devpd 0>;
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       /* input port */
+                       port at 0 {
+                               reg = <0>;
+                               etf1_in_port: endpoint {
+                                       slave-mode;
+                                       remote-endpoint =
+                                               <&csys1_funnel_out_port>;
+                               };
+                       };
+
+                       /* output port */
+                       port at 1 {
+                               reg = <0>;
+                               etf1_out_port: endpoint {
+                                       remote-endpoint =
+                                               <&csys2_funnel_in_port1>;
+                               };
+                       };
+               };
+       };
+
+       csys2_funnel at 20150000 {
+               compatible = "arm,coresight-funnel", "arm,primecell";
+               reg = <0 0x20150000 0 0x1000>;
+
+               clocks = <&soc_smc50mhz>;
+               clock-names = "apb_pclk";
+               power-domains = <&scpi_devpd 0>;
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       /* output port */
+                       port at 0 {
+                               reg = <0>;
+                               csys2_funnel_out_port: endpoint {
+                                       remote-endpoint =
+                                               <&replicator_in_port0>;
+                               };
+                       };
+
+                       /* input ports */
+                       port at 1 {
+                               reg = <0>;
+                               csys2_funnel_in_port0: endpoint {
+                                       slave-mode;
+                                       remote-endpoint = <&etf0_out_port>;
+                               };
+                       };
+
+                       port at 2 {
+                               reg = <1>;
+                               csys2_funnel_in_port1: endpoint {
+                                       slave-mode;
+                                       remote-endpoint = <&etf1_out_port>;
+                               };
+                       };
+
+               };
+       };
diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts
index eec37feee8fc..d4b85d9d343e 100644
--- a/arch/arm64/boot/dts/arm/juno-r1.dts
+++ b/arch/arm64/boot/dts/arm/juno-r1.dts
@@ -178,6 +178,7 @@
        };

        #include "juno-base.dtsi"
+       #include "juno-cs-r1r2.dtsi"
 };

 &memtimer {
@@ -227,3 +228,11 @@
 &gpu1_thermal_zone {
        status = "okay";
 };
+
+&etf0_out_port {
+       remote-endpoint = <&csys2_funnel_in_port0>;
+};
+
+&replicator_in_port0 {
+       remote-endpoint = <&csys2_funnel_out_port>;
+};
diff --git a/arch/arm64/boot/dts/arm/juno-r2.dts b/arch/arm64/boot/dts/arm/juno-r2.dts
index 28f40ec44090..14b29517065c 100644
--- a/arch/arm64/boot/dts/arm/juno-r2.dts
+++ b/arch/arm64/boot/dts/arm/juno-r2.dts
@@ -178,6 +178,7 @@
        };

        #include "juno-base.dtsi"
+       #include "juno-cs-r1r2.dtsi"
 };

 &memtimer {
@@ -227,3 +228,11 @@
 &gpu1_thermal_zone {
        status = "okay";
 };
+
+&etf0_out_port {
+       remote-endpoint = <&csys2_funnel_in_port0>;
+};
+
+&replicator_in_port0 {
+       remote-endpoint = <&csys2_funnel_out_port>;
+};
--
2.7.4

_______________________________________________
CoreSight mailing list
CoreSight at lists.linaro.org
https://lists.linaro.org/mailman/listinfo/coresight
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help