aboutsummaryrefslogtreecommitdiff
path: root/plat/layerscape/board/ls1043/ls1043_bl2_setup.c
diff options
context:
space:
mode:
authorJiafei Pan <Jiafei.Pan@nxp.com>2018-03-02 07:23:30 +0000
committerJiafei Pan <Jiafei.Pan@nxp.com>2018-04-10 01:24:40 +0000
commit33d4af47b04f09c5b34f9e6f5f69eca5f506f714 (patch)
tree61a23ddf6298e3bd8ec38c9811a0d4561f590865 /plat/layerscape/board/ls1043/ls1043_bl2_setup.c
parent93883a293145f6c85b3fc8c219f400e28b7d1491 (diff)
downloadtrusted-firmware-a-33d4af47b04f09c5b34f9e6f5f69eca5f506f714.tar.gz
layerscape: Initial TF-A support for LS1043ardb
This patch introduce TF-A support for NXP's ls1043a platform. more details information of ls1043a chip and ls1043ardb board can be found at docs/plat/ls1043a.rst. Boot sequence on ls1043a is: bootrom loads bl1 firstly, then bl1 loads bl2, bl2 will load bl31, bl32 and bl33, bl31 will boot bl32(tee os) and bl33(u-boot or uefi), bl33 boot Linux kernel. Now TF-A on ls1043ardb platform has the following features in this patch: * Support boot from Nor flash. * TF-A can boot bl33 which runs in el2 of non-secure world. * TF-A boot OPTee OS. * Support PSCI Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Signed-off-by: Chenyin.Ha <Chenyin.Ha@nxp.com> Signed-off-by: Chenhui Zhao <chenhui.zhao@nxp.com> Signed-off-by: jiaheng.fan <jiaheng.fan@nxp.com> Signed-off-by: Wen He <wen.he_1@nxp.com>
Diffstat (limited to 'plat/layerscape/board/ls1043/ls1043_bl2_setup.c')
-rw-r--r--plat/layerscape/board/ls1043/ls1043_bl2_setup.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/plat/layerscape/board/ls1043/ls1043_bl2_setup.c b/plat/layerscape/board/ls1043/ls1043_bl2_setup.c
new file mode 100644
index 0000000000..b529aa50f9
--- /dev/null
+++ b/plat/layerscape/board/ls1043/ls1043_bl2_setup.c
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <mmio.h>
+#include <debug.h>
+#include "plat_ls.h"
+
+void bl2_early_platform_setup2(u_register_t arg0, u_register_t arg1,
+ u_register_t arg2, u_register_t arg3)
+{
+ ls_bl2_early_platform_setup((meminfo_t *)arg1);
+
+ /*
+ * Initialize system level generic timer for Layerscape Socs.
+ */
+ ls_delay_timer_init();
+}
+
+void bl2_platform_setup(void)
+{
+ NOTICE(FIRMWARE_WELCOME_STR_LS1043_BL2);
+}