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

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

config AMD_PMC
	tristate "AMD SoC PMC driver"
	depends on ACPI && PCI && RTC_CLASS
	help
	  The driver provides support for AMD Power Management Controller
	  primarily responsible for S2Idle transactions that are driven from
	  a platform firmware running on SMU. This driver also provides a debug
	  mechanism to investigate the S2Idle transactions and failures.

	  Say Y or M here if you have a notebook powered by AMD RYZEN CPU/APU.

	  If you choose to compile this driver as a module the module will be
	  called amd-pmc.

config AMD_HSMP
	tristate "AMD HSMP Driver"
	depends on AMD_NB && X86_64
	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.
