diff options
author | macro.wave.z@gmail.com <macro.wave.z@gmail.com> | 2016-12-08 11:58:25 +0800 |
---|---|---|
committer | York Sun <york.sun@nxp.com> | 2016-12-15 11:57:51 -0800 |
commit | 9a561753ce48def18dbc4aa278c685c93ed0a77d (patch) | |
tree | c8cae792414c13a82a40be1d7ad9d42cec433bd8 /arch/arm/cpu/armv8/cpu-dt.c | |
parent | 14bf25d50d934e95ffd7fc1276f9ab1e6c67bfbb (diff) | |
download | u-boot-9a561753ce48def18dbc4aa278c685c93ed0a77d.zip u-boot-9a561753ce48def18dbc4aa278c685c93ed0a77d.tar.gz u-boot-9a561753ce48def18dbc4aa278c685c93ed0a77d.tar.bz2 |
ARMv8: Setup PSCI memory and device tree
Newly add ARMv8 PSCI needs to be initialized, be copied or reserved in right
place, this patch does all the setup steps.
Signed-off-by: Hongbo Zhang <hongbo.zhang@nxp.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Diffstat (limited to 'arch/arm/cpu/armv8/cpu-dt.c')
-rw-r--r-- | arch/arm/cpu/armv8/cpu-dt.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/arm/cpu/armv8/cpu-dt.c b/arch/arm/cpu/armv8/cpu-dt.c index 659ec27..3a5afe8 100644 --- a/arch/arm/cpu/armv8/cpu-dt.c +++ b/arch/arm/cpu/armv8/cpu-dt.c @@ -6,6 +6,7 @@ #include <common.h> #include <asm/psci.h> +#include <asm/system.h> #ifdef CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT #include <asm/armv8/sec_firmware.h> #endif @@ -13,7 +14,8 @@ int psci_update_dt(void *fdt) { #ifdef CONFIG_MP -#if defined(CONFIG_FSL_PPA_ARMV8_PSCI) +#if defined(CONFIG_ARMV8_PSCI) || defined(CONFIG_FSL_PPA_ARMV8_PSCI) + #ifdef CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT /* * If the PSCI in SEC Firmware didn't work, avoid to update the @@ -25,6 +27,13 @@ int psci_update_dt(void *fdt) return 0; #endif fdt_psci(fdt); + +#if defined(CONFIG_ARMV8_PSCI) && !defined(CONFIG_ARMV8_SECURE_BASE) + /* secure code lives in RAM, keep it alive */ + fdt_add_mem_rsv(fdt, (unsigned long)__secure_start, + __secure_end - __secure_start); +#endif + #endif #endif return 0; |