Patrick Georgi has submitted this change. ( https://review.coreboot.org/c/coreboot/+/39895 )
Change subject: mb/ocp/tiogapass: Update UPD IIO bifurcation at run-time
......................................................................
mb/ocp/tiogapass: Update UPD IIO bifurcation at run-time
Update UPD IIO bifurcation at run-time according to different Riser
cards. For detail please reference
Facebook Server Intel Motherboard v4.0, Sec. 10.1.2 Riser card types.
With the engineering build FSP, it can only configure IIO for
one socket so my local test needs to remove all socket1 elements
from tp_iio_bifur_table.
This change relies on [1] and need to add GPP_C15 and GPP_C16 to
early_gpio_table for gpio configuration in bootblock.
[1] https://review.coreboot.org/c/coreboot/+/39427/
Tested=OCP Tioga Pass can see socket0 IIO being updated with
an engineering build FSP.
Change-Id: I8e63a233a2235cd45b14b20542e6efab3de17899
Signed-off-by: Johnny Lin <johnny_lin(a)wiwynn.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/39895
Tested-by: build bot (Jenkins) <no-reply(a)coreboot.org>
Reviewed-by: Maxim Polyakov <max.senia.poliak(a)gmail.com>
---
M src/mainboard/ocp/tiogapass/romstage.c
M src/mainboard/ocp/tiogapass/skxsp_tp_iio.h
2 files changed, 35 insertions(+), 1 deletion(-)
Approvals:
build bot (Jenkins): Verified
Maxim Polyakov: Looks good to me, approved
diff --git a/src/mainboard/ocp/tiogapass/romstage.c b/src/mainboard/ocp/tiogapass/romstage.c
index 8f9806f..e4a188d 100644
--- a/src/mainboard/ocp/tiogapass/romstage.c
+++ b/src/mainboard/ocp/tiogapass/romstage.c
@@ -16,10 +16,29 @@
#include <fsp/api.h>
#include <FspmUpd.h>
#include <soc/romstage.h>
+#include <string.h>
+#include <gpio.h>
+#include <soc/lewisburg_pch_gpio_defs.h>
#include "skxsp_tp_gpio.h"
#include "skxsp_tp_iio.h"
+static uint8_t iio_table_buf[sizeof(tp_iio_bifur_table)];
+
+static void oem_update_iio(FSPM_UPD *mupd)
+{
+ /* Read GPIO to decide IIO bifurcation at run-time. */
+ int slot_config0 = gpio_get(GPP_C15);
+ int slot_config1 = gpio_get(GPP_C16);
+
+ /* It's a single side 3 slots riser card, to tell which AICs are on each slot requires
+ reading the GPIO expander PCA9555 via SMBUS, and then configure the bifurcation
+ accordingly is left for future work. */
+ if (!slot_config0 && slot_config1)
+ mupd->FspmConfig.IioBifurcationConfig.IIoBifurcationTable[Skt0_Iou0].Bifurcation
+ = IIO_BIFURCATE_xxx8xxx8;
+}
+
/*
* Configure GPIO depend on platform
*/
@@ -32,8 +51,9 @@
static void mainboard_config_iio(FSPM_UPD *mupd)
{
+ memcpy(iio_table_buf, tp_iio_bifur_table, sizeof(tp_iio_bifur_table));
mupd->FspmConfig.IioBifurcationConfig.IIoBifurcationTable =
- (UPD_IIO_BIFURCATION_DATA_ENTRY *) tp_iio_bifur_table;
+ (UPD_IIO_BIFURCATION_DATA_ENTRY *) iio_table_buf;
mupd->FspmConfig.IioBifurcationConfig.NumberOfEntries =
ARRAY_SIZE(tp_iio_bifur_table);
@@ -49,6 +69,7 @@
mupd->FspmConfig.PchPciConfig.RootPortFunctionSwapping = 0x00;
mupd->FspmConfig.PchPciConfig.PciePllSsc = 0x00;
+ oem_update_iio(mupd);
}
void mainboard_memory_init_params(FSPM_UPD *mupd)
diff --git a/src/mainboard/ocp/tiogapass/skxsp_tp_iio.h b/src/mainboard/ocp/tiogapass/skxsp_tp_iio.h
index 4037020..d436e88 100644
--- a/src/mainboard/ocp/tiogapass/skxsp_tp_iio.h
+++ b/src/mainboard/ocp/tiogapass/skxsp_tp_iio.h
@@ -19,6 +19,19 @@
#include <FspmUpd.h>
#include <soc/pci_devs.h>
+enum tp_iio_bifur_table_index {
+ Skt0_Iou0 = 0,
+ Skt0_Iou1,
+ Skt0_Iou2,
+ Skt0_Mcp0,
+ Skt0_Mcp1,
+ Skt1_Iou0,
+ Skt1_Iou1,
+ Skt1_Iou2,
+ Skt1_Mcp0,
+ Skt1_Mcp1
+};
+
/*
* Standard Tioga Pass Iio Bifurcation Table
* This is SS 2x16 config. As documented in OCP TP spec, there are
--
To view, visit https://review.coreboot.org/c/coreboot/+/39895
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I8e63a233a2235cd45b14b20542e6efab3de17899
Gerrit-Change-Number: 39895
Gerrit-PatchSet: 11
Gerrit-Owner: Johnny Lin
Gerrit-Reviewer: Andrey Petrov <andrey.petrov(a)gmail.com>
Gerrit-Reviewer: Anjaneya "Reddy" Chagam <anjaneya.chagam(a)intel.com>
Gerrit-Reviewer: David Hendricks <david.hendricks(a)gmail.com>
Gerrit-Reviewer: Jingle Hsu
Gerrit-Reviewer: Jonathan Zhang <jonzhang(a)fb.com>
Gerrit-Reviewer: Maxim Polyakov <max.senia.poliak(a)gmail.com>
Gerrit-Reviewer: Morgan Jang
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-MessageType: merged
Hello build bot (Jenkins), Anjaneya "Reddy" Chagam, Andrey Petrov, David Hendricks, Patrick Rudolph,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/40034
to look at the new patch set (#6).
Change subject: vendorcode/intel/fsp: update Cooperlake-SP header files
......................................................................
vendorcode/intel/fsp: update Cooperlake-SP header files
Update Cooperlake-SP (CPX-SP) FSP header files.
As CPX-SP FSP engineering is on-going (the processor Mass Production
is some time in this year). These header files will be adjusted when
changes are necessary with newer FSP release. This commit corresponds
to FSP release 1025293.
Also update soc/xeon_sp code file and Skylake-SP header file accordingly
to use FsptPort80RouteDisable instead of PcdPort80RouteDisable.
Signed-off-by: Jonathan Zhang <jonzhang(a)fb.com>
Signed-off-by: Reddy Chagam <anjaneya.chagam(a)intel.com>
Change-Id: I8bc6882e47de23d83ba0f521bb12a10dace523ce
---
M src/soc/intel/xeon_sp/bootblock.c
M src/vendorcode/intel/fsp/fsp2_0/skylake_sp/FsptUpd.h
M src/vendorcode/intel/fsp/fsp2_1/cooperlake_sp/FspUpd.h
M src/vendorcode/intel/fsp/fsp2_1/cooperlake_sp/FspmUpd.h
M src/vendorcode/intel/fsp/fsp2_1/cooperlake_sp/FspsUpd.h
M src/vendorcode/intel/fsp/fsp2_1/cooperlake_sp/FsptUpd.h
A src/vendorcode/intel/fsp/fsp2_1/cooperlake_sp/gpio_fsp.h
A src/vendorcode/intel/fsp/fsp2_1/cooperlake_sp/hob_iiouds.h
A src/vendorcode/intel/fsp/fsp2_1/cooperlake_sp/hob_memmap.h
9 files changed, 1,384 insertions(+), 36 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/34/40034/6
--
To view, visit https://review.coreboot.org/c/coreboot/+/40034
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I8bc6882e47de23d83ba0f521bb12a10dace523ce
Gerrit-Change-Number: 40034
Gerrit-PatchSet: 6
Gerrit-Owner: Jonathan Zhang <jonzhang(a)fb.com>
Gerrit-Reviewer: Andrey Petrov <anpetrov(a)fb.com>
Gerrit-Reviewer: Anjaneya "Reddy" Chagam <anjaneya.chagam(a)intel.com>
Gerrit-Reviewer: David Hendricks <david.hendricks(a)gmail.com>
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Andrey Petrov <andrey.petrov(a)gmail.com>
Gerrit-MessageType: newpatchset
Maxim Polyakov has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/40730 )
Change subject: mb/tiogapass: exclude the consequences of reconfig GPIO in FSP-M
......................................................................
mb/tiogapass: exclude the consequences of reconfig GPIO in FSP-M
FSP-M can reconfigure the GPIO controller inside Lewisburg PCH. Since
FSP-M is provided as a binary file, we will not be able to change the
contents inside of this file. We should be sure that after romstage the
pads will be configured according to the configuration from gpio.h only.
This patch reconfigures the GPIO to ramstage.
Change-Id: I2959711db45eaa034c9c2dec1d64b0394efdbb71
Signed-off-by: Maxim Polyakov <max.senia.poliak(a)gmail.com>
---
M src/mainboard/ocp/tiogapass/ramstage.c
1 file changed, 3 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/30/40730/1
diff --git a/src/mainboard/ocp/tiogapass/ramstage.c b/src/mainboard/ocp/tiogapass/ramstage.c
index 16b4fd9..fba1d80 100644
--- a/src/mainboard/ocp/tiogapass/ramstage.c
+++ b/src/mainboard/ocp/tiogapass/ramstage.c
@@ -14,11 +14,12 @@
*/
#include <soc/ramstage.h>
#include <bootstate.h>
-#include <gpio.h>
-#include <soc/lewisburg_pch_gpio_defs.h>
+#include "gpio.h"
void mainboard_silicon_init_params(FSPS_UPD *params)
{
+ /* configure Lewisburg PCH GPIO controller after FSP-M */
+ gpio_configure_pads(gpio_table, ARRAY_SIZE(gpio_table));
}
static void pull_post_complete_pin(void *unused)
--
To view, visit https://review.coreboot.org/c/coreboot/+/40730
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I2959711db45eaa034c9c2dec1d64b0394efdbb71
Gerrit-Change-Number: 40730
Gerrit-PatchSet: 1
Gerrit-Owner: Maxim Polyakov <max.senia.poliak(a)gmail.com>
Gerrit-MessageType: newchange