# SPDX-License-Identifier: Apache-2.0

choice
	prompt "Idle State Power Management Policy"
	help
	  Storage back-end to be used by the settings subsystem.

config SYS_PM_POLICY_RESIDENCY
	bool "PM Policy based on CPU residency"
	select SYS_PM_POLICY_RESIDENCY_DEFAULT if !SOC_SERIES_CC13X2_CC26X2
	select SYS_PM_POLICY_RESIDENCY_CC13X2_CC26X2 if SOC_SERIES_CC13X2_CC26X2
	help
	  Select this option for PM policy based on CPU residencies.

config SYS_PM_POLICY_DUMMY
	bool "Dummy PM Policy"
	help
	  Dummy PM Policy which simply returns next PM state in a loop.

config SYS_PM_POLICY_APP
	bool "Application PM Policy"
	help
	  When this option is selected, the application must provide PM policy.

endchoice

config SYS_PM_POLICY_RESIDENCY_DEFAULT
	bool
	help
	  Use the default residency policy implementation

config SYS_PM_POLICY_RESIDENCY_CC13X2_CC26X2
	bool
	help
	  Use the residency policy implementation for TI CC13x2/CC26x2

if SYS_PM_POLICY_RESIDENCY

config SYS_PM_MIN_RESIDENCY_SLEEP_1
	int "Sleep State 1 minimum residency"
	depends on HAS_SYS_POWER_STATE_SLEEP_1
	default 5000
	help
	  Minimum residency in milliseconds to enter SYS_POWER_STATE_SLEEP_1
	  state.

config SYS_PM_MIN_RESIDENCY_SLEEP_2
	int "Sleep State 2 minimum residency"
	depends on HAS_SYS_POWER_STATE_SLEEP_2
	default 10000
	help
	  Minimum residency in milliseconds to enter SYS_POWER_STATE_SLEEP_2
	  state.

config SYS_PM_MIN_RESIDENCY_SLEEP_3
	int "Sleep State 3 minimum residency"
	depends on HAS_SYS_POWER_STATE_SLEEP_3
	default 30000
	help
	  Minimum residency in milliseconds to enter SYS_POWER_STATE_SLEEP_3
	  state.

config SYS_PM_MIN_RESIDENCY_DEEP_SLEEP_1
	int "Deep Sleep State 1 minimum residency"
	depends on HAS_SYS_POWER_STATE_DEEP_SLEEP_1
	default 60000
	help
	  Minimum residency in milliseconds to enter SYS_POWER_STATE_DEEP_SLEEP_1
	  state.

config SYS_PM_MIN_RESIDENCY_DEEP_SLEEP_2
	int "Deep Sleep State 2 minimum residency"
	depends on HAS_SYS_POWER_STATE_DEEP_SLEEP_2
	default 90000
	help
	  Minimum residency in milliseconds to enter SYS_POWER_STATE_DEEP_SLEEP_2
	  state.

config SYS_PM_MIN_RESIDENCY_DEEP_SLEEP_3
	int "Deep Sleep State 3 minimum residency"
	depends on HAS_SYS_POWER_STATE_DEEP_SLEEP_3
	default 120000
	help
	  Minimum residency in milliseconds to enter SYS_POWER_STATE_DEEP_SLEEP_3
	  state.

endif # SYS_PM_POLICY_RESIDENCY
