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