blob: 285b80d961f16ffc44fbc320bd4cb066b7e7e22f [file] [log] [blame]
Mathieu Poirier32887312015-03-30 14:13:36 -06001#
2# Coresight configuration
3#
4menuconfig CORESIGHT
5 bool "CoreSight Tracing Support"
6 select ARM_AMBA
Mathieu Poirier882d5e12016-02-17 17:51:57 -07007 select PERF_EVENTS
Mathieu Poirier32887312015-03-30 14:13:36 -06008 help
9 This framework provides a kernel interface for the CoreSight debug
10 and trace drivers to register themselves with. It's intended to build
11 a topological view of the CoreSight components based on a DT
Andrew F. Davisb9884d32015-12-17 08:47:02 -070012 specification and configure the right series of components when a
Mathieu Poirier32887312015-03-30 14:13:36 -060013 trace source gets enabled.
14
15if CORESIGHT
16config CORESIGHT_LINKS_AND_SINKS
17 bool "CoreSight Link and Sink drivers"
18 help
19 This enables support for CoreSight link and sink drivers that are
20 responsible for transporting and collecting the trace data
21 respectively. Link and sinks are dynamically aggregated with a trace
22 entity at run time to form a complete trace path.
23
24config CORESIGHT_LINK_AND_SINK_TMC
25 bool "Coresight generic TMC driver"
26 depends on CORESIGHT_LINKS_AND_SINKS
Satyajit Desaie8c98232016-11-01 12:01:19 -070027 select CORESIGHT_CSR
Mathieu Poirier32887312015-03-30 14:13:36 -060028 help
29 This enables support for the Trace Memory Controller driver.
30 Depending on its configuration the device can act as a link (embedded
31 trace router - ETR) or sink (embedded trace FIFO). The driver
32 complies with the generic implementation of the component without
33 special enhancement or added features.
34
35config CORESIGHT_SINK_TPIU
36 bool "Coresight generic TPIU driver"
37 depends on CORESIGHT_LINKS_AND_SINKS
38 help
39 This enables support for the Trace Port Interface Unit driver,
40 responsible for bridging the gap between the on-chip coresight
41 components and a trace for bridging the gap between the on-chip
42 coresight components and a trace port collection engine, typically
43 connected to an external host for use case capturing more traces than
44 the on-board coresight memory can handle.
45
46config CORESIGHT_SINK_ETBV10
47 bool "Coresight ETBv1.0 driver"
48 depends on CORESIGHT_LINKS_AND_SINKS
49 help
50 This enables support for the Embedded Trace Buffer version 1.0 driver
51 that complies with the generic implementation of the component without
52 special enhancement or added features.
53
54config CORESIGHT_SOURCE_ETM3X
55 bool "CoreSight Embedded Trace Macrocell 3.x driver"
56 depends on !ARM64
57 select CORESIGHT_LINKS_AND_SINKS
58 help
59 This driver provides support for processor ETM3.x and PTM1.x modules,
60 which allows tracing the instructions that a processor is executing
61 This is primarily useful for instruction level tracing. Depending
62 the ETM version data tracing may also be available.
Pratik Patel2e1cdfe2015-05-13 10:34:09 -060063
64config CORESIGHT_SOURCE_ETM4X
65 bool "CoreSight Embedded Trace Macrocell 4.x driver"
66 depends on ARM64
67 select CORESIGHT_LINKS_AND_SINKS
68 help
69 This driver provides support for the ETM4.x tracer module, tracing the
70 instructions that a processor is executing. This is primarily useful
71 for instruction level tracing. Depending on the implemented version
72 data tracing may also be available.
73
Shashank Mittal18dfa882016-03-14 11:55:11 -070074config CORESIGHT_REMOTE_ETM
75 bool "Remote processor ETM trace support"
76 depends on MSM_QMI_INTERFACE
77 help
78 Enables support for ETM trace collection on remote processor using
79 CoreSight framework. Enabling this will allow turning on ETM
80 tracing on remote processor via sysfs by configuring the required
81 CoreSight components.
82
83config CORESIGHT_REMOTE_ETM_DEFAULT_ENABLE
84 int "default enable ETM for Remote processor based on instance id"
85 depends on CORESIGHT_REMOTE_ETM
86 help
87 Support for enabling separated Remote processor ETM tracing. Depends
88 on if instance id bit is set.
89
Pratik Patel620cf782015-05-19 10:55:21 -060090config CORESIGHT_QCOM_REPLICATOR
91 bool "Qualcomm CoreSight Replicator driver"
92 depends on CORESIGHT_LINKS_AND_SINKS
93 help
94 This enables support for Qualcomm CoreSight link driver. The
95 programmable ATB replicator sends the ATB trace stream from the
96 ETB/ETF to the TPIUi and ETR.
97
Pratik Patel237483a2016-05-03 11:33:40 -060098config CORESIGHT_STM
99 bool "CoreSight System Trace Macrocell driver"
100 depends on (ARM && !(CPU_32v3 || CPU_32v4 || CPU_32v4T)) || ARM64
101 select CORESIGHT_LINKS_AND_SINKS
102 select STM
Satyajit Desaie30e3c52016-08-22 11:22:51 -0700103 select CORESIGHT_OST
Pratik Patel237483a2016-05-03 11:33:40 -0600104 help
105 This driver provides support for hardware assisted software
106 instrumentation based tracing. This is primarily used for
107 logging useful software events or data coming from various entities
108 in the system, possibly running different OSs
109
Satyajit Desaie30e3c52016-08-22 11:22:51 -0700110config CORESIGHT_OST
111 bool "CoreSight OST framework"
Satyajit Desaie2f6c542016-10-03 17:38:40 -0700112 depends on CORESIGHT_STM
Satyajit Desaie30e3c52016-08-22 11:22:51 -0700113 help
114 This enables support for OST packet in STM.
Satyajit Desaif151d682016-09-12 16:18:03 -0700115
116config CORESIGHT_TPDA
117 bool "CoreSight Trace, Profiling & Diagnostics Aggregator driver"
118 help
119 This driver provides support for configuring aggregator. This is
120 primarily useful for pulling the data sets from one or more
121 attached monitors and pushing the resultant data out. Multiple
122 monitors are connected on different input ports of TPDA.
123
124config CORESIGHT_TPDM
125 bool "CoreSight Trace, Profiling & Diagnostics Monitor driver"
126 help
127 This driver provides support for configuring monitor. Monitors are
128 primarily responsible for data set collection and support the
129 ability to collect any permutation of data set types. Monitors are
130 also responsible for interaction with system cross triggering.
131
132config CORESIGHT_TPDM_DEFAULT_ENABLE
133 bool "Turn on TPDM tracing by default"
134 depends on CORESIGHT_TPDM
135 help
136 Turns on CoreSight TPDM tracing for different data set types by
137 default. Otherwise, tracing is disabled by default but can be
138 enabled via sysfs.
139
140 If unsure, say 'N' here to avoid potential power and performance
141 penalty.
142
Satyajit Desai3d577e82016-10-27 14:07:02 -0700143config CORESIGHT_CTI
144 bool "CoreSight Cross Trigger Interface driver"
145 help
146 This driver provides support for Cross Trigger Interface that is
147 used to input or output i.e. pass cross trigger events from one
148 hardware component to another. It can also be used to pass
149 software generated events.
Satyajit Desaie8c98232016-11-01 12:01:19 -0700150
151config CORESIGHT_CSR
152 bool "CoreSight Slave Register driver"
153 help
154 This driver provides support for CoreSight Slave Register block
155 that hosts miscellaneous configuration registers.
156 Those configuration registers can be used to control, various
157 coresight configurations.
158
Satyajit Desaic1a7d402016-11-01 12:11:18 -0700159config CORESIGHT_HWEVENT
160 bool "CoreSight Hardware Event driver"
161 depends on CORESIGHT_STM
162 select CORESIGHT_CSR
163 help
164 This driver provides support for monitoring and tracing CoreSight
165 Hardware Event across STM interface. It configures Coresight
166 Hardware Event mux control registers to select hardware events
167 based on user input.
Shashank Mittal52764542016-05-25 16:43:04 -0700168
169config CORESIGHT_DUMMY
170 bool "Dummy driver support"
171 help
172 Enables support for dummy driver. Dummy driver can be
173 used for CoreSight sources/sinks that are owned and configured by some other
174 subsystem and use Linux drivers to configure rest of trace path.
175
Mathieu Poirier32887312015-03-30 14:13:36 -0600176endif