arm: imx: imx8m: Add basic PSCI provider implementation
authorMarek Vasut <marex@denx.de>
Thu, 22 Dec 2022 00:46:43 +0000 (01:46 +0100)
committerStefano Babic <sbabic@denx.de>
Tue, 31 Jan 2023 14:46:40 +0000 (15:46 +0100)
commited50f82ceb678309eb350eff061fffcacf9c878c
treebcd299d862ffd41d22cf9d17c27b4bb2e31b3b6a
parent58552ab81b365bf5de8d40e2ea1978f6446e62c8
arm: imx: imx8m: Add basic PSCI provider implementation

Implement basic PSCI provider to let OS turn CPU cores off and on,
power off and restart the system and determine PSCI version. This
is sufficient to remove the need for the ATF BL31 blob altogether.

To make use of this functionality, active the following Kconfig options:
  # CONFIG_PSCI_RESET is not set
  CONFIG_ARMV8_MULTIENTRY=y
  CONFIG_ARMV8_SET_SMPEN=y
  CONFIG_ARMV8_SPL_EXCEPTION_VECTORS=y
  CONFIG_ARMV8_EA_EL3_FIRST=y
  CONFIG_ARMV8_PSCI=y
  CONFIG_ARMV8_PSCI_CPUS_PER_CLUSTER=4
  CONFIG_ARMV8_SECURE_BASE=0x970000
  CONFIG_ARM_SMCCC=y
  CONFIG_SYS_HAS_ARMV8_SECURE_BASE=y

Signed-off-by: Marek Vasut <marex@denx.de>
arch/arm/mach-imx/imx8m/Kconfig
arch/arm/mach-imx/imx8m/Makefile
arch/arm/mach-imx/imx8m/psci.c [new file with mode: 0644]