# SPDX-License-Identifier: GPL-2.0-only
#
# AMD PMC Driver
#

config AMD_PMC
	tristate "AMD SoC PMC driver"
	depends on ACPI && PCI && RTC_CLASS && AMD_NB
	depends on SUSPEND
	select SERIO
	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.
