1# CPU power management driver configuration options
2
3# Copyright (c) 2021 Carlo Caione <ccaione@baylibre.com>
4# SPDX-License-Identifier: Apache-2.0
5
6menuconfig PM_CPU_OPS
7	bool "CPU power management drivers"
8	help
9	  Enable CPU power management drivers configuration
10
11if PM_CPU_OPS
12
13module = PM_CPU_OPS
14module-str = pm_cpu_ops
15source "subsys/logging/Kconfig.template.log_config"
16
17config PM_CPU_OPS_HAS_DRIVER
18	bool
19
20config PM_CPU_OPS_PSCI
21	bool "Support for the ARM Power State Coordination Interface (PSCI)"
22	default y
23	depends on DT_HAS_ARM_PSCI_0_2_ENABLED || DT_HAS_ARM_PSCI_1_1_ENABLED
24	select PM_CPU_OPS_HAS_DRIVER
25	select HAS_POWEROFF
26	help
27	  Say Y here if you want Zephyr to communicate with system firmware
28	  implementing the PSCI specification for CPU-centric power
29	  management operations described in ARM document number ARM DEN
30	  0022A ("Power State Coordination Interface System Software on
31	  ARM processors").
32
33config PM_CPU_OPS_FVP
34	bool "Support for Arm FVP CPU power management"
35	depends on DT_HAS_ARM_FVP_PWRC_ENABLED && !PM_CPU_OPS_PSCI
36	default y if SMP
37	select PM_CPU_OPS_HAS_DRIVER
38	help
39	  Say Y here if you want Zephyr to support CPU power management
40	  operations on Arm Fixed Virtual Platform (FVP) without PSCI.
41	  This driver directly controls the FVP power controller and
42	  V2M system registers for CPU power-on and system reset operations.
43
44config PSCI_SHELL
45	bool "Support for PSCI interface shell commands"
46	depends on SHELL && PM_CPU_OPS_PSCI
47	help
48	  Say Y here if you need to enable PSCI interface shell commands
49	  like 'warm' and 'cold' reset commands.
50
51endif
52