forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-04 1543e317f1da31b75942316931e8f491a8920811
kernel/drivers/hwtracing/coresight/Kconfig
....@@ -1,8 +1,11 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
12 #
23 # Coresight configuration
34 #
45 menuconfig CORESIGHT
5
- bool "CoreSight Tracing Support"
6
+ tristate "CoreSight Tracing Support"
7
+ depends on ARM || ARM64
8
+ depends on OF || ACPI
69 select ARM_AMBA
710 select PERF_EVENTS
811 help
....@@ -12,17 +15,24 @@
1215 specification and configure the right series of components when a
1316 trace source gets enabled.
1417
18
+ To compile this driver as a module, choose M here: the
19
+ module will be called coresight.
20
+
1521 if CORESIGHT
1622 config CORESIGHT_LINKS_AND_SINKS
17
- bool "CoreSight Link and Sink drivers"
23
+ tristate "CoreSight Link and Sink drivers"
1824 help
1925 This enables support for CoreSight link and sink drivers that are
2026 responsible for transporting and collecting the trace data
2127 respectively. Link and sinks are dynamically aggregated with a trace
2228 entity at run time to form a complete trace path.
2329
30
+ To compile these drivers as modules, choose M here: the
31
+ modules will be called coresight-funnel and coresight-replicator.
32
+
2433 config CORESIGHT_LINK_AND_SINK_TMC
25
- bool "Coresight generic TMC driver"
34
+ tristate "Coresight generic TMC driver"
35
+
2636 depends on CORESIGHT_LINKS_AND_SINKS
2737 help
2838 This enables support for the Trace Memory Controller driver.
....@@ -31,8 +41,11 @@
3141 complies with the generic implementation of the component without
3242 special enhancement or added features.
3343
44
+ To compile this driver as a module, choose M here: the
45
+ module will be called coresight-tmc.
46
+
3447 config CORESIGHT_CATU
35
- bool "Coresight Address Translation Unit (CATU) driver"
48
+ tristate "Coresight Address Translation Unit (CATU) driver"
3649 depends on CORESIGHT_LINK_AND_SINK_TMC
3750 help
3851 Enable support for the Coresight Address Translation Unit (CATU).
....@@ -42,8 +55,11 @@
4255 by looking up the provided table. CATU can also be used in pass-through
4356 mode where the address is not translated.
4457
58
+ To compile this driver as a module, choose M here: the
59
+ module will be called coresight-catu.
60
+
4561 config CORESIGHT_SINK_TPIU
46
- bool "Coresight generic TPIU driver"
62
+ tristate "Coresight generic TPIU driver"
4763 depends on CORESIGHT_LINKS_AND_SINKS
4864 help
4965 This enables support for the Trace Port Interface Unit driver,
....@@ -53,16 +69,22 @@
5369 connected to an external host for use case capturing more traces than
5470 the on-board coresight memory can handle.
5571
72
+ To compile this driver as a module, choose M here: the
73
+ module will be called coresight-tpiu.
74
+
5675 config CORESIGHT_SINK_ETBV10
57
- bool "Coresight ETBv1.0 driver"
76
+ tristate "Coresight ETBv1.0 driver"
5877 depends on CORESIGHT_LINKS_AND_SINKS
5978 help
6079 This enables support for the Embedded Trace Buffer version 1.0 driver
6180 that complies with the generic implementation of the component without
6281 special enhancement or added features.
6382
83
+ To compile this driver as a module, choose M here: the
84
+ module will be called coresight-etb10.
85
+
6486 config CORESIGHT_SOURCE_ETM3X
65
- bool "CoreSight Embedded Trace Macrocell 3.x driver"
87
+ tristate "CoreSight Embedded Trace Macrocell 3.x driver"
6688 depends on !ARM64
6789 select CORESIGHT_LINKS_AND_SINKS
6890 help
....@@ -71,27 +93,33 @@
7193 This is primarily useful for instruction level tracing. Depending
7294 the ETM version data tracing may also be available.
7395
96
+ To compile this driver as a module, choose M here: the
97
+ module will be called coresight-etm3x.
98
+
7499 config CORESIGHT_SOURCE_ETM4X
75
- bool "CoreSight Embedded Trace Macrocell 4.x driver"
100
+ tristate "CoreSight ETMv4.x / ETE driver"
76101 depends on ARM64
77102 select CORESIGHT_LINKS_AND_SINKS
78103 select PID_IN_CONTEXTIDR
79104 help
80
- This driver provides support for the ETM4.x tracer module, tracing the
81
- instructions that a processor is executing. This is primarily useful
82
- for instruction level tracing. Depending on the implemented version
83
- data tracing may also be available.
105
+ This driver provides support for the CoreSight Embedded Trace Macrocell
106
+ version 4.x and the Embedded Trace Extensions (ETE). Both are CPU tracer
107
+ modules, tracing the instructions that a processor is executing. This is
108
+ primarily useful for instruction level tracing.
84109
85
-config CORESIGHT_DYNAMIC_REPLICATOR
86
- bool "CoreSight Programmable Replicator driver"
87
- depends on CORESIGHT_LINKS_AND_SINKS
110
+ To compile this driver as a module, choose M here: the
111
+ module will be called coresight-etm4x.
112
+
113
+config ETM4X_IMPDEF_FEATURE
114
+ bool "Control implementation defined overflow support in ETM 4.x driver"
115
+ depends on CORESIGHT_SOURCE_ETM4X
88116 help
89
- This enables support for dynamic CoreSight replicator link driver.
90
- The programmable ATB replicator allows independent filtering of the
91
- trace data based on the traceid.
117
+ This control provides implementation define control for CoreSight
118
+ ETM 4.x tracer module that can't reduce commit rate automatically.
119
+ This avoids overflow between the ETM tracer module and the cpu core.
92120
93121 config CORESIGHT_STM
94
- bool "CoreSight System Trace Macrocell driver"
122
+ tristate "CoreSight System Trace Macrocell driver"
95123 depends on (ARM && !(CPU_32v3 || CPU_32v4 || CPU_32v4T)) || ARM64
96124 select CORESIGHT_LINKS_AND_SINKS
97125 select STM
....@@ -100,6 +128,9 @@
100128 instrumentation based tracing. This is primarily used for
101129 logging useful software events or data coming from various entities
102130 in the system, possibly running different OSs
131
+
132
+ To compile this driver as a module, choose M here: the
133
+ module will be called coresight-stm.
103134
104135 config CORESIGHT_CPU_DEBUG
105136 tristate "CoreSight CPU Debug driver"
....@@ -112,7 +143,48 @@
112143 can quickly get to know program counter (PC), secure state,
113144 exception level, etc. Before use debugging functionality, platform
114145 needs to ensure the clock domain and power domain are enabled
115
- properly, please refer Documentation/trace/coresight-cpu-debug.txt
146
+ properly, please refer Documentation/trace/coresight/coresight-cpu-debug.rst
116147 for detailed description and the example for usage.
117148
149
+ To compile this driver as a module, choose M here: the
150
+ module will be called coresight-cpu-debug.
151
+
152
+config CORESIGHT_CTI
153
+ tristate "CoreSight Cross Trigger Interface (CTI) driver"
154
+ depends on ARM || ARM64
155
+ help
156
+ This driver provides support for CoreSight CTI and CTM components.
157
+ These provide hardware triggering events between CoreSight trace
158
+ source and sink components. These can be used to halt trace or
159
+ inject events into the trace stream. CTI also provides a software
160
+ control to trigger the same halt events. This can provide fast trace
161
+ halt compared to disabling sources and sinks normally in driver
162
+ software.
163
+
164
+ To compile this driver as a module, choose M here: the
165
+ module will be called coresight-cti.
166
+
167
+config CORESIGHT_CTI_INTEGRATION_REGS
168
+ bool "Access CTI CoreSight Integration Registers"
169
+ depends on CORESIGHT_CTI
170
+ help
171
+ This option adds support for the CoreSight integration registers on
172
+ this device. The integration registers allow the exploration of the
173
+ CTI trigger connections between this and other devices.These
174
+ registers are not used in normal operation and can leave devices in
175
+ an inconsistent state.
176
+
177
+config CORESIGHT_TRBE
178
+ tristate "Trace Buffer Extension (TRBE) driver"
179
+ depends on ARM64 && CORESIGHT_SOURCE_ETM4X
180
+ help
181
+ This driver provides support for percpu Trace Buffer Extension (TRBE).
182
+ TRBE always needs to be used along with it's corresponding percpu ETE
183
+ component. ETE generates trace data which is then captured with TRBE.
184
+ Unlike traditional sink devices, TRBE is a CPU feature accessible via
185
+ system registers. But it's explicit dependency with trace unit (ETE)
186
+ requires it to be plugged in as a coresight sink device.
187
+
188
+ To compile this driver as a module, choose M here: the module will be
189
+ called coresight-trbe.
118190 endif