summaryrefslogtreecommitdiff
path: root/include/handoff.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/handoff.h')
-rw-r--r--include/handoff.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/include/handoff.h b/include/handoff.h
new file mode 100644
index 00000000000..c0ae7b19a75
--- /dev/null
+++ b/include/handoff.h
@@ -0,0 +1,48 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Passing basic information from SPL to U-Boot proper
+ *
+ * Copyright 2018 Google, Inc
+ */
+
+#ifndef __HANDOFF_H
+#define __HANDOFF_H
+
+#if CONFIG_IS_ENABLED(HANDOFF)
+
+#include <linux/types.h>
+#include <asm/handoff.h>
+
+/**
+ * struct spl_handoff - information passed from SPL to U-Boot proper
+ *
+ * @ram_size: Value to use for gd->ram_size
+ */
+struct spl_handoff {
+ struct arch_spl_handoff arch;
+ u64 ram_size;
+ struct {
+ u64 start;
+ u64 size;
+ } ram_bank[CONFIG_NR_DRAM_BANKS];
+};
+
+void handoff_save_dram(struct spl_handoff *ho);
+void handoff_load_dram_size(struct spl_handoff *ho);
+void handoff_load_dram_banks(struct spl_handoff *ho);
+
+/**
+ * handoff_arch_save() - Save arch-specific info into the handoff area
+ *
+ * This is defined to an empty function by default, but arch-specific code can
+ * define it to write to spi_handoff->arch. It is called from
+ * write_spl_handoff().
+ *
+ * @ho: Handoff area to fill in
+ * Return: 0 if OK, -ve on error
+ */
+int handoff_arch_save(struct spl_handoff *ho);
+
+#endif
+
+#endif