soc/intel/tigerlake: Add code for early tcss

In order for USB Type-C idisplays to be detected prior to loading Kernel
PMC IPC driver is needed to communicate with PMC in order to correctly set
the USB Mux settings. This patch is adding in support for early detection
of both Displays.

BUG=b:151731851
BRANCH=NONE
TEST=built and verified that TCSS MUX is being set on Volteer

Change-Id: I58e66f21210d565fb8145d140d2fc7febecdd21a
Signed-off-by: Brandon Breitenstein <brandon.breitenstein@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/42079
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Brandon Breitenstein
2019-12-19 23:12:58 -08:00
committed by Tim Wawrzynczak
parent 7598b4b40b
commit 99b38a9c2f
5 changed files with 424 additions and 0 deletions

View File

@@ -14,6 +14,7 @@
#include <intelblocks/xdci.h>
#include <intelpch/lockdown.h>
#include <security/vboot/vboot_common.h>
#include <soc/early_tcss.h>
#include <soc/gpio_soc_defs.h>
#include <soc/intel/common/vbt.h>
#include <soc/pci_devs.h>
@@ -384,6 +385,11 @@ void platform_fsp_multi_phase_init_cb(uint32_t phase_index)
switch (phase_index) {
case 1:
/* TCSS specific initialization here */
printk(BIOS_DEBUG, "FSP MultiPhaseSiInit %s/%s called\n",
__FILE__, __func__);
if (CONFIG(EARLY_TCSS_DISPLAY) && (vboot_recovery_mode_enabled() ||
vboot_developer_mode_enabled()))
mainboard_early_tcss_enable();
break;
default:
break;