From 183c414577fc31e83304eac582956b75118edeef Mon Sep 17 00:00:00 2001 From: Sean Rhodes Date: Mon, 24 Mar 2025 14:01:34 +0000 Subject: [PATCH] soc/intel/meteorlake: Add Kconfig to skip FSP TBT connect topology MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/c/coreboot/+/86989 Tested-by: build bot (Jenkins) Reviewed-by: Jérémy Compostella Reviewed-by: Subrata Banik Reviewed-by: Angel Pons --- src/soc/intel/meteorlake/Kconfig | 12 ++++++++++++ src/soc/intel/meteorlake/fsp_params.c | 7 +++++++ 2 files changed, 19 insertions(+) diff --git a/src/soc/intel/meteorlake/Kconfig b/src/soc/intel/meteorlake/Kconfig index 8a51abd496..cbab6a7f7c 100644 --- a/src/soc/intel/meteorlake/Kconfig +++ b/src/soc/intel/meteorlake/Kconfig @@ -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 diff --git a/src/soc/intel/meteorlake/fsp_params.c b/src/soc/intel/meteorlake/fsp_params.c index 30ea478432..8c3ceb75cc 100644 --- a/src/soc/intel/meteorlake/fsp_params.c +++ b/src/soc/intel/meteorlake/fsp_params.c @@ -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);