[PATCH 09/11 v4] coresight: adding support for beagle and beagleXM
From: mathieu.poirier@linaro.org (Mathieu Poirier)
Date: 2014-08-25 14:02:45
Also in:
lkml
On 24 August 2014 15:38, Marcin Jabrzyk [off-list ref] wrote:
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.
Best regards, Marcinquoted
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 {