blob: e3dfffc2b381cc234d86b3c8cb283bfe638562c5 [file] [log] [blame]
Christian Walterb646e282020-01-09 15:42:42 +01001/* SPDX-License-Identifier: GPL-2.0-only */
2
3#include <soc/ramstage.h>
4#include <variant/gpio.h>
5#include "variants/baseboard/include/eeprom.h"
6
7static fsp_params parmas_list[] = {
Angel Pons329ebb32020-11-24 15:03:38 +01008 /* FIXME: Fill with additional options */
Christian Walterb646e282020-01-09 15:42:42 +01009};
10
11void mainboard_silicon_init_params(FSP_S_CONFIG *params)
12{
Christian Walterb646e282020-01-09 15:42:42 +010013 /* Configure pads prior to SiliconInit() in case there's any
14 dependencies during hardware initialization. */
Angel Ponsfe17a8c2020-11-24 15:26:10 +010015 program_gpio_pads();
Christian Walterb646e282020-01-09 15:42:42 +010016
17 params->SataLedEnable = 1;
18
Angel Pons329ebb32020-11-24 15:03:38 +010019 /* Overwrite params */
Christian Walterb646e282020-01-09 15:42:42 +010020 if (!check_signature(I2C_ADDR_EEPROM))
21 return;
22
23 for (u8 i = 0; i <= ARRAY_SIZE(parmas_list); i++) {
24 if (ARRAY_SIZE(parmas_list) == 0)
25 break;
26 read_write_config(I2C_ADDR_EEPROM, params, EEPROM_OFFSET_FSP_CONFIG +
27 parmas_list[i].offset,
28 EEPROM_OFFSET_FSP_CONFIG + parmas_list[i].offset,
29 parmas_list[i].size);
30 }
31}