Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9478a30a authored by Pratik Patel's avatar Pratik Patel Committed by Mathieu Poirier
Browse files

coresight: add CoreSight core layer framework



CoreSight components are compliant with the ARM CoreSight
architecture specification and can be connected in various
topologies to suit a particular SoC tracing needs. These trace
components can generally be classified as sources, links and
sinks. Trace data produced by one or more sources flows through
the intermediate links connecting the source to the currently
selected sink.

The CoreSight framework provides an interface for the CoreSight trace
drivers to register themselves with. It's intended to build up a
topological view of the CoreSight components and configure the
correct serie of components on user input via sysfs.

For eg., when enabling a source, the framework builds up a path
consisting of all the components connecting the source to the
currently selected sink(s) and enables all of them.

The framework also supports switching between available sinks
and provides status information to user space applications
through the debugfs interface.

Signed-off-by: default avatarPratik Patel <pratikp@codeaurora.org>
Signed-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit a06ae8609b3dd06b957a6e4e965772a8a14d3af5)
Signed-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>

Conflicts:
	arch/arm/Kconfig.debug
	drivers/Makefile
parent 8c9f0fc8
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -918,6 +918,14 @@ M: Hubert Feurstein <hubert.feurstein@contec.at>
S:	Maintained
F:	arch/arm/mach-ep93xx/micro9.c

ARM/CORESIGHT FRAMEWORK AND DRIVERS
M:	Mathieu Poirier <mathieu.poirier@linaro.org>
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S:	Maintained
F:	drivers/coresight/*
F:	Documentation/trace/coresight.txt
F:	Documentation/devicetree/bindings/arm/coresight.txt

ARM/CORGI MACHINE SUPPORT
M:	Richard Purdie <rpurdie@rpsys.net>
S:	Maintained
+9 −0
Original line number Diff line number Diff line
@@ -1331,4 +1331,13 @@ config DEBUG_SET_MODULE_RONX
	  against certain classes of kernel exploits.
	  If in doubt, say "N".

menuconfig CORESIGHT
	bool "CoreSight Tracing Support"
	select ARM_AMBA
	help
	  This framework provides a kernel interface for the CoreSight debug
	  and trace drivers to register themselves with. It's intended to build
	  a topological view of the CoreSight components based on a DT
	  specification and configure the right serie of components when a
	  trace source gets enabled.
endmenu
+1 −0
Original line number Diff line number Diff line
@@ -161,3 +161,4 @@ obj-$(CONFIG_POWERCAP) += powercap/
obj-$(CONFIG_MCB)		+= mcb/
obj-$(CONFIG_RAS)		+= ras/
obj-$(CONFIG_THUNDERBOLT)	+= thunderbolt/
obj-$(CONFIG_CORESIGHT)		+= coresight/
+1 −1
Original line number Diff line number Diff line
@@ -336,7 +336,7 @@ int amba_device_add(struct amba_device *dev, struct resource *parent)

		amba_put_disable_pclk(dev);

		if (cid == AMBA_CID)
		if (cid == AMBA_CID || cid == CORESIGHT_CID)
			dev->periphid = pid;

		if (!dev->periphid)
+5 −0
Original line number Diff line number Diff line
#
# Makefile for CoreSight drivers.
#
obj-$(CONFIG_CORESIGHT) += coresight.o
obj-$(CONFIG_OF) += of_coresight.o
Loading