Thread (17 messages) 17 messages, 3 authors, 2014-08-25

[PATCH 09/11 v4] coresight: adding support for beagle and beagleXM

From: Marcin Jabrzyk <hidden>
Date: 2014-08-25 21:01:21
Also in: lkml

Hello,

W dniu 25.08.2014 o 16:02, Mathieu Poirier pisze:
On 24 August 2014 15:38, Marcin Jabrzyk [off-list ref] wrote:
quoted
Hi,

W dniu 20.08.2014 o 19:03, mathieu.poirier at linaro.org pisze:
quoted
From: Mathieu Poirier <mathieu.poirier@linaro.org>

Currently supporting ETM and ETB.  Support for TPIU
and SDTI are yet to be added.
Did you tried running the drivers on board or are there any special
preparation needed?
I've BeagleBoard-xM Rev. C applied your patches and enabled the
functions the in menuconfig.
But on dmesg I see that:

[    0.685028] of_amba_device_create(): amba_device_add() failed (-19)
for /etb at 5401b000
[    0.685119] of_amba_device_create(): amba_device_add() failed (-19)
for /etm at 54010000

There are no nodes according coresight in /sys/kernel/debug/ .
Right, that is because there is a problem in mainline with enabling
"emu_src_ck".  The call to "clk_prepare_enable()" returns without
waiting for the clock to effectively be enabled, preventing the
components from being discovered properly.

The work around (non-upstreamable) is to have a driver getting a hold
of the clock before AMBA devices are probed.  I can send you that code
(10 lines) if need be.
Ok I can confirm that this patch works fine for BeagleBoard-xM. After
applying workaround for that clock the devices are properly discovered
and visible through sysfs entries.

Thanks,
Marcin
quoted
Best regards,
Marcin
quoted
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
---
 arch/arm/boot/dts/omap3-beagle-xm.dts | 28 ++++++++++++++++++++++++++++
 arch/arm/boot/dts/omap3-beagle.dts    | 28 ++++++++++++++++++++++++++++
 2 files changed, 56 insertions(+)
diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts
index 1becefc..eec73d8 100644
--- a/arch/arm/boot/dts/omap3-beagle-xm.dts
+++ b/arch/arm/boot/dts/omap3-beagle-xm.dts
@@ -145,6 +145,34 @@
                      };
              };
      };
+
+     etb at 5401b000 {
+             compatible = "arm,coresight-etb10", "arm,primecell";
+             reg = <0x5401b000 0x1000>;
+
+             coresight-default-sink;
+             clocks = <&emu_src_ck>;
+             clock-names = "apb_pclk";
+             port {
+                     etb_in: endpoint {
+                             slave-mode;
+                             remote-endpoint = <&etm_out>;
+                     };
+             };
+     };
+
+     etm at 54010000 {
+             compatible = "arm,coresight-etm3x", "arm,primecell";
+             reg = <0x54010000 0x1000>;
+
+             clocks = <&emu_src_ck>;
+             clock-names = "apb_pclk";
+             port {
+                     etm_out: endpoint {
+                             remote-endpoint = <&etb_in>;
+                     };
+             };
+     };
 };

 &omap3_pmx_wkup {
diff --git a/arch/arm/boot/dts/omap3-beagle.dts b/arch/arm/boot/dts/omap3-beagle.dts
index 3c3e6da..a151daf 100644
--- a/arch/arm/boot/dts/omap3-beagle.dts
+++ b/arch/arm/boot/dts/omap3-beagle.dts
@@ -140,6 +140,34 @@
                      };
              };
      };
+
+     etb at 540000000 {
+             compatible = "arm,coresight-etb10", "arm,primecell";
+             reg = <0x5401b000 0x1000>;
+
+             coresight-default-sink;
+             clocks = <&emu_src_ck>;
+             clock-names = "apb_pclk";
+             port {
+                     etb_in: endpoint {
+                             slave-mode;
+                             remote-endpoint = <&etm_out>;
+                     };
+             };
+     };
+
+     etm at 54010000 {
+             compatible = "arm,coresight-etm3x", "arm,primecell";
+             reg = <0x54010000 0x1000>;
+
+             clocks = <&emu_src_ck>;
+             clock-names = "apb_pclk";
+             port {
+                     etm_out: endpoint {
+                             remote-endpoint = <&etb_in>;
+                     };
+             };
+     };
 };

 &omap3_pmx_wkup {
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help