# SPDX-License-Identifier: (GPL-2.0+ OR MIT)

menu "Meson core pm driver"

config AMLOGIC_PM
	tristate "Meson gx chips pm driver"
	default n
	help
	  This is the power related driver

config AMLOGIC_GX_SUSPEND
	bool "Meson gx chips suspend driver"
	depends on AMLOGIC_PM
	depends on CPU_IDLE
	depends on PM_WAKELOCKS
	depends on PM
	depends on ARM64 || ARM
	default n
	help
	  This is the Amlogic suspend driver for 64bit family chips
	  It provides PM suspend entry to ATF. It invoke ATF via idle routine.
	  It support PSCIv0.2 or newer version.

	  If you want this support, you should say Y here.

config AMLOGIC_LEGACY_EARLY_SUSPEND
	bool "A re-implement early_suspend instead of legacy early_suspend."
	depends on AMLOGIC_GX_SUSPEND
	depends on PM
	default n
	help
	  Kernel has abandoned legacy early_suspend mechanism.
	  Here re-implement a early_suspend for use driver
	  legacy early_suspend code easily.

	  If you want this support, you should say Y here.

config AMLOGIC_GX_REBOOT
	tristate "Amlogic reboot gx"
	depends on AMLOGIC_PM
	default n
	help
	  This is the Amlogic GX reboot driver.
endmenu
