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

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

config AMD_3D_VCACHE
	tristate "AMD 3D V-Cache Performance Optimizer Driver"
	depends on X86_64 && ACPI
	help
	  The driver provides a sysfs interface, enabling the setting of a bias
	  that alters CPU core reordering. This bias prefers cores with higher
	  frequencies or larger L3 caches on processors supporting AMD 3D V-Cache
	  technology.

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

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.

config AMD_ISP_PLATFORM
	tristate "AMD ISP4 platform driver"
	depends on I2C && X86_64 && ACPI
	help
	  Platform driver for AMD platforms containing image signal processor
	  gen 4. Provides camera sensor module board information to allow
	  sensor and V4L drivers to work properly.

	  This driver can also be built as a module. If so, the module
	  will be called amd_isp4.
