1/* SPDX-License-Identifier: GPL-2.0+ */ 2/* 3 * Passing basic information from SPL to U-Boot proper 4 * 5 * Copyright 2018 Google, Inc 6 */ 7 8#ifndef __HANDOFF_H 9#define __HANDOFF_H 10 11#if CONFIG_IS_ENABLED(HANDOFF) 12 13#include <asm/handoff.h> 14 15/** 16 * struct spl_handoff - information passed from SPL to U-Boot proper 17 * 18 * @ram_size: Value to use for gd->ram_size 19 */ 20struct spl_handoff { 21 struct arch_spl_handoff arch; 22 u64 ram_size; 23#ifdef CONFIG_NR_DRAM_BANKS 24 struct { 25 u64 start; 26 u64 size; 27 } ram_bank[CONFIG_NR_DRAM_BANKS]; 28#endif 29}; 30 31void handoff_save_dram(struct spl_handoff *ho); 32void handoff_load_dram_size(struct spl_handoff *ho); 33void handoff_load_dram_banks(struct spl_handoff *ho); 34 35/** 36 * handoff_arch_save() - Save arch-specific info into the handoff area 37 * 38 * This is defined to an empty function by default, but arch-specific code can 39 * define it to write to spi_handoff->arch. It is called from 40 * write_spl_handoff(). 41 * 42 * @ho: Handoff area to fill in 43 * @return 0 if OK, -ve on error 44 */ 45int handoff_arch_save(struct spl_handoff *ho); 46 47#endif 48 49#endif 50