blob: fc6df7bf524338d5a6ba8efa6e047002ac81cae2 [file] [log] [blame]
Pratik Patel61e91702013-01-27 20:30:42 -08001menuconfig CORESIGHT
2 bool "CoreSight Tracing Support"
Pratik Patel2963de42012-05-17 12:43:40 -07003 help
Pratik Patel61e91702013-01-27 20:30:42 -08004 CoreSight components are compliant with the ARM CoreSight
5 architecture specification and can be connected in various
6 topologies to suite a particular SoCs tracing needs. These trace
7 components can generally be classified as sources, links and
8 sinks. Trace data produced by one or more sources flows through
9 the intermediate links connecting the source to the currently
10 selected sink.
Pratik Patel2963de42012-05-17 12:43:40 -070011
Pratik Patel61e91702013-01-27 20:30:42 -080012 This framework provides an interface for the CoreSight debug and
13 trace drivers to register themselves with. It's intended to build
14 up a topological view of the CoreSight components and configure
15 the right series of components on user input via sysfs. It also
16 provides status information to user space applications through
17 sysfs interface.
Pratik Patel2963de42012-05-17 12:43:40 -070018
Pratik Patel61e91702013-01-27 20:30:42 -080019 If unsure, say 'N' here to avoid potential power, performance and
20 memory penalty.
21
22if CORESIGHT
23
24config HAVE_CORESIGHT_SINK
25 bool
26
Pratik Patel9266be32013-06-13 23:21:40 -070027config CORESIGHT_FUSE
28 bool "CoreSight Fuse driver"
29 help
30 This driver provides support for CoreSight Fuse state checks that
31 other CoreSight drivers can query to determine existence of
32 Hardware functionality they support. Drivers can then take necessary
33 actions like failing the probe if the Hardware they manage is
34 functionally disabled.
35
Pratik Pateld944cc72013-02-08 11:52:12 -080036config CORESIGHT_CTI
37 bool "CoreSight Cross Trigger Interface driver"
38 help
39 This driver provides support for Cross Trigger Interface that is
40 used to input or output i.e. pass cross trigger events from one
41 hardware component to another. It can also be used to pass
42 software generated events.
43
Pratik Patel61e91702013-01-27 20:30:42 -080044config CORESIGHT_CSR
45 bool "CoreSight Slave Register driver"
46 help
47 This driver provides support for CoreSight Slave Register block
48 that hosts miscellaneous configuration registers.
49
50config CORESIGHT_TMC
51 bool "CoreSight Trace Memory Controller driver"
Pratik Pateld944cc72013-02-08 11:52:12 -080052 select CORESIGHT_CTI
Pratik Patel61e91702013-01-27 20:30:42 -080053 select CORESIGHT_CSR
54 select HAVE_CORESIGHT_SINK
55 help
56 This driver provides support for Trace Memory Controller which
57 can be configured as either an ETB (Embedded Trace Buffer),
58 ETR (Embedded Trace Router) or ETF (Embedded Trace Fifo). It acts
59 as sink when configured as ETB, ETR or ETF in circular buffer mode
60 whereas it is a link when configured as ETF in hardware fifo mode.
61
62 ETB collects trace data in a circular buffer whereas ETR can be
63 used to route trace data to memory allocated in RAM. ETF in
64 circular buffer mode is like an ETB whereas in hardware fifo mode
65 it is a fifo link.
66
67config CORESIGHT_TPIU
68 bool "CoreSight Trace Port Interface Unit driver"
69 select HAVE_CORESIGHT_SINK
70 help
71 This driver provides support for Trace Port Interface Unit which
72 acts as a conduit for offchip trace collection.
73
74config CORESIGHT_ETB
75 bool "CoreSight Embedded Trace Buffer driver"
76 select HAVE_CORESIGHT_SINK
77 help
78 This driver provides support for the legacy Embedded Trace Buffer
79 which is a circular buffer.
80
81if HAVE_CORESIGHT_SINK
82
83config CORESIGHT_FUNNEL
84 bool "CoreSight Funnel driver"
85 help
86 This driver provides support for Funnel which is a link that
87 typically has multiple input ports and a single output port. Input
88 trace data streams from the input ports are interleaved into a
89 single output trace data stream coming out of the output port.
90
91config CORESIGHT_REPLICATOR
92 bool "CoreSight Replicator driver"
93 help
94 This driver provides support for Replicator that typically has
95 a single input port and two output ports. Single trace data
96 stream on the input port is replicated to produce two identical
97 trace data output streams coming out of the two output ports.
98
99config CORESIGHT_STM
100 bool "CoreSight System Trace Macrocell driver"
101 help
102 This driver provides support for hardware assisted software
103 instrumentation based tracing. This is primarily useful for
104 logging useful software events or data.
105
106config CORESIGHT_STM_DEFAULT_ENABLE
107 bool "Turn on STM tracing by default"
108 depends on CORESIGHT_STM
Pratik Patel2963de42012-05-17 12:43:40 -0700109 help
110 Turns on CoreSight STM tracing (hardware assisted software
111 instrumentation based tracing) by default. Otherwise, tracing is
112 disabled by default but can be enabled via sysfs.
113
Pratik Patel61e91702013-01-27 20:30:42 -0800114 If unsure, say 'N' here to avoid potential power and performance
115 penalty.
Pratik Patel2963de42012-05-17 12:43:40 -0700116
Aparna Das3b8a7082013-04-02 13:51:13 -0700117config CORESIGHT_HWEVENT
118 bool "CoreSight Hardware Event driver"
119 depends on CORESIGHT_STM
120 select CORESIGHT_CSR
121 help
122 This driver provides support for monitoring and tracing CoreSight
123 Hardware Event across STM interface. It configures Coresight
124 Hardware Event mux control registers to select hardware events
125 based on user input.
126
Pratik Patel61e91702013-01-27 20:30:42 -0800127config CORESIGHT_ETM
128 bool "CoreSight Embedded Trace Macrocell driver"
129 help
130 This driver provides support for processor tracing which allows
131 tracing the instructions that the processor is executing. This is
132 primarily useful for instruction level tracing.
133
134config CORESIGHT_ETM_DEFAULT_ENABLE
135 bool "Turn on ETM tracing by default"
136 depends on CORESIGHT_ETM
Pratik Patel2963de42012-05-17 12:43:40 -0700137 help
138 Turns on CoreSight ETM tracing (processor tracing) by default.
139 Otherwise, tracing is disabled by default but can be enabled via
140 sysfs.
141
Pratik Patel61e91702013-01-27 20:30:42 -0800142 If unsure, say 'N' here to avoid potential power and performance
143 penalty.
Pushkar Joshi61af7182012-09-12 14:29:23 -0700144
Pratik Patel61e91702013-01-27 20:30:42 -0800145config CORESIGHT_ETM_PCSAVE_DEFAULT_ENABLE
Pratik Patel938e1ff2012-09-28 23:21:46 -0700146 bool "Turn on PC saving by default"
Pratik Patel61e91702013-01-27 20:30:42 -0800147 depends on CORESIGHT_ETM
Pratik Patel938e1ff2012-09-28 23:21:46 -0700148 help
149 Turns on program counter saving on reset by default. Otherwise,
150 PC saving is disabled by default but can be enabled via sysfs.
151
Pratik Patel61e91702013-01-27 20:30:42 -0800152 If unsure, say 'N' here to avoid potential power penalty.
Pratik Patel938e1ff2012-09-28 23:21:46 -0700153
Aparna Dasb84b3112013-07-06 09:40:33 -0700154config CORESIGHT_AUDIO_ETM
155 bool "Audio processor ETM trace support"
156 help
157 Enables support for ETM trace collection on audio processor using
158 CoreSight framework. Enabling this will allow turning on ETM tracing
159 on audio processor via sysfs by configuring the required CoreSight
160 components.
161
162config CORESIGHT_MODEM_ETM
163 bool "Modem processor ETM trace support"
164 help
165 Enables support for ETM trace collection on modem processor using
166 CoreSight framework. Enabling this will allow turning on ETM tracing
167 on modem processor via sysfs by configuring the required CoreSight
168 components.
169
170config CORESIGHT_WCN_ETM
171 bool "Wireless subsystem processor ETM trace support"
172 help
173 Enables support for ETM trace collection on wireless subsystem
174 processor using CoreSight framework. Enabling this will allow
175 turning on ETM tracing on wireless subsystem via sysfs by configuring
176 the required CoreSight components.
177
178config CORESIGHT_RPM_ETM
179 bool "RPM processor ETM trace support"
180 help
181 Enables support for ETM trace collection on RPM processor using
182 CoreSight framework. Enabling this will allow turning on ETM
183 tracing on RPM processor via sysfs by configuring the required
184 CoreSight components.
185
Pratik Patel61e91702013-01-27 20:30:42 -0800186endif
187
188config CORESIGHT_EVENT
189 tristate "CoreSight Event driver"
Pushkar Joshi61af7182012-09-12 14:29:23 -0700190 help
Pratik Patel61e91702013-01-27 20:30:42 -0800191 This driver provides support for registering with various events
192 and performing CoreSight actions like aborting trace on their
193 occurrence.
Pushkar Joshi61af7182012-09-12 14:29:23 -0700194
Pratik Patel61e91702013-01-27 20:30:42 -0800195endif