| /* 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_get() - Get the SPL handoff information |
| * |
| * Return: Pointer to SPL handoff if received, else NULL |
| */ |
| struct spl_handoff *handoff_get(void); |
| |
| /** |
| * 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 |