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 */ 20 struct 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 31 void handoff_save_dram(struct spl_handoff *ho); 32 void handoff_load_dram_size(struct spl_handoff *ho); 33 void 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 */ 45 int handoff_arch_save(struct spl_handoff *ho); 46 47 #endif 48 49 #endif 50