1# SPDX-License-Identifier: GPL-2.0-only
2config STM
3	tristate "System Trace Module devices"
4	select CONFIGFS_FS
5	help
6	  A System Trace Module (STM) is a device exporting data in System
7	  Trace Protocol (STP) format as defined by MIPI STP standards.
8	  Examples of such devices are Intel(R) Trace Hub and Coresight STM.
9
10	  Say Y here to enable System Trace Module device support.
11
12if STM
13
14config STM_PROTO_BASIC
15	tristate "Basic STM framing protocol driver"
16	default CONFIG_STM
17	help
18	  This is a simple framing protocol for sending data over STM
19	  devices. This was the protocol that the STM framework used
20	  exclusively until the MIPI SyS-T support was added. Use this
21	  driver for compatibility with your existing STM setup.
22
23	  The receiving side only needs to be able to decode the MIPI
24	  STP protocol in order to extract the data.
25
26	  If you want to be able to use the basic protocol or want the
27	  backwards compatibility for your existing setup, say Y.
28
29config STM_PROTO_SYS_T
30	tristate "MIPI SyS-T STM framing protocol driver"
31	default CONFIG_STM
32	help
33	  This is an implementation of MIPI SyS-T protocol to be used
34	  over the STP transport. In addition to the data payload, it
35	  also carries additional metadata for time correlation, better
36	  means of trace source identification, etc.
37
38	  The receiving side must be able to decode this protocol in
39	  addition to the MIPI STP, in order to extract the data.
40
41	  If you don't know what this is, say N.
42
43config STM_DUMMY
44	tristate "Dummy STM driver"
45	help
46	  This is a simple dummy device that pretends to be an stm device
47	  and discards your data. Use for stm class testing.
48
49	  If you don't know what this is, say N.
50
51config STM_SOURCE_CONSOLE
52	tristate "Kernel console over STM devices"
53	help
54	  This is a kernel space trace source that sends kernel log
55	  messages to trace hosts over STM devices.
56
57	  If you want to send kernel console messages over STM devices,
58	  say Y.
59
60config STM_SOURCE_HEARTBEAT
61	tristate "Heartbeat over STM devices"
62	help
63	  This is a kernel space trace source that sends periodic
64	  heartbeat messages to trace hosts over STM devices. It is
65	  also useful for testing stm class drivers and the stm class
66	  framework itself.
67
68	  If you want to send heartbeat messages over STM devices,
69	  say Y.
70
71config STM_SOURCE_FTRACE
72	tristate "Copy the output from kernel Ftrace to STM engine"
73	depends on TRACING
74	help
75	  This option can be used to copy the output from kernel Ftrace
76	  to STM engine. Enabling this option will introduce a slight
77	  timing effect.
78
79	  If you want to send kernel Ftrace messages over STM devices,
80	  say Y.
81
82endif
83