162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig INTEL_TH
362306a36Sopenharmony_ci	tristate "Intel(R) Trace Hub controller"
462306a36Sopenharmony_ci	depends on HAS_DMA && HAS_IOMEM
562306a36Sopenharmony_ci	help
662306a36Sopenharmony_ci	  Intel(R) Trace Hub (TH) is a set of hardware blocks (subdevices) that
762306a36Sopenharmony_ci	  produce, switch and output trace data from multiple hardware and
862306a36Sopenharmony_ci	  software sources over several types of trace output ports encoded
962306a36Sopenharmony_ci	  in System Trace Protocol (MIPI STPv2) and is intended to perform
1062306a36Sopenharmony_ci	  full system debugging.
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci	  This option enables intel_th bus and common code used by TH
1362306a36Sopenharmony_ci	  subdevices to interact with each other and hardware and for
1462306a36Sopenharmony_ci	  platform glue layers to drive Intel TH devices.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	  Say Y here to enable Intel(R) Trace Hub controller support.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciif INTEL_TH
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciconfig INTEL_TH_PCI
2162306a36Sopenharmony_ci	tristate "Intel(R) Trace Hub PCI controller"
2262306a36Sopenharmony_ci	depends on PCI
2362306a36Sopenharmony_ci	help
2462306a36Sopenharmony_ci	  Intel(R) Trace Hub may exist as a PCI device. This option enables
2562306a36Sopenharmony_ci	  support glue layer for PCI-based Intel TH.
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	  Say Y here to enable PCI Intel TH support.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciconfig INTEL_TH_ACPI
3062306a36Sopenharmony_ci	tristate "Intel(R) Trace Hub ACPI controller"
3162306a36Sopenharmony_ci	depends on ACPI
3262306a36Sopenharmony_ci	help
3362306a36Sopenharmony_ci	  Intel(R) Trace Hub may exist as an ACPI device. This option enables
3462306a36Sopenharmony_ci	  support glue layer for ACPI-based Intel TH. This typically implies
3562306a36Sopenharmony_ci	  'host debugger' mode, that is, the trace configuration and capture
3662306a36Sopenharmony_ci	  is handled by an external debug host and corresponding controls will
3762306a36Sopenharmony_ci	  not be available on the target.
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci	  Say Y here to enable ACPI Intel TH support.
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciconfig INTEL_TH_GTH
4262306a36Sopenharmony_ci	tristate "Intel(R) Trace Hub Global Trace Hub"
4362306a36Sopenharmony_ci	help
4462306a36Sopenharmony_ci	  Global Trace Hub (GTH) is the central component of the
4562306a36Sopenharmony_ci	  Intel TH infrastructure and acts as a switch for source
4662306a36Sopenharmony_ci	  and output devices. This driver is required for other
4762306a36Sopenharmony_ci	  Intel TH subdevices to initialize.
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci	  Say Y here to enable GTH subdevice of Intel(R) Trace Hub.
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ciconfig INTEL_TH_STH
5262306a36Sopenharmony_ci	tristate "Intel(R) Trace Hub Software Trace Hub support"
5362306a36Sopenharmony_ci	depends on STM
5462306a36Sopenharmony_ci	help
5562306a36Sopenharmony_ci	  Software Trace Hub (STH) enables trace data from software
5662306a36Sopenharmony_ci	  trace sources to be sent out via Intel(R) Trace Hub. It
5762306a36Sopenharmony_ci	  uses stm class device to interface with its sources.
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci	  Say Y here to enable STH subdevice of Intel(R) Trace Hub.
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ciconfig INTEL_TH_MSU
6262306a36Sopenharmony_ci	tristate "Intel(R) Trace Hub Memory Storage Unit"
6362306a36Sopenharmony_ci	help
6462306a36Sopenharmony_ci	  Memory Storage Unit (MSU) trace output device enables
6562306a36Sopenharmony_ci	  storing STP traces to system memory. It supports single
6662306a36Sopenharmony_ci	  and multiblock modes of operation and provides read()
6762306a36Sopenharmony_ci	  and mmap() access to the collected data.
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci	  Say Y here to enable MSU output device for Intel TH.
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ciconfig INTEL_TH_PTI
7262306a36Sopenharmony_ci	tristate "Intel(R) Trace Hub PTI output"
7362306a36Sopenharmony_ci	help
7462306a36Sopenharmony_ci	  Parallel Trace Interface unit (PTI) is a trace output device
7562306a36Sopenharmony_ci	  of Intel TH architecture that facilitates STP trace output via
7662306a36Sopenharmony_ci	  a PTI port.
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci	  Say Y to enable PTI output of Intel TH data.
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ciconfig INTEL_TH_DEBUG
8162306a36Sopenharmony_ci	bool "Intel(R) Trace Hub debugging"
8262306a36Sopenharmony_ci	depends on DEBUG_FS
8362306a36Sopenharmony_ci	help
8462306a36Sopenharmony_ci	  Say Y here to enable debugging.
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ciendif
87