/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef RAMINIT_H #define RAMINIT_H #include "pei_data.h" #define BOOT_PATH_NORMAL 0 #define BOOT_PATH_RESET 1 #define BOOT_PATH_RESUME 2 void mainboard_fill_pei_data(struct pei_data *pei_data); /* * SPD information API adopted from nb/intel/haswell. * * This applies to both MRC and native raminit, only for boards with * CONFIG(HAVE_SPD_IN_CBFS). * * spd_info.addresses is an array of 4 bytes representing the SMBus addresses * of the SPD EEPROM of (respectively) Channel 0 Slot 0, C0S1, C1S0, C1S1. * Boards with onboard memory for the slot without actual SPD EEPROM enter * SPD_MEMORY_DOWN in that position and enter in spd_info.spd_index a 0-based index into * spd.bin file in CBFS, which is a concatenation of 256-byte SPD data blobs. * * Only one set of SPD data is supported. */ #define SPD_MEMORY_DOWN 0xFF struct spd_info { uint8_t addresses[4]; unsigned int spd_index; }; /* * Mainboard callback to fill in the SPD addresses. * * @param spdi Pointer to spd_info struct to be populated by mainboard. */ void mb_get_spd_map(struct spd_info *spdi); #endif /* RAMINIT_H */