soc/intel/tigerlake: Configure IOM_TYPEC_SW_CONFIGURATION_3

FSP UPD TcssAuxOri is used for setting the IOM_TYPEC_SW_CONFIGURATION_3.
Configure TcssAuxOri to retimer enabled on the port 2 Type-C port.
This setting informs the SoC that a retimer is taking care of SBU
orientation therefore it does not need to do any flipping.

The IOM_TYPEC_SW_CONFIGURATION_3 is a bitfield that controls the aux
orientation settings for the Type-C ports. The TGL EDS describes this
setting and what each bit represents.

Reference section 3.6.5 in TGL EDS #575681
BUG=b:145943811
BRANCH=none
TEST=Boot to OS and check Type-C port1 Display on volteer,
Connecting Type-C display should work regardless of Type-C cable
orientation.

Change-Id: Iae356113cbdc72983f800060b1ebebe3c66b9daf
Signed-off-by: Brandon Breitenstein <brandon.breitenstein@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/39459
Reviewed-by: Caveh Jalali <caveh@chromium.org>
Reviewed-by: Wonkyu Kim <wonkyu.kim@intel.com>
Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Brandon Breitenstein 2020-03-11 14:07:23 -07:00 committed by Patrick Georgi
parent bc83738301
commit fc932374a2
2 changed files with 10 additions and 0 deletions

View File

@ -231,6 +231,15 @@ struct soc_intel_tigerlake_config {
uint8_t TcssXhciEn; uint8_t TcssXhciEn;
uint8_t TcssXdciEn; uint8_t TcssXdciEn;
/*
* SOC Aux orientation override:
* This is a bitfield that corresponds to up to 4 TCSS ports on TGL.
* Even numbered bits (0, 2, 4, 6) control the retimer being handled by SOC.
* Odd numbered bits (1, 3, 5, 7) control the orientation of the physical aux lines
* on the motherboard.
*/
uint16_t TcssAuxOri;
/* /*
* Override GPIO PM configuration: * Override GPIO PM configuration:
* 0: Use FSP default GPIO PM program, * 0: Use FSP default GPIO PM program,

View File

@ -104,6 +104,7 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd)
else else
params->PeiGraphicsPeimInit = 0; params->PeiGraphicsPeimInit = 0;
params->TcssAuxOri = config->TcssAuxOri;
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
params->IomTypeCPortPadCfg[i] = 0x09000000; params->IomTypeCPortPadCfg[i] = 0x09000000;