Add a new PM CPU ops driver for Arm Fixed Virtual Platform (FVP) that enables bare metal SMP support without Arm Trusted Firmware (ATF). The driver provides CPU power-on and system reset operations by directly interfacing with FVP's power controller (PWRC) and V2M system registers. The implementation includes RVBAR_EL3 configuration to redirect secondary CPU reset vectors to Zephyr's image header, enabling proper SMP initialization without firmware assistance. Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
52 lines
1.6 KiB
Plaintext
52 lines
1.6 KiB
Plaintext
# CPU power management driver configuration options
|
|
|
|
# Copyright (c) 2021 Carlo Caione <ccaione@baylibre.com>
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menuconfig PM_CPU_OPS
|
|
bool "CPU power management drivers"
|
|
help
|
|
Enable CPU power management drivers configuration
|
|
|
|
if PM_CPU_OPS
|
|
|
|
module = PM_CPU_OPS
|
|
module-str = pm_cpu_ops
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
config PM_CPU_OPS_HAS_DRIVER
|
|
bool
|
|
|
|
config PM_CPU_OPS_PSCI
|
|
bool "Support for the ARM Power State Coordination Interface (PSCI)"
|
|
default y
|
|
depends on DT_HAS_ARM_PSCI_0_2_ENABLED || DT_HAS_ARM_PSCI_1_1_ENABLED
|
|
select PM_CPU_OPS_HAS_DRIVER
|
|
select HAS_POWEROFF
|
|
help
|
|
Say Y here if you want Zephyr to communicate with system firmware
|
|
implementing the PSCI specification for CPU-centric power
|
|
management operations described in ARM document number ARM DEN
|
|
0022A ("Power State Coordination Interface System Software on
|
|
ARM processors").
|
|
|
|
config PM_CPU_OPS_FVP
|
|
bool "Support for Arm FVP CPU power management"
|
|
depends on DT_HAS_ARM_FVP_PWRC_ENABLED && !PM_CPU_OPS_PSCI
|
|
default y if SMP
|
|
select PM_CPU_OPS_HAS_DRIVER
|
|
help
|
|
Say Y here if you want Zephyr to support CPU power management
|
|
operations on Arm Fixed Virtual Platform (FVP) without PSCI.
|
|
This driver directly controls the FVP power controller and
|
|
V2M system registers for CPU power-on and system reset operations.
|
|
|
|
config PSCI_SHELL
|
|
bool "Support for PSCI interface shell commands"
|
|
depends on SHELL && PM_CPU_OPS_PSCI
|
|
help
|
|
Say Y here if you need to enable PSCI interface shell commands
|
|
like 'warm' and 'cold' reset commands.
|
|
|
|
endif
|