soc/intel{cnl,icl,skl,tgl}/bootblock: Make sure DMI PCR 2770 is set

DMI PCR 2770 (LPC IO DECODE RANGES) should be identical to LPC PCI
offset 0x80. This is specified in PCH BWG par 2.5.1.5.

Add the support to make sure this PCR is always set correctly.

BUG=N/A
TEST=tested on facebook monolith.

Change-Id: I33ff2b96dea78b5ff1c7c9416cf74f67d79f265d
Signed-off-by: Wim Vervoorn <wvervoorn@eltan.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/38746
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Frans Hendriks <fhendriks@eltan.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Wim Vervoorn 2020-02-03 15:20:46 +01:00 committed by Patrick Georgi
parent c9a717ddb0
commit 84400180fa
4 changed files with 21 additions and 0 deletions

View File

@ -172,6 +172,11 @@ void pch_early_iorange_init(void)
* value program in LPC PCI offset 82h.
*/
pcr_write16(PID_DMI, PCR_DMI_LPCIOE, io_enables);
/*
* Set LPC IO Decode Ranges PCR[DMI] + 2770h [15:0] to the same
* value programmed in LPC PCI offset 80h.
*/
pcr_write16(PID_DMI, PCR_DMI_LPCIOD, lpc_get_fixed_io_decode());
}
/* Program generic IO Decode Range */

View File

@ -144,6 +144,11 @@ void pch_early_iorange_init(void)
* value program in ESPI PCI offset 82h.
*/
pcr_write16(PID_DMI, PCR_DMI_LPCIOE, io_enables);
/*
* Set LPC IO Decode Ranges PCR[DMI] + 2770h [15:0] to the same
* value programmed in LPC PCI offset 80h.
*/
pcr_write16(PID_DMI, PCR_DMI_LPCIOD, lpc_get_fixed_io_decode());
}
/* Program generic IO Decode Range */

View File

@ -140,6 +140,12 @@ void pch_early_iorange_init(void)
* value program in LPC PCI offset 82h.
*/
pcr_write16(PID_DMI, PCR_DMI_LPCIOE, io_enables);
/*
* As per PCH BWG 2.5.1.5.
* Set LPC IO Decode Ranges PCR[DMI] + 2770h [15:0] to the same
* value programmed in LPC PCI offset 80h.
*/
pcr_write16(PID_DMI, PCR_DMI_LPCIOD, lpc_get_fixed_io_decode());
}
/* Program generic IO Decode Range */

View File

@ -169,6 +169,11 @@ void pch_early_iorange_init(void)
* value program in ESPI PCI offset 82h.
*/
pcr_write16(PID_DMI, PCR_DMI_LPCIOE, io_enables);
/*
* Set LPC IO Decode Ranges PCR[DMI] + 2770h [15:0] to the same
* value programmed in LPC PCI offset 80h.
*/
pcr_write16(PID_DMI, PCR_DMI_LPCIOD, lpc_get_fixed_io_decode());
}
/* Program generic IO Decode Range */