ARMv8: LS1043A: change macro CONFIG_ARMV8_PSCI definition
authormacro.wave.z@gmail.com <macro.wave.z@gmail.com>
Thu, 8 Dec 2016 03:58:21 +0000 (11:58 +0800)
committerYork Sun <york.sun@nxp.com>
Thu, 15 Dec 2016 19:57:18 +0000 (11:57 -0800)
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>
arch/arm/cpu/armv8/cpu-dt.c
arch/arm/cpu/armv8/fsl-layerscape/Kconfig
arch/arm/cpu/armv8/fsl-layerscape/cpu.c
arch/arm/cpu/armv8/fsl-layerscape/fdt.c
arch/arm/cpu/armv8/sec_firmware.c
arch/arm/cpu/armv8/sec_firmware_asm.S
arch/arm/include/asm/armv8/sec_firmware.h
arch/arm/lib/bootm-fdt.c
arch/arm/lib/psci-dt.c
include/configs/ls1043ardb.h

index 9ffb49c..659ec27 100644 (file)
@@ -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
index 6772584..d28a422 100644 (file)
@@ -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
 
index ffbbd72..467d9af 100644 (file)
@@ -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
index 0dae5fa..c10ccf9 100644 (file)
@@ -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;
 
index 2ddd67e..0b973f0 100644 (file)
@@ -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
index 1b39f1d..903195d 100644 (file)
@@ -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
index eb68185..a4e144b 100644 (file)
@@ -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
index 4481f9e..1615756 100644 (file)
@@ -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;
index baf6d70..41e139e 100644 (file)
@@ -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;
index 849a6cb..71c26bd 100644 (file)
@@ -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