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

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.
