# Amlogic pm

menu "Meson core pm driver"

config AMLOGIC_SUSPEND
    bool "Meson chips pm driver"
    depends on PM
    default n
    help
      This is the Amlogic core pm driver for meson family chips
      AMLOGIC_GX_SUSPEND provides pm driver for GX family chips
      AMLOGIC_M8B_SUSPEND provides pm driver for m8b (32bit) chip.
      If you want this support, you should say Y here.

config AMLOGIC_GX_SUSPEND
    tristate "Meson gx chips pm driver"
    depends on AMLOGIC_SUSPEND
    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 ealry_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.

endmenu
