]> git.baikalelectronics.ru Git - arm-tf.git/commit
allwinner: Implement PSCI system suspend using SCPI
authorSamuel Holland <samuel@sholland.org>
Sun, 21 Oct 2018 17:41:03 +0000 (12:41 -0500)
committerSamuel Holland <samuel@sholland.org>
Thu, 13 Feb 2020 03:41:39 +0000 (21:41 -0600)
commite382c88e2a26995099bb931d49e754dcaebc5593
treef8e3463bc9efa6955909016d9845bad3af9658de
parent50cabf6d22d1060012fe9c545832b2216a755ece
allwinner: Implement PSCI system suspend using SCPI

If an SCP firmware is present and able to communicate via SCPI, then use
that to implement CPU and system power state transitions, including CPU
hotplug and system suspend. Otherwise, fall back to the existing CPU
power control implementation.

The last 16 KiB of SRAM A2 are reserved for the SCP firmware, and the
SCPI shared memory is at the very end of this region (and therefore the
end of SRAM A2). BL31 continues to start at the beginning of SRAM A2
(not counting the ARISC exception vector area) and fills up to the
beginning of the SCP firmware.

Because the SCP firmware is not loaded adjacent to the ARISC exception
vector area, the jump instructions used for exception handling cannot be
included in the SCP firmware image, and must be initialized here before
turning on the SCP.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Change-Id: I37b9b9636f94d4125230423726f3ac5e9cdb551c
plat/allwinner/common/allwinner-common.mk
plat/allwinner/common/include/platform_def.h
plat/allwinner/common/sunxi_pm.c