| 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 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 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_CTI_SAVE_DISABLE |
| bool "Turn off CTI save and restore" |
| help |
| Turns off CoreSight CTI save and restore support for cpu CTIs. This |
| avoids voting for the clocks during probe as well as the associated |
| save and restore latency at the cost of breaking cpu CTI support on |
| targets where cpu CTIs have to be preserved across power collapse. |
| |
| If unsure, say 'N' here to avoid breaking cpu CTI support. |
| |
| 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_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. |
| |
| 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_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_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" |
| 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_RESET |
| bool "Reset ETM by default" |
| depends on CORESIGHT_ETM |
| help |
| Reset CoreSight ETM tracing (processor tracing) parameters by |
| default. This configures ETM parameters to reset values instead |
| of preconfigured values on bootup. Otherwise, ETM parameters take |
| preconfigured values by default but these can be reset via sysfs. |
| |
| 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. |
| |
| config CORESIGHT_ETMV4 |
| bool "CoreSight Embedded Trace Macrocell v4 driver" |
| help |
| This driver provides support for processor tracing which allows |
| tracing the instructions that the processor is executing on ARMv8 |
| architecture. This is primarily useful for instruction level |
| tracing. |
| |
| config CORESIGHT_ETMV4_DEFAULT_RESET |
| bool "Reset ETMV4 by default" |
| depends on CORESIGHT_ETMV4 |
| help |
| Reset CoreSight ETMV4 tracing (processor tracing) parameters by |
| default. This configures ETMV4 parameters to reset values instead |
| of preconfigured values on bootup. Otherwise, ETMV4 parameters take |
| preconfigured values by default but these can be reset via sysfs. |
| |
| config CORESIGHT_ETMV4_DEFAULT_ENABLE |
| bool "Turn on ETMV4 tracing by default" |
| depends on CORESIGHT_ETMV4 |
| help |
| Turns on CoreSight ETMV4 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_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 bits for Remote processor ETM" |
| depends on CORESIGHT_REMOTE_ETM |
| default 0 |
| help |
| Support for enabling separated Remote processor ETM tracing. Depends |
| on if instance id bit is set. |
| |
| endif |
| |
| config CORESIGHT_QPDI |
| bool "CoreSight PMIC debug interface support" |
| help |
| This driver provides support for controlling the PMIC debug interface |
| feature. When enabled via sysfs it allows disagnostic access to the |
| PMIC. Similarly this debug feature can be disabled via sysfs which |
| prevents debug dongle detection. |
| |
| endif |