# SPDX-License-Identifier: GPL-2.0
#
# Copyright (c) 2022-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.

config ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU
	tristate "ARM Coresight Architecture PMU"
	depends on ARM64 || COMPILE_TEST
	help
	  Provides support for performance monitoring unit (PMU) devices
	  based on ARM CoreSight PMU architecture. Note that this PMU
	  architecture does not have relationship with the ARM CoreSight
	  Self-Hosted Tracing.

config NVIDIA_CORESIGHT_PMU_ARCH_SYSTEM_PMU
	tristate "NVIDIA Coresight Architecture PMU"
	depends on ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU
	help
	  Provides NVIDIA specific attributes for performance monitoring unit
	  (PMU) devices based on ARM CoreSight PMU architecture.

config AMPERE_CORESIGHT_PMU_ARCH_SYSTEM_PMU
       tristate "Ampere Coresight Architecture PMU"
       depends on  ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU
	help
	  Provides Ampere specific attributes for performance monitoring unit
	  (PMU) devices based on ARM CoreSight PMU architecture.

	  In the first phase, the driver enables support on MCU PMU used in
	  AmpereOne SoC family.
