Message ID | 1408554231-24321-10-git-send-email-mathieu.poirier@linaro.org |
---|---|
State | Superseded |
Headers | show |
Hi, W dniu 20.08.2014 o 19:03, mathieu.poirier@linaro.org pisze: > 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@5401b000 [ 0.685119] of_amba_device_create(): amba_device_add() failed (-19) for /etm@54010000 There are no nodes according coresight in /sys/kernel/debug/ . Best regards, Marcin > > 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@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@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@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@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 {
On 24 August 2014 15:38, Marcin Jabrzyk <marcin.jabrzyk@gmail.com> wrote: > Hi, > > W dniu 20.08.2014 o 19:03, mathieu.poirier@linaro.org pisze: >> 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@5401b000 > [ 0.685119] of_amba_device_create(): amba_device_add() failed (-19) > for /etm@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, > Marcin > >> >> 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@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@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@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@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 { >
Hello, W dniu 25.08.2014 o 16:02, Mathieu Poirier pisze: > On 24 August 2014 15:38, Marcin Jabrzyk <marcin.jabrzyk@gmail.com> wrote: >> Hi, >> >> W dniu 20.08.2014 o 19:03, mathieu.poirier@linaro.org pisze: >>> 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@5401b000 >> [ 0.685119] of_amba_device_create(): amba_device_add() failed (-19) >> for /etm@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 > >> Best regards, >> Marcin >> >>> 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@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@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@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@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-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@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@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@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@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 {