ARMv8: LS1043A: Enable LS1043A default PSCI support
authormacro.wave.z@gmail.com <macro.wave.z@gmail.com>
Thu, 8 Dec 2016 03:58:26 +0000 (11:58 +0800)
committerYork Sun <york.sun@nxp.com>
Thu, 15 Dec 2016 19:57:56 +0000 (11:57 -0800)
A most basic PSCI implementation with only one psci_version is added for
LS1043A, this can verify the generic PSCI framework, and more platform specific
implementation will be added later.

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/fsl-layerscape/Makefile
arch/arm/cpu/armv8/fsl-layerscape/ls1043a_psci.S [new file with mode: 0644]
board/freescale/ls1043ardb/Kconfig

index 51c1ceeb838e9e8bc7cd334fe0fd6b231078b508..423b4b39a8a6a36140172d00845076f10c6321f3 100644 (file)
@@ -28,6 +28,7 @@ endif
 
 ifneq ($(CONFIG_LS1043A),)
 obj-$(CONFIG_SYS_HAS_SERDES) += ls1043a_serdes.o
+obj-$(CONFIG_ARMV8_PSCI) += ls1043a_psci.o
 endif
 
 ifneq ($(CONFIG_ARCH_LS1012A),)
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/ls1043a_psci.S b/arch/arm/cpu/armv8/fsl-layerscape/ls1043a_psci.S
new file mode 100644 (file)
index 0000000..86045ac
--- /dev/null
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2016 Freescale Semiconductor, Inc.
+ * Author: Hongbo Zhang <hongbo.zhang@nxp.com>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ * This file implements LS102X platform PSCI SYSTEM-SUSPEND function
+ */
+
+#include <config.h>
+#include <linux/linkage.h>
+#include <asm/psci.h>
+
+       .pushsection ._secure.text, "ax"
+
+.globl psci_version
+psci_version:
+       ldr     w0, =0x00010000         /* PSCI v1.0 */
+       ret
+
+       .popsection
index 51818ec5801673ac140608f7f5541a073e363abf..80203a4f3b334dfd5856ab72468d77d35ac70faa 100644 (file)
@@ -13,4 +13,13 @@ config SYS_SOC
 config SYS_CONFIG_NAME
        default "ls1043ardb"
 
+config SYS_HAS_ARMV8_SECURE_BASE
+       bool "Enable secure address for PSCI image"
+       depends on ARMV8_PSCI
+       default n
+       help
+         PSCI image can be re-located to secure RAM.
+         If enabled, please also define the value for ARMV8_SECURE_BASE,
+         for LS1043ARDB, it could be some address in OCRAM.
+
 endif