soc/intel/meteorlake: Add Kconfig to skip FSP TBT connect topology

Add a Kconfig to direct FSP to skip sending the TBT Connect Topology
(CNTP) command, which is not needed when using software connection
manager (as opposed to firmware connection manager). There are also
situations where boards using FW CM may wish to skip sending the
command.

When selected, the FSP UPD ITbtConnectTopologyTimeoutInMs will be set
to zero, which tells FSP to skip sending the command.

Previous SoCs always set this UPD to zero, but upon discussion it was
determined that this is not universally desirable, so guard it with a
Kconfig.

Change-Id: I634dfb9969410b57e8415ac659fa3e8d6943d52c
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/86989
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
Sean Rhodes 2025-03-24 14:01:34 +00:00 committed by Matt DeVillier
commit 183c414577
2 changed files with 19 additions and 0 deletions

View file

@ -458,4 +458,16 @@ config SOC_PHYSICAL_ADDRESS_WIDTH
int
default 42
config SKIP_SEND_CONNECT_TOPOLOGY_CMD
bool
default y if SOFTWARE_CONNECTION_MANAGER
default n
help
When selected, the FSP UPD ITbtConnectTopologyTimeoutInMs will be set to
zero, causing FSP to skip sending the Connect Topology (CNTP) command,
which by default has a 5s timeout. CNTP is not needed when using software
connection manager, and sending it will cause a 5-10s boot delay.
Mainboards which use firmware connection manager may also wish to select this
as needed.
endif

View file

@ -396,6 +396,13 @@ static void fill_fsps_tcss_params(FSP_S_CONFIG *s_cfg,
/* Explicitly clear this field to avoid using defaults */
memset(s_cfg->IomTypeCPortPadCfg, 0, sizeof(s_cfg->IomTypeCPortPadCfg));
/*
* Set ITbtConnectTopologyTimeoutInMs to 0 if config selected,
* in order to skip sending the connect toplogy (CNTP) command.
*/
if (CONFIG(SKIP_SEND_CONNECT_TOPOLOGY_CMD))
s_cfg->ITbtConnectTopologyTimeoutInMs = 0;
/* D3Hot and D3Cold for TCSS */
s_cfg->D3HotEnable = !config->tcss_d3_hot_disable;
s_cfg->D3ColdEnable = CONFIG(D3COLD_SUPPORT);