18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ciconfig STM
38c2ecf20Sopenharmony_ci	tristate "System Trace Module devices"
48c2ecf20Sopenharmony_ci	select CONFIGFS_FS
58c2ecf20Sopenharmony_ci	select SRCU
68c2ecf20Sopenharmony_ci	help
78c2ecf20Sopenharmony_ci	  A System Trace Module (STM) is a device exporting data in System
88c2ecf20Sopenharmony_ci	  Trace Protocol (STP) format as defined by MIPI STP standards.
98c2ecf20Sopenharmony_ci	  Examples of such devices are Intel(R) Trace Hub and Coresight STM.
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci	  Say Y here to enable System Trace Module device support.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciif STM
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciconfig STM_PROTO_BASIC
168c2ecf20Sopenharmony_ci	tristate "Basic STM framing protocol driver"
178c2ecf20Sopenharmony_ci	default CONFIG_STM
188c2ecf20Sopenharmony_ci	help
198c2ecf20Sopenharmony_ci	  This is a simple framing protocol for sending data over STM
208c2ecf20Sopenharmony_ci	  devices. This was the protocol that the STM framework used
218c2ecf20Sopenharmony_ci	  exclusively until the MIPI SyS-T support was added. Use this
228c2ecf20Sopenharmony_ci	  driver for compatibility with your existing STM setup.
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci	  The receiving side only needs to be able to decode the MIPI
258c2ecf20Sopenharmony_ci	  STP protocol in order to extract the data.
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci	  If you want to be able to use the basic protocol or want the
288c2ecf20Sopenharmony_ci	  backwards compatibility for your existing setup, say Y.
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciconfig STM_PROTO_SYS_T
318c2ecf20Sopenharmony_ci	tristate "MIPI SyS-T STM framing protocol driver"
328c2ecf20Sopenharmony_ci	default CONFIG_STM
338c2ecf20Sopenharmony_ci	help
348c2ecf20Sopenharmony_ci	  This is an implementation of MIPI SyS-T protocol to be used
358c2ecf20Sopenharmony_ci	  over the STP transport. In addition to the data payload, it
368c2ecf20Sopenharmony_ci	  also carries additional metadata for time correlation, better
378c2ecf20Sopenharmony_ci	  means of trace source identification, etc.
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci	  The receiving side must be able to decode this protocol in
408c2ecf20Sopenharmony_ci	  addition to the MIPI STP, in order to extract the data.
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci	  If you don't know what this is, say N.
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ciconfig STM_DUMMY
458c2ecf20Sopenharmony_ci	tristate "Dummy STM driver"
468c2ecf20Sopenharmony_ci	help
478c2ecf20Sopenharmony_ci	  This is a simple dummy device that pretends to be an stm device
488c2ecf20Sopenharmony_ci	  and discards your data. Use for stm class testing.
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci	  If you don't know what this is, say N.
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ciconfig STM_SOURCE_CONSOLE
538c2ecf20Sopenharmony_ci	tristate "Kernel console over STM devices"
548c2ecf20Sopenharmony_ci	help
558c2ecf20Sopenharmony_ci	  This is a kernel space trace source that sends kernel log
568c2ecf20Sopenharmony_ci	  messages to trace hosts over STM devices.
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci	  If you want to send kernel console messages over STM devices,
598c2ecf20Sopenharmony_ci	  say Y.
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ciconfig STM_SOURCE_HEARTBEAT
628c2ecf20Sopenharmony_ci	tristate "Heartbeat over STM devices"
638c2ecf20Sopenharmony_ci	help
648c2ecf20Sopenharmony_ci	  This is a kernel space trace source that sends periodic
658c2ecf20Sopenharmony_ci	  heartbeat messages to trace hosts over STM devices. It is
668c2ecf20Sopenharmony_ci	  also useful for testing stm class drivers and the stm class
678c2ecf20Sopenharmony_ci	  framework itself.
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci	  If you want to send heartbeat messages over STM devices,
708c2ecf20Sopenharmony_ci	  say Y.
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ciconfig STM_SOURCE_FTRACE
738c2ecf20Sopenharmony_ci	tristate "Copy the output from kernel Ftrace to STM engine"
748c2ecf20Sopenharmony_ci	depends on TRACING
758c2ecf20Sopenharmony_ci	help
768c2ecf20Sopenharmony_ci	  This option can be used to copy the output from kernel Ftrace
778c2ecf20Sopenharmony_ci	  to STM engine. Enabling this option will introduce a slight
788c2ecf20Sopenharmony_ci	  timing effect.
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci	  If you want to send kernel Ftrace messages over STM devices,
818c2ecf20Sopenharmony_ci	  say Y.
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ciendif
84