mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
ARMv8: LS1043A: change macro CONFIG_ARMV8_PSCI definition
NXP/Freescale uses macro CONFIG_ARMV8_PSCI to enable their private PSCI implementation in PPA firmware, but this macro naming too generic, so this patch replaces it with a specic one CONFIG_FSL_PPA_ARMV8_PSCI. And this macro CONFIG_ARMV8_PSCI will be used for a generic PSCI for ARMv8 which will be added in following patchs. Signed-off-by: Hongbo Zhang <hongbo.zhang@nxp.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: York Sun <york.sun@nxp.com>
This commit is contained in:
parent
8e62f1ee03
commit
2d16a1a6c9
10 changed files with 30 additions and 9 deletions
|
@ -13,7 +13,7 @@
|
|||
int psci_update_dt(void *fdt)
|
||||
{
|
||||
#ifdef CONFIG_MP
|
||||
#if defined(CONFIG_ARMV8_PSCI)
|
||||
#if 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
|
||||
|
|
|
@ -44,6 +44,26 @@ config FSL_LSCH3
|
|||
menu "Layerscape architecture"
|
||||
depends on FSL_LSCH2 || FSL_LSCH3
|
||||
|
||||
menu "Layerscape PPA"
|
||||
config FSL_LS_PPA
|
||||
bool "FSL Layerscape PPA firmware support"
|
||||
depends on ARCH_LS1043A || ARCH_LS1046A
|
||||
select FSL_PPA_ARMV8_PSCI
|
||||
help
|
||||
The FSL Primary Protected Application (PPA) is a software component
|
||||
which is loaded during boot stage, and then remains resident in RAM
|
||||
and runs in the TrustZone after boot.
|
||||
Say y to enable it.
|
||||
|
||||
config FSL_PPA_ARMV8_PSCI
|
||||
bool "PSCI implementation in PPA firmware"
|
||||
depends on FSL_LS_PPA
|
||||
help
|
||||
This config enables the ARMv8 PSCI implementation in PPA firmware.
|
||||
This is a private PSCI implementation and different from those
|
||||
implemented under the common ARMv8 PSCI framework.
|
||||
endmenu
|
||||
|
||||
config SYS_FSL_MMDC
|
||||
bool
|
||||
|
||||
|
|
|
@ -410,7 +410,8 @@ int arch_early_init_r(void)
|
|||
erratum_a009942_check_cpo();
|
||||
#endif
|
||||
#ifdef CONFIG_MP
|
||||
#if defined(CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT) && defined(CONFIG_ARMV8_PSCI)
|
||||
#if defined(CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT) && \
|
||||
defined(CONFIG_FSL_PPA_ARMV8_PSCI)
|
||||
/* Check the psci version to determine if the psci is supported */
|
||||
psci_ver = sec_firmware_support_psci_version();
|
||||
#endif
|
||||
|
|
|
@ -42,7 +42,8 @@ void ft_fixup_cpu(void *blob)
|
|||
int addr_cells;
|
||||
u64 val, core_id;
|
||||
size_t *boot_code_size = &(__secondary_boot_code_size);
|
||||
#if defined(CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT) && defined(CONFIG_ARMV8_PSCI)
|
||||
#if defined(CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT) && \
|
||||
defined(CONFIG_FSL_PPA_ARMV8_PSCI)
|
||||
int node;
|
||||
u32 psci_ver;
|
||||
|
||||
|
|
|
@ -209,7 +209,7 @@ __weak bool sec_firmware_is_valid(const void *sec_firmware_img)
|
|||
return true;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_ARMV8_PSCI
|
||||
#ifdef CONFIG_FSL_PPA_ARMV8_PSCI
|
||||
/*
|
||||
* The PSCI_VERSION function is added from PSCI v0.2. When the PSCI
|
||||
* v0.1 received this function, the NOT_SUPPORTED (0xffff_ffff) error
|
||||
|
|
|
@ -41,7 +41,7 @@ WEAK(_sec_firmware_entry)
|
|||
ret
|
||||
ENDPROC(_sec_firmware_entry)
|
||||
|
||||
#ifdef CONFIG_ARMV8_PSCI
|
||||
#ifdef CONFIG_FSL_PPA_ARMV8_PSCI
|
||||
ENTRY(_sec_firmware_support_psci_version)
|
||||
mov x0, 0x84000000
|
||||
mov x1, 0x0
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
int sec_firmware_init(const void *, u32 *, u32 *);
|
||||
int _sec_firmware_entry(const void *, u32 *, u32 *);
|
||||
bool sec_firmware_is_valid(const void *);
|
||||
#ifdef CONFIG_ARMV8_PSCI
|
||||
#ifdef CONFIG_FSL_PPA_ARMV8_PSCI
|
||||
unsigned int sec_firmware_support_psci_version(void);
|
||||
unsigned int _sec_firmware_support_psci_version(void);
|
||||
#endif
|
||||
|
|
|
@ -52,7 +52,7 @@ int arch_fixup_fdt(void *blob)
|
|||
return ret;
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_ARMV7_NONSEC) || defined(CONFIG_ARMV8_PSCI)
|
||||
#if defined(CONFIG_ARMV7_NONSEC) || defined(CONFIG_FSL_PPA_ARMV8_PSCI)
|
||||
ret = psci_update_dt(blob);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
int fdt_psci(void *fdt)
|
||||
{
|
||||
#if defined(CONFIG_ARMV8_PSCI) || defined(CONFIG_ARMV7_PSCI)
|
||||
#if defined(CONFIG_FSL_PPA_ARMV8_PSCI) || defined(CONFIG_ARMV7_PSCI)
|
||||
int nodeoff;
|
||||
unsigned int psci_ver = 0;
|
||||
int tmp;
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
#if defined(CONFIG_FSL_LS_PPA)
|
||||
#define CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT
|
||||
#define SEC_FIRMWARE_ERET_ADDR_REVERT
|
||||
#define CONFIG_ARMV8_PSCI
|
||||
|
||||
#define CONFIG_SYS_LS_PPA_FW_IN_XIP
|
||||
#ifdef CONFIG_SYS_LS_PPA_FW_IN_XIP
|
||||
|
|
Loading…
Reference in a new issue