blob: adf53ea4b432d33b005574b3a890159fdbf90aa5 [file] [log] [blame]
Angel Pons4b429832020-04-02 23:48:50 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Aaron Durbin76c37002012-10-30 09:03:43 -05002
3#ifndef RAMINIT_H
4#define RAMINIT_H
5
Angel Ponsd37b7d82020-07-03 23:52:34 +02006#include <stdint.h>
Aaron Durbin76c37002012-10-30 09:03:43 -05007#include "pei_data.h"
8
Angel Pons6eea1912020-07-03 14:14:30 +02009/* Optional function to copy SPD data for on-board memory */
10void copy_spd(struct pei_data *peid);
11
Angel Ponsd37b7d82020-07-03 23:52:34 +020012/* Mainboard callback to fill in the SPD addresses in MRC format */
13void mb_get_spd_map(uint8_t spd_map[4]);
14
Angel Pons45f448f2020-07-03 14:46:47 +020015/* Necessary function to initialize pei_data with mainboard-specific settings */
16void mainboard_fill_pei_data(struct pei_data *pei_data);
17
Aaron Durbin76c37002012-10-30 09:03:43 -050018void sdram_initialize(struct pei_data *pei_data);
Matt DeVillier5aaa8ce2016-09-02 13:29:17 -050019void setup_sdram_meminfo(struct pei_data *pei_data);
Aaron Durbin76c37002012-10-30 09:03:43 -050020int fixup_haswell_errata(void);
Aaron Durbin2ad1dba2013-02-07 00:51:18 -060021/* save_mrc_data() must be called after cbmem has been initialized. */
22void save_mrc_data(struct pei_data *pei_data);
Aaron Durbin76c37002012-10-30 09:03:43 -050023
24#endif /* RAMINIT_H */