| # |
| # Coresight configuration |
| # |
| menuconfig CORESIGHT |
| bool "CoreSight Tracing Support" |
| select ARM_AMBA |
| select PERF_EVENTS |
| 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 series of components when a |
| trace source gets enabled. |
| |
| if CORESIGHT |
| config CORESIGHT_LINKS_AND_SINKS |
| bool "CoreSight Link and Sink drivers" |
| help |
| This enables support for CoreSight link and sink drivers that are |
| responsible for transporting and collecting the trace data |
| respectively. Link and sinks are dynamically aggregated with a trace |
| entity at run time to form a complete trace path. |
| |
| config CORESIGHT_LINK_AND_SINK_TMC |
| bool "Coresight generic TMC driver" |
| depends on CORESIGHT_LINKS_AND_SINKS |
| select CORESIGHT_CSR |
| help |
| This enables support for the Trace Memory Controller driver. |
| Depending on its configuration the device can act as a link (embedded |
| trace router - ETR) or sink (embedded trace FIFO). The driver |
| complies with the generic implementation of the component without |
| special enhancement or added features. |
| |
| config CORESIGHT_SINK_TPIU |
| bool "Coresight generic TPIU driver" |
| depends on CORESIGHT_LINKS_AND_SINKS |
| help |
| This enables support for the Trace Port Interface Unit driver, |
| responsible for bridging the gap between the on-chip coresight |
| components and a trace for bridging the gap between the on-chip |
| coresight components and a trace port collection engine, typically |
| connected to an external host for use case capturing more traces than |
| the on-board coresight memory can handle. |
| |
| config CORESIGHT_SINK_ETBV10 |
| bool "Coresight ETBv1.0 driver" |
| depends on CORESIGHT_LINKS_AND_SINKS |
| help |
| This enables support for the Embedded Trace Buffer version 1.0 driver |
| that complies with the generic implementation of the component without |
| special enhancement or added features. |
| |
| config CORESIGHT_SOURCE_ETM3X |
| bool "CoreSight Embedded Trace Macrocell 3.x driver" |
| depends on !ARM64 |
| select CORESIGHT_LINKS_AND_SINKS |
| help |
| This driver provides support for processor ETM3.x and PTM1.x modules, |
| which allows tracing the instructions that a processor is executing |
| This is primarily useful for instruction level tracing. Depending |
| the ETM version data tracing may also be available. |
| |
| config CORESIGHT_SOURCE_ETM4X |
| bool "CoreSight Embedded Trace Macrocell 4.x driver" |
| depends on ARM64 |
| select CORESIGHT_LINKS_AND_SINKS |
| help |
| This driver provides support for the ETM4.x tracer module, tracing the |
| instructions that a processor is executing. This is primarily useful |
| for instruction level tracing. Depending on the implemented version |
| data tracing may also be available. |
| |
| config CORESIGHT_REMOTE_ETM |
| bool "Remote processor ETM trace support" |
| depends on MSM_QMI_INTERFACE |
| help |
| Enables support for ETM trace collection on remote processor using |
| CoreSight framework. Enabling this will allow turning on ETM |
| tracing on remote processor via sysfs by configuring the required |
| CoreSight components. |
| |
| config CORESIGHT_REMOTE_ETM_DEFAULT_ENABLE |
| int "default enable ETM for Remote processor based on instance id" |
| depends on CORESIGHT_REMOTE_ETM |
| help |
| Support for enabling separated Remote processor ETM tracing. Depends |
| on if instance id bit is set. |
| |
| config CORESIGHT_QCOM_REPLICATOR |
| bool "Qualcomm CoreSight Replicator driver" |
| depends on CORESIGHT_LINKS_AND_SINKS |
| help |
| This enables support for Qualcomm CoreSight link driver. The |
| programmable ATB replicator sends the ATB trace stream from the |
| ETB/ETF to the TPIUi and ETR. |
| |
| config CORESIGHT_DBGUI |
| bool "CoreSight DebugUI driver" |
| help |
| This driver provides support for DebugUI that helps to capture |
| the value at a specified address. It allows configuring DebugUI |
| to select specified address and trigger mode based on user |
| input. |
| |
| config CORESIGHT_STM |
| bool "CoreSight System Trace Macrocell driver" |
| depends on (ARM && !(CPU_32v3 || CPU_32v4 || CPU_32v4T)) || ARM64 |
| select CORESIGHT_LINKS_AND_SINKS |
| select STM |
| select CORESIGHT_OST |
| help |
| This driver provides support for hardware assisted software |
| instrumentation based tracing. This is primarily used for |
| logging useful software events or data coming from various entities |
| in the system, possibly running different OSs |
| |
| config CORESIGHT_OST |
| bool "CoreSight OST framework" |
| depends on CORESIGHT_STM |
| help |
| This enables support for OST packet in STM. |
| |
| config CORESIGHT_TPDA |
| bool "CoreSight Trace, Profiling & Diagnostics Aggregator driver" |
| help |
| This driver provides support for configuring aggregator. This is |
| primarily useful for pulling the data sets from one or more |
| attached monitors and pushing the resultant data out. Multiple |
| monitors are connected on different input ports of TPDA. |
| |
| config CORESIGHT_TPDM |
| bool "CoreSight Trace, Profiling & Diagnostics Monitor driver" |
| help |
| This driver provides support for configuring monitor. Monitors are |
| primarily responsible for data set collection and support the |
| ability to collect any permutation of data set types. Monitors are |
| also responsible for interaction with system cross triggering. |
| |
| config CORESIGHT_TPDM_DEFAULT_ENABLE |
| bool "Turn on TPDM tracing by default" |
| depends on CORESIGHT_TPDM |
| help |
| Turns on CoreSight TPDM tracing for different data set types 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_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_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. These events can be controlled by using module |
| parameters. |
| |
| config CORESIGHT_TGU |
| bool "CoreSight Trigger Generation Unit driver" |
| help |
| This driver provides support for Trigger Generation Unit that is |
| used to detect patterns or sequences on a given set of signals. |
| TGU is used to monitor a particular bus within a given region to |
| detect illegal transaction sequences or slave responses. It is also |
| used to monitor a data stream to detect protocol violations and to |
| provide a trigger point for centering data around a specific event |
| within the trace data buffer. |
| |
| config CORESIGHT_CSR |
| bool "CoreSight Slave Register driver" |
| help |
| This driver provides support for CoreSight Slave Register block |
| that hosts miscellaneous configuration registers. |
| Those configuration registers can be used to control, various |
| coresight configurations. |
| |
| 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_DUMMY |
| bool "Dummy driver support" |
| help |
| Enables support for dummy driver. Dummy driver can be |
| used for CoreSight sources/sinks that are owned and configured by some other |
| subsystem and use Linux drivers to configure rest of trace path. |
| |
| endif |