# SPDX-License-Identifier: GPL-2.0-only
#
# AMD x86 Platform Specific Drivers
#

source "drivers/platform/x86/amd/pmf/Kconfig"
source "drivers/platform/x86/amd/pmc/Kconfig"

config AMD_HSMP
	tristate "AMD HSMP Driver"
	depends on AMD_NB && X86_64 && ACPI
	help
	  The driver provides a way for user space tools to monitor and manage
	  system management functionality on EPYC server CPUs from AMD.

	  Host System Management Port (HSMP) interface is a mailbox interface
	  between the x86 core and the System Management Unit (SMU) firmware.

	  If you choose to compile this driver as a module the module will be
	  called amd_hsmp.

config AMD_WBRF
	bool "AMD Wifi RF Band mitigations (WBRF)"
	depends on ACPI
	help
	  WBRF(Wifi Band RFI mitigation) mechanism allows Wifi drivers
	  to notify the frequencies they are using so that other hardware
	  can be reconfigured to avoid harmonic conflicts.

	  AMD provides an ACPI based mechanism to support WBRF on platform with
	  appropriate underlying support.

	  This mechanism will only be activated on platforms that advertise a
	  need for it.
