mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-03-05 15:44:33 +07:00

There are three sleep states in nds32: suspend to idle, suspend to standby, suspend to ram In suspend to ram, we use the 'standby' instruction to emulate power management device to hang the system util wakeup source send wakeup events to break the loop. First, we push the general purpose registers and system registers to stack. Second, we translate stack pointer to physical address and store to memory to save the stack pointer. Third, after write back and invalid the cache we hang in 'standby' intruction. When wakeup source trigger wake up events, the loop will be break and resume the system. Signed-off-by: Nick Hu <nickhu@andestech.com> Acked-by: Pavel Machek <pavel@ucw.cz> Acked-by: Greentime Hu <greentime@andestech.com> Signed-off-by: Greentime Hu <greentime@andestech.com>
106 lines
2.0 KiB
Plaintext
106 lines
2.0 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see Documentation/kbuild/kconfig-language.txt.
|
|
#
|
|
|
|
config NDS32
|
|
def_bool y
|
|
select ARCH_HAS_SYNC_DMA_FOR_CPU
|
|
select ARCH_HAS_SYNC_DMA_FOR_DEVICE
|
|
select ARCH_WANT_FRAME_POINTERS if FTRACE
|
|
select CLKSRC_MMIO
|
|
select CLONE_BACKWARDS
|
|
select COMMON_CLK
|
|
select DMA_DIRECT_OPS
|
|
select GENERIC_ATOMIC64
|
|
select GENERIC_CPU_DEVICES
|
|
select GENERIC_CLOCKEVENTS
|
|
select GENERIC_IRQ_CHIP
|
|
select GENERIC_IRQ_SHOW
|
|
select GENERIC_LIB_ASHLDI3
|
|
select GENERIC_LIB_ASHRDI3
|
|
select GENERIC_LIB_CMPDI2
|
|
select GENERIC_LIB_LSHRDI3
|
|
select GENERIC_LIB_MULDI3
|
|
select GENERIC_LIB_UCMPDI2
|
|
select GENERIC_STRNCPY_FROM_USER
|
|
select GENERIC_STRNLEN_USER
|
|
select GENERIC_TIME_VSYSCALL
|
|
select HANDLE_DOMAIN_IRQ
|
|
select HAVE_ARCH_TRACEHOOK
|
|
select HAVE_DEBUG_KMEMLEAK
|
|
select HAVE_REGS_AND_STACK_ACCESS_API
|
|
select HAVE_PERF_EVENTS
|
|
select IRQ_DOMAIN
|
|
select LOCKDEP_SUPPORT
|
|
select MODULES_USE_ELF_RELA
|
|
select OF
|
|
select OF_EARLY_FLATTREE
|
|
select NO_IOPORT_MAP
|
|
select RTC_LIB
|
|
select THREAD_INFO_IN_TASK
|
|
select HAVE_FUNCTION_TRACER
|
|
select HAVE_FUNCTION_GRAPH_TRACER
|
|
select HAVE_FTRACE_MCOUNT_RECORD
|
|
select HAVE_DYNAMIC_FTRACE
|
|
help
|
|
Andes(nds32) Linux support.
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
def_bool y
|
|
|
|
config GENERIC_CSUM
|
|
def_bool y
|
|
|
|
config GENERIC_HWEIGHT
|
|
def_bool y
|
|
|
|
config GENERIC_LOCKBREAK
|
|
def_bool y
|
|
depends on PREEMPT
|
|
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
def_bool y
|
|
|
|
config TRACE_IRQFLAGS_SUPPORT
|
|
def_bool y
|
|
|
|
config STACKTRACE_SUPPORT
|
|
def_bool y
|
|
|
|
config FIX_EARLYCON_MEM
|
|
def_bool y
|
|
|
|
config PGTABLE_LEVELS
|
|
default 2
|
|
|
|
menu "System Type"
|
|
source "arch/nds32/Kconfig.cpu"
|
|
config NR_CPUS
|
|
int
|
|
default 1
|
|
|
|
config MMU
|
|
def_bool y
|
|
|
|
config NDS32_BUILTIN_DTB
|
|
string "Builtin DTB"
|
|
default ""
|
|
help
|
|
User can use it to specify the dts of the SoC
|
|
endmenu
|
|
|
|
menu "Kernel Features"
|
|
source "kernel/Kconfig.hz"
|
|
endmenu
|
|
|
|
menu "Power management options"
|
|
config SYS_SUPPORTS_APM_EMULATION
|
|
bool
|
|
|
|
config ARCH_SUSPEND_POSSIBLE
|
|
def_bool y
|
|
|
|
source "kernel/power/Kconfig"
|
|
endmenu
|