blob: 5e2acfb4f9119de804f7206cb5457470333bf5f0 [file] [log] [blame]
menuconfig CORESIGHT
bool "CoreSight Tracing Support"
help
CoreSight components are compliant with the ARM CoreSight
architecture specification and can be connected in various
topologies to suite a particular SoCs 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.
This framework provides an interface for the CoreSight debug and
trace drivers to register themselves with. It's intended to build
up a topological view of the CoreSight components and configure
the right series of components on user input via sysfs. It also
provides status information to user space applications through
sysfs interface.
If unsure, say 'N' here to avoid potential power, performance and
memory penalty.
if CORESIGHT
config HAVE_CORESIGHT_SINK
bool
config CORESIGHT_FUSE
bool "CoreSight Fuse driver"
help
This driver provides support for CoreSight Fuse state checks that
other CoreSight drivers can query to determine existence of
Hardware functionality they support. Drivers can then take necessary
actions like failing the probe if the Hardware they manage is
functionally disabled.
config CORESIGHT_CTI
bool "CoreSight Cross Trigger Interface driver"
help
This driver provides support for Cross Trigger Interface that is
used to input or output i.e. pass cross trigger events from one
hardware component to another. It can also be used to pass
software generated events.
config CORESIGHT_CSR
bool "CoreSight Slave Register driver"
help
This driver provides support for CoreSight Slave Register block
that hosts miscellaneous configuration registers.
config CORESIGHT_TMC
bool "CoreSight Trace Memory Controller driver"
select CORESIGHT_CTI
select CORESIGHT_CSR
select HAVE_CORESIGHT_SINK
help
This driver provides support for Trace Memory Controller which
can be configured as either an ETB (Embedded Trace Buffer),
ETR (Embedded Trace Router) or ETF (Embedded Trace Fifo). It acts
as sink when configured as ETB, ETR or ETF in circular buffer mode
whereas it is a link when configured as ETF in hardware fifo mode.
ETB collects trace data in a circular buffer whereas ETR can be
used to route trace data to memory allocated in RAM. ETF in
circular buffer mode is like an ETB whereas in hardware fifo mode
it is a fifo link.
config CORESIGHT_TPIU
bool "CoreSight Trace Port Interface Unit driver"
select HAVE_CORESIGHT_SINK
help
This driver provides support for Trace Port Interface Unit which
acts as a conduit for offchip trace collection.
config CORESIGHT_ETB
bool "CoreSight Embedded Trace Buffer driver"
select HAVE_CORESIGHT_SINK
help
This driver provides support for the legacy Embedded Trace Buffer
which is a circular buffer.
if HAVE_CORESIGHT_SINK
config CORESIGHT_FUNNEL
bool "CoreSight Funnel driver"
help
This driver provides support for Funnel which is a link that
typically has multiple input ports and a single output port. Input
trace data streams from the input ports are interleaved into a
single output trace data stream coming out of the output port.
config CORESIGHT_REPLICATOR
bool "CoreSight Replicator driver"
help
This driver provides support for Replicator that typically has
a single input port and two output ports. Single trace data
stream on the input port is replicated to produce two identical
trace data output streams coming out of the two output ports.
config CORESIGHT_STM
bool "CoreSight System Trace Macrocell driver"
help
This driver provides support for hardware assisted software
instrumentation based tracing. This is primarily useful for
logging useful software events or data.
config CORESIGHT_STM_DEFAULT_ENABLE
bool "Turn on STM tracing by default"
depends on CORESIGHT_STM
help
Turns on CoreSight STM tracing (hardware assisted software
instrumentation based tracing) by default. Otherwise, tracing is
disabled by default but can be enabled via sysfs.
If unsure, say 'N' here to avoid potential power and performance
penalty.
config CORESIGHT_HWEVENT
bool "CoreSight Hardware Event driver"
depends on CORESIGHT_STM
select CORESIGHT_CSR
help
This driver provides support for monitoring and tracing CoreSight
Hardware Event across STM interface. It configures Coresight
Hardware Event mux control registers to select hardware events
based on user input.
config CORESIGHT_ETM
bool "CoreSight Embedded Trace Macrocell driver"
help
This driver provides support for processor tracing which allows
tracing the instructions that the processor is executing. This is
primarily useful for instruction level tracing.
config CORESIGHT_ETM_DEFAULT_ENABLE
bool "Turn on ETM tracing by default"
depends on CORESIGHT_ETM
help
Turns on CoreSight ETM tracing (processor tracing) by default.
Otherwise, tracing is disabled by default but can be enabled via
sysfs.
If unsure, say 'N' here to avoid potential power and performance
penalty.
config CORESIGHT_ETM_PCSAVE_DEFAULT_ENABLE
bool "Turn on PC saving by default"
depends on CORESIGHT_ETM
help
Turns on program counter saving on reset by default. Otherwise,
PC saving is disabled by default but can be enabled via sysfs.
If unsure, say 'N' here to avoid potential power penalty.
endif
config CORESIGHT_EVENT
tristate "CoreSight Event driver"
help
This driver provides support for registering with various events
and performing CoreSight actions like aborting trace on their
occurrence.
endif