summaryrefslogtreecommitdiff
path: root/src/soc/cavium/cn81xx/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/cavium/cn81xx/include')
-rw-r--r--src/soc/cavium/cn81xx/include/atf/plat_params.h44
-rw-r--r--src/soc/cavium/cn81xx/include/soc/bl31_plat_params.h24
-rw-r--r--src/soc/cavium/cn81xx/include/soc/memlayout.ld5
3 files changed, 72 insertions, 1 deletions
diff --git a/src/soc/cavium/cn81xx/include/atf/plat_params.h b/src/soc/cavium/cn81xx/include/atf/plat_params.h
new file mode 100644
index 0000000000..93b970b352
--- /dev/null
+++ b/src/soc/cavium/cn81xx/include/atf/plat_params.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2018 Facebook Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef __PLAT_PARAMS_H__
+#define __PLAT_PARAMS_H__
+
+#include <stdint.h>
+
+/* param type */
+enum {
+ PARAM_NONE = 0,
+ PARAM_FDT,
+ PARAM_COREBOOT_TABLE,
+};
+
+/* common header for all plat parameter type */
+struct bl31_plat_param {
+ uint64_t type;
+ void *next;
+};
+
+struct bl31_fdt_param {
+ struct bl31_plat_param h;
+ uint64_t fdt_ptr;
+};
+
+struct bl31_u64_param {
+ struct bl31_plat_param h;
+ uint64_t value;
+};
+
+void params_early_setup(void *ptr);
+
+#endif /* __PLAT_PARAMS_H__ */
diff --git a/src/soc/cavium/cn81xx/include/soc/bl31_plat_params.h b/src/soc/cavium/cn81xx/include/soc/bl31_plat_params.h
new file mode 100644
index 0000000000..f365aad059
--- /dev/null
+++ b/src/soc/cavium/cn81xx/include/soc/bl31_plat_params.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2016 Rockchip Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#ifndef __BL31_PLAT_PARAMS_H__
+#define __BL31_PLAT_PARAMS_H__
+
+#include <atf/plat_params.h>
+
+void register_bl31_param(struct bl31_plat_param *param);
+
+#endif/* __BL31_PLAT_PARAMS_H__ */
diff --git a/src/soc/cavium/cn81xx/include/soc/memlayout.ld b/src/soc/cavium/cn81xx/include/soc/memlayout.ld
index 0400d2985e..b80d152f97 100644
--- a/src/soc/cavium/cn81xx/include/soc/memlayout.ld
+++ b/src/soc/cavium/cn81xx/include/soc/memlayout.ld
@@ -21,8 +21,11 @@
SECTIONS
{
DRAM_START(0x00000000)
- /* FIXME: Place BL31 in first 1MiB */
+ /* Secure region 0 - 1MiB */
+ REGION(bl31, 0, 0xe0000, 0x1000)
+ REGION(sff8104, 0xe0000, 0x20000, 0x1000)
+ /* Insecure region 1MiB - TOP OF DRAM */
/* bootblock-custom.S does setup CAR from SRAM_START to SRAM_END */
SRAM_START(BOOTROM_OFFSET)
STACK(BOOTROM_OFFSET, 16K)