summaryrefslogtreecommitdiff
path: root/plat/socionext
diff options
context:
space:
mode:
authorSumit Garg <sumit.garg@linaro.org>2018-06-15 13:41:59 +0530
committerSumit Garg <sumit.garg@linaro.org>2018-06-21 11:22:23 +0530
commitc35d59a3d8d4e7a077921ec2f7468eeb96d9d565 (patch)
tree8e85737109e8de9db62647bad9fbbf6af50cd7d5 /plat/socionext
parent3caa841d9c756fe58e749dffecebdc328626b1c7 (diff)
synquacer: Introduce basic platform support
synquacer supports direct entry to BL31 without BL1 and BL2 as SCP firmware does similar work. So this patch adds BL31 stub APIs. Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Diffstat (limited to 'plat/socionext')
-rw-r--r--plat/socionext/synquacer/include/platform_def.h21
-rw-r--r--plat/socionext/synquacer/sq_bl31_setup.c32
2 files changed, 53 insertions, 0 deletions
diff --git a/plat/socionext/synquacer/include/platform_def.h b/plat/socionext/synquacer/include/platform_def.h
new file mode 100644
index 00000000..532cb65f
--- /dev/null
+++ b/plat/socionext/synquacer/include/platform_def.h
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef __PLATFORM_DEF_H__
+#define __PLATFORM_DEF_H__
+
+#include <common_def.h>
+
+#define CACHE_WRITEBACK_SHIFT 6
+#define CACHE_WRITEBACK_GRANULE (1 << CACHE_WRITEBACK_SHIFT)
+
+#define PLATFORM_STACK_SIZE 0x400
+
+#define BL31_BASE 0x04000000
+#define BL31_SIZE 0x00080000
+#define BL31_LIMIT (BL31_BASE + BL31_SIZE)
+
+#endif /* __PLATFORM_DEF_H__ */
diff --git a/plat/socionext/synquacer/sq_bl31_setup.c b/plat/socionext/synquacer/sq_bl31_setup.c
new file mode 100644
index 00000000..e8553ab2
--- /dev/null
+++ b/plat/socionext/synquacer/sq_bl31_setup.c
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <arch.h>
+#include <arch_helpers.h>
+#include <platform_def.h>
+#include <assert.h>
+#include <bl_common.h>
+#include <debug.h>
+
+void bl31_early_platform_setup(bl31_params_t *from_bl2,
+ void *plat_params_from_bl2)
+{
+ /* There are no parameters from BL2 if BL31 is a reset vector */
+ assert(from_bl2 == NULL);
+ assert(plat_params_from_bl2 == NULL);
+}
+
+void bl31_platform_setup(void)
+{
+}
+
+void bl31_plat_runtime_setup(void)
+{
+}
+
+void bl31_plat_arch_setup(void)
+{
+}