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