162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig STM
362306a36Sopenharmony_ci	tristate "System Trace Module devices"
462306a36Sopenharmony_ci	select CONFIGFS_FS
562306a36Sopenharmony_ci	help
662306a36Sopenharmony_ci	  A System Trace Module (STM) is a device exporting data in System
762306a36Sopenharmony_ci	  Trace Protocol (STP) format as defined by MIPI STP standards.
862306a36Sopenharmony_ci	  Examples of such devices are Intel(R) Trace Hub and Coresight STM.
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci	  Say Y here to enable System Trace Module device support.
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciif STM
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciconfig STM_PROTO_BASIC
1562306a36Sopenharmony_ci	tristate "Basic STM framing protocol driver"
1662306a36Sopenharmony_ci	default CONFIG_STM
1762306a36Sopenharmony_ci	help
1862306a36Sopenharmony_ci	  This is a simple framing protocol for sending data over STM
1962306a36Sopenharmony_ci	  devices. This was the protocol that the STM framework used
2062306a36Sopenharmony_ci	  exclusively until the MIPI SyS-T support was added. Use this
2162306a36Sopenharmony_ci	  driver for compatibility with your existing STM setup.
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci	  The receiving side only needs to be able to decode the MIPI
2462306a36Sopenharmony_ci	  STP protocol in order to extract the data.
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci	  If you want to be able to use the basic protocol or want the
2762306a36Sopenharmony_ci	  backwards compatibility for your existing setup, say Y.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciconfig STM_PROTO_SYS_T
3062306a36Sopenharmony_ci	tristate "MIPI SyS-T STM framing protocol driver"
3162306a36Sopenharmony_ci	default CONFIG_STM
3262306a36Sopenharmony_ci	help
3362306a36Sopenharmony_ci	  This is an implementation of MIPI SyS-T protocol to be used
3462306a36Sopenharmony_ci	  over the STP transport. In addition to the data payload, it
3562306a36Sopenharmony_ci	  also carries additional metadata for time correlation, better
3662306a36Sopenharmony_ci	  means of trace source identification, etc.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci	  The receiving side must be able to decode this protocol in
3962306a36Sopenharmony_ci	  addition to the MIPI STP, in order to extract the data.
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci	  If you don't know what this is, say N.
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciconfig STM_DUMMY
4462306a36Sopenharmony_ci	tristate "Dummy STM driver"
4562306a36Sopenharmony_ci	help
4662306a36Sopenharmony_ci	  This is a simple dummy device that pretends to be an stm device
4762306a36Sopenharmony_ci	  and discards your data. Use for stm class testing.
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci	  If you don't know what this is, say N.
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ciconfig STM_SOURCE_CONSOLE
5262306a36Sopenharmony_ci	tristate "Kernel console over STM devices"
5362306a36Sopenharmony_ci	help
5462306a36Sopenharmony_ci	  This is a kernel space trace source that sends kernel log
5562306a36Sopenharmony_ci	  messages to trace hosts over STM devices.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	  If you want to send kernel console messages over STM devices,
5862306a36Sopenharmony_ci	  say Y.
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ciconfig STM_SOURCE_HEARTBEAT
6162306a36Sopenharmony_ci	tristate "Heartbeat over STM devices"
6262306a36Sopenharmony_ci	help
6362306a36Sopenharmony_ci	  This is a kernel space trace source that sends periodic
6462306a36Sopenharmony_ci	  heartbeat messages to trace hosts over STM devices. It is
6562306a36Sopenharmony_ci	  also useful for testing stm class drivers and the stm class
6662306a36Sopenharmony_ci	  framework itself.
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci	  If you want to send heartbeat messages over STM devices,
6962306a36Sopenharmony_ci	  say Y.
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ciconfig STM_SOURCE_FTRACE
7262306a36Sopenharmony_ci	tristate "Copy the output from kernel Ftrace to STM engine"
7362306a36Sopenharmony_ci	depends on TRACING
7462306a36Sopenharmony_ci	help
7562306a36Sopenharmony_ci	  This option can be used to copy the output from kernel Ftrace
7662306a36Sopenharmony_ci	  to STM engine. Enabling this option will introduce a slight
7762306a36Sopenharmony_ci	  timing effect.
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci	  If you want to send kernel Ftrace messages over STM devices,
8062306a36Sopenharmony_ci	  say Y.
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ciendif
83