Commit Graph

1066 Commits

Author SHA1 Message Date
stanley ab3a47d33a
[TGL] refactor TSN enablement control (#1242)
This patch refactors TSN enablement control by

 - rename ENABLE_TSN_MAC_ADDRESS with ENABLE_TSN:
     align the naming with ENABLE_TCC

 - ENABLE_TSN can be used as a one-stop control knob
     to reserve FW spaces and include proper TSN CfgData

 - collect TSN-specific CfgData into CfgData_Tsn_Feature.dlt

With the new control, inconsistent TSN settings are fixed:
  - TSN MAC FW space is reserved but PchTsnEnable is not set

Signed-off-by: Stanley Chang <stanley.chang@intel.com>
2021-08-04 11:07:21 -07:00
Aiden Park 49a3a54e6c
[CorePkg] Add GetTempRamInfo() API (#1245)
Some platforms need TempRam Base & Size information to calculate
FspmArchUpd StackBase & Size at runtime.
The TempRam Base & Size info will be only valid until TempRamExit.

Signed-off-by: Aiden Park <aiden.park@intel.com>
2021-08-04 09:56:31 -07:00
stanley f87b8c3c49
[QEMU] extend auto test timeout (#1247)
Recently, github CI test case, Qemu-linux_boot.py, randomly fails.

Comparing the logs between failed and pass cases, we can find:

  1. the failure is caused by timeout before Minimal Linux
     completely boots into console and shows "Welcome to Minimal
     Linux" messages.

     Although such timeout can be a real error (true-positive),
     it is also possible just a false alarm (false-positive)...

  2. for a failed case, a force push to trigger another CI check
     can result in pass, even no code changes. Thus, the timeout
     failure points to CI environment (e.g., loading) - a false alarm.

  3. the margin (of pass case to timeout) is about 0.4 sec.

This patch increases timeout for 2 seconds to avoid unexpected
test timeout caused CI envornment (e.g., loading).

Signed-off-by: Stanley Chang <stanley.chang@intel.com>
2021-08-04 09:45:08 -07:00
Subash Lakkimsetti 237b5f3d45
[CFL] Fix reading bpmgen2 params (#1241)
Default Bpmgen params created by bpmgen tool
has unicode characters. This patch fixes reading the
file with unicode chars.

Signed-off-by: Subash Lakkimsetti <subash.lakkimsetti@intel.com>
2021-08-03 15:30:12 -07:00
Raghava Gudla 2874564a43
Fix normalization error (#1227)
when pin number in pad name is not in <group name><xx> where
xx is pin number format. for example GPIO_VER2_LP_GPP_C2 instead of
GPIO_VER2_LP_GPP_C02, current code has a bug which does not give the
desired output which is GPP_C02.
This patch fixed this issue.

TEST= Verified on multiple platforms that the issue is fixed

Signed-off-by: Raghava <raghava.gudla@intel.com>
2021-07-30 10:46:25 -07:00
stanley 748aeb0eaf
[TGL] Fix RTC S3 wake hang (#1232)
This patch clears RTC Alarm when RTC is the S3 wake-up source.
Without clearing it, SMI# will be triggered once SMI_EN is set
by RestoreS3RegInfo, but no handler to clear it which results
in hang.

This patch also refactors RegRead/RegWrite in RestoreS3RegInfo
to avoid the misalingment of function pointers and coding
convention.

Signed-off-by: Stanley Chang <stanley.chang@intel.com>
2021-07-28 09:56:56 -07:00
Ong Kok Tong 6a5511883e [EHL] Fix for Gbe device status for Fusa
TSN GBE PMECTRLSTATUS register returned 0x3 after
booting into OS and only occured in Fusa sku
This fix will check TSN PMECTRLSTATUS register and
update value to 0x0 if non-zero value was returned
Only applicable if TSN is enabled

Signed-off-by: Ong Kok Tong <kok.tong.ong@intel.com>
2021-07-27 14:45:50 -07:00
stanley 3614cbd494
[TGL] Fix CPOC Duplication ACPI Error (#1233) (#1236)
CPOC is defined in both Cpu0Hwp.asl and Dsdt/Cpu.asl,
which results in Linux kernel warning and wrong CPU
base speed shown in Windows 10.

Signed-off-by: Stanley Chang <stanley.chang@intel.com>
2021-07-27 09:45:35 -07:00
stalamudupula d627d92c94
Fix UefiVarialbeLib KW issues (#1230)
This patch addresses KW issues reported from UefiVarialbeLib.

Signed-off-by: Sai T <stalamudupula@gmail.com>
2021-07-23 11:34:06 -07:00
koktong-ong db419e23f9
[EHL] Support TCC in all boot options (#1220)
To support rtcm image for all boot options in SBL EHL
Uncomment boot flags and image type in Tcc_Feature.dlt for
enabling tcc in dedicated boot option

Signed-off-by: Ong Kok Tong <kok.tong.ong@intel.com>
2021-07-16 17:09:15 -07:00
stalamudupula ec20bf39e7
Fix security violation for IA32 build in VS2019 toolchain (#1225)
IA32 build from VS2019 toolchain has security violation
because Digest value from SHA512_384 is not matching the
value calculated and stored in hashstore during build.

Aligning the stack to 32-byte boundary during SHA_Update
fixes this error.

Signed-off-by: Talamudupula <stalamudupula@gmail.com>
2021-07-15 09:21:10 -07:00
Guo Dong 791d7a0beb
Fix SMM rebase S3 issue (#1224)
Currently it will return a valid SMMBASE_INFO if SMMBASE_INFO_COMM_ID
is found in SMM S3 resume memory. It will cause issue in S3 path if there
is no one fill correct data when MpInit uses it to rebase SMM.
This patch adds a check to SMMBASE_INFO to avoid this issue.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2021-07-14 19:33:04 -07:00
Ong Kok Tong fcba69d599 [Common] Fix config data boot option index
Current index only support up to 0xF as the CFGHDR_TMPL
as it amend into 0x05 (eg. 0x05$(1))
Update the logic to (0x050 + $(1)) instead to support
index larger than 0xF

Signed-off-by: Ong Kok Tong <kok.tong.ong@intel.com>
2021-07-14 15:32:51 -07:00
Ong Kok Tong 570d263e2b [EHL] Fix in RVP board support
Added Gpio Lock config in dlt file for RVP board

Signed-off-by: Ong Kok Tong <kok.tong.ong@intel.com>
2021-07-14 15:20:59 -07:00
stanley 04f90a7708
Fix error logs for capsule file too small (#1222)
If the capsule file is too small, it should not only
show "the guid is not expected" that may mislead users
using a release-build image. This patch prints out
specific error if opening a small-than-expected capsule.

Signed-off-by: Stanley Chang <stanley.chang@intel.com>
2021-07-12 11:21:36 -07:00
stanley 2832972ad6
[TGL] Add iTBT PCIe root port enablement config (#1217)
This patch replaces the original hard-coded iTBT
root ports enabling control with a CFG option.
The default value is to enable them.

Signed-off-by: Stanley Chang <stanley.chang@intel.com>
2021-07-07 09:06:54 -07:00
Vincent Chen de2761170e
add missing UsbBlockIoLib in UsbInitLib.inf (#1216)
Resolve link error when using UsbInitLib
UsbInitLib invokes UsbDeInitBot() which is defined in UsbBlockIoLib

Signed-off-by: Vincent Chen <vincent.chen@intel.com>
2021-07-06 09:18:58 -07:00
koktong-ong c8b21cae2e
[EHL] Enable DAM option stitchIfwi update (#1215)
Enable DAM option in stitchifwi script for
ITP/CCA debug purpose with -o debug paramter
Example: To enable SATA and DAM enabled "-o sata;debug"

Signed-off-by: Ong Kok Tong <kok.tong.ong@intel.com>
2021-07-06 09:18:01 -07:00
koktong-ong 43455674ac
[EHL] Update the EHL BoardPkg version to 2.0 (#1218)
Update EHL BoardPkg version to 2.0 to allign with current
software package version:
PROJ_MAJOR_VER -> 2 (Maintenance Release candidate)
PROJ_MINOR_VER -> 0 (1st revision of MR1 release)

Signed-off-by: Ong Kok Tong <kok.tong.ong@intel.com>
2021-07-06 09:10:29 -07:00
koktong-ong 74c91a946a
[EHL] Enable tcc in boot option (#1214)
Re-enable sbl_rtcm in EHL boot option due to
mistakenly removed it in previous commit of
f01a5b33fb

Signed-off-by: Ong Kok Tong <kok.tong.ong@intel.com>
2021-07-06 09:10:07 -07:00
Talamudupula fc8a3b33ce GpioLib header clean-up
Inconsistent and redundant header files are removed.
All projects going forward

 - Use API declared in GpioLib.h
 - Provide instance of GpioSiLib.h
 - Use common defines in GpioConfig.h

[QEMU][APL][CFL][CML][CMLV]
 - Follow above header model
 - Have own instance of GpioLib

[EHL][TGL]
 - Follow above header model
 - Use common GpioLib instance

Signed-off-by: Talamudupula <stalamudupula@gmail.com>
2021-07-01 11:24:03 -07:00
Maurice Ma d26709e289 [WHL] Add mailbox debug port example code
This patch provides exampole on how to enable mailbox debug port on
WHL. To enable it, the following needs to be set in BoardConfig.py.
  self.DEBUG_OUTPUT_DEVICE_MASK = 0x07
  self.CONSOLE_IN_DEVICE_MASK   = 0x00000005
  self.CONSOLE_OUT_DEVICE_MASK  = 0x00000005
Also adjust the PcdMailboxDebugPortMmioBase value in BoardConfig.py
as needed.

On host side, python script can be used in ISD to read/write this
register using IPC interfaces. EX:
  import ipccli
  ipc = ipccli.baseaccess()
  ipc.stateport.cnp_tpsb0.tap2iosfsb32 (...)
Please refere to MailboxDebugPort.py for example.

This was tested on UPX board with CCA debuger connected.

Signed-off-by: Maurice Ma <maurice.ma@intel.com>
2021-07-01 11:22:16 -07:00
Maurice Ma d8c0177fe9 Added mailbox debug port support
This patch allows to use a mailbox register (DWORD) to support debug
port. If CCA debug is connected, it is possible to access certain
SOC register through BSSB. Then this register can be used for debug
console input/output.

Signed-off-by: Maurice Ma <maurice.ma@intel.com>
2021-07-01 11:22:16 -07:00
Maurice Ma 800d4e4f0f [CFL] Add GPIO big bang debug port support
This patch added an example on how to enable GPIO  big bang debug
port on CFL platform.

Signed-off-by: Maurice Ma <maurice.ma@intel.com>
2021-07-01 11:22:16 -07:00
Maurice Ma 163458e32d Add GPIO bit bang debug port library
This patch adds DebugPortLib as a platform extention lib to add new
debug port support. It also adds a generic GpioDebugPortLib to allow
GPIO bit bang to emulate UART TX pin.

Signed-off-by: Maurice Ma <maurice.ma@intel.com>
2021-07-01 11:22:16 -07:00
Ong Kok Tong 6d2286cf42 [EHL] Enable POSC for all boot option
Enable POSC for all boot medium in Cfgdata_BootOption.yaml
by default
If Non-Fusa sku was detect and the boot flag will
change to exclude POSC
User can modify the boot flag to exclude the POSC in
yaml file as well

Signed-off-by: Ong Kok Tong <kok.tong.ong@intel.com>
2021-07-01 05:24:51 -07:00
CSHur c7b8d5a848 Fix Linux build issue when adding UefiVariableLib
When adding UefiVariableLib, there is a build issue in Linux.
Fix the build issue.

Signed-off-by: CSHur <cs.hur@intel.com>
2021-06-29 18:23:14 -07:00
Lean f01a5b33fb [EHL] Add TCC V2 support
Add latest Intel® Time Coordinated Computing support for EHL.

Here are the changes:
- Update the TCC subregion layout
- Use the common TCC config data
- Use the common TCC library for RTCT table
- Support TCC DSO cfg, Cache cfg and CRL binaries loading
- Rename TCC variable to follow TCC V2 naming
- Increase the stage 2 size from 0x89000 to 0x91000 to accommodate
  the new changes
- Add latest FspmUpd and FspsUpd header files for TCC v2 support
  (will be removed once FSP github updated the latest EHL FSP package)
- Change default boot options for RTCM support

TCC mode is turned off by default.

Signed-off-by: Lean Sheng <lean.sheng.tan@intel.com>
2021-06-25 12:54:40 -07:00
Ong Kok Tong ad6a88e34d [EHL] Fix Stage2 Boot Option checking
Fix mPchSciSupported flag checking before changing the
flag value of boot option.
This bug was introduced from commit
b78cbcf128

Signed-off-by: Ong Kok Tong <kok.tong.ong@intel.com>
2021-06-25 06:39:30 -07:00
CSHur 1db0acf9ba Fix UefiVariableLib code
When adding UefiVariableLib code, there is build issue.
Fix the build issue.

Signed-off-by: CSHur <cs.hur@intel.com>
2021-06-25 06:38:23 -07:00
Jan Schlosser 8f2af41f52 [IAS] Consider signature for size only if enabled
As per specification of the IAS-Image format
https://github.com/intel/iasimage/blob/master/docs/02_mcd.md
the signature and public key are optional.

As per specification of the header format
https://github.com/intel/iasimage/blob/master/docs/02_mcd.md#image-type

The 8th bit indicate if the signature is included, while the 9th bit
indicates whether the public key is included.

While the previous solution checked if public key is enabled, it did
not check if the signature is included, but rather assumed that it
is always included.

This will lead to a miss-calculation of the `IAS_IMAGE_END` and
`IAS_IMAGE_SIZE` which on the other hand will cause `IsIasImageValid()`
to fail, which will fail the loading of unsigned IAS-Images.

Signed-off-by: Jan Schlosser <jan.schlosser@outlook.com>
2021-06-25 06:37:29 -07:00
Ong Kok Tong 30e2458126 [EHL] PlatformID fix
Fixed issue #1197
Check PlatformID before proceed to detect from SMBus
Moved PlatformIdInitialize to PostConfigInit

Signed-off-by: Ong Kok Tong <kok.tong.ong@intel.com>
2021-06-23 06:06:33 -07:00
Ong Kok Tong b78cbcf128 [EHL] s0ix fix for Fusa sku
Enable s0ix only for Non-Fusa sku
Removed PcdPreOsCheckerEnabled PCD flag

Signed-off-by: Ong Kok Tong <kok.tong.ong@intel.com>
2021-06-22 06:26:34 -07:00
Maurice Ma 0eff01eb53 Update SBL core revision to 1.0
The SBL core revision has not been updated since the creation of
the project. Now with more and more platforms being enabled with
SBL, it is the proper time to upgrade the core revision to be 1.0.

Signed-off-by: Maurice Ma <maurice.ma@intel.com>
2021-06-18 08:44:47 -07:00
Pedro Queiros 94b4198742 [EHL] Rework Fusa PT settings
- Add knob for setting up the ISI configuration file (isi_conf)
 - Fix PT test mask value to be aligned with default PT binary
   capabilities. Only add mask when PT is enabled.
 - "pt" parameter always requires isi_conf file. Dependency added
   automatically. isi_conf is also externally configurable since can
   be used without PT.

Signed-off-by: Pedro Queiros <pedro.queiros@intel.com>
2021-06-18 06:35:58 -07:00
Guo Dong 3989cd5122 [TGL] Add EC config data for EC enable/disable
Use the ECEnable cfgdata, to disable all the EC
related code.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2021-06-11 08:31:32 -07:00
Guo Dong be9f726139 [EHL] Remove unused feature flag for PreOS checker
FEATURE_PRE_OS_CHECKER_BOOT is not used by any core or platform code.
So just remove it.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2021-06-10 13:31:16 -07:00
Guo Dong 64dca520ef [TGL] Make TCC setting consistent
Add a separate cfgdata dlt file to enable TCC config data.
The TCC dlt file will be appended to board dlt file when
ENABLE_TCC is set in BoardConfig.py.

Removed RTCM subregion and update boot option for RTCM support
TCC is disabled by default.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2021-06-10 13:30:58 -07:00
Guo Dong aa034dd72c Enhance gen_config_file in BuildUtility script
It will first check the dlt file from source code, it the
dlt file could not be found, then check the build folder.
This enhancement supports the generated dlt file from
build folder.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2021-06-10 13:30:58 -07:00
Ong Kok Tong e90c7a1501 [EHL] Removed TCC FSP UPD
Removed TCC FSP UPD and Increased stage2B size to adpot
the changes in FSP 09.03.19.22

Signed-off-by: Ong Kok Tong <kok.tong.ong@intel.com>
2021-06-09 21:45:11 -07:00
Guo Dong 7886a8ec66
Remove unused code ever used for PreOsChecker (#1182)
PreOsChecker is supported in the generic boot flow,
no special code is needed to support PreOsChecker.
So remove these unused code.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2021-06-09 15:59:42 -07:00
stalamudupula f1b98384a2
Add a Pci Enum Hook function (#1185)
This patch adds a platform hook function ability
in Pci Enum Lib to enable platform to perform
PCI Enum specific work-around routines.

Signed-off-by: Talamudupula <stalamudupula@gmail.com>
2021-06-09 15:53:26 -07:00
Guo Dong 7e53dc3e70
[TGL] Use MR2 FSP and Microcode for TGL-U (#1186)
MR2 FSP is available so update SBL to use MR2 FSP.
and also use new Microcode required by new FSP
Update platform code on FSP UPDs, especially enable TCC feature.
Update TGL platform version to 1.2 since MR2 released.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2021-06-09 15:51:00 -07:00
Guo Dong 29073e4782
Get RTCM from OS boot media instead IFWI (#1179)
RTCM will sit in OS boot media instead of IFWI image
So update SBL logic to load RTCM from OS boot media.

If the RTCM could not be found, SBL should continue
boot normal OS.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2021-06-09 08:05:56 -07:00
Ong Kok Tong 60f5423552 [EHL] Gpio common lib integration
Integrated EHL GPIO lib into common GPIO lib.

Signed-off-by: Ong Kok Tong <kok.tong.ong@intel.com>
2021-06-04 11:16:39 -07:00
Guo Dong 8658d66c2b [TGL] Set PayloadId to "AUTO" by default
Update PayloadId to "AUTO" to align with other platforms to
have consistent behavior.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2021-06-04 11:14:34 -07:00
leanshen 474666bc6f [EHL] Update the EHL BoardPkg version to 1.1
Update EHL BoardPkg version to 1.1 to allign with current
software package version:
PROJ_MAJOR_VER -> 1 (Production Release candidate)
PROJ_MINOR_VER -> 1 (2nd revision of PV release)

Signed-off-by: LeanSheng <lean.sheng.tan@intel.com>
2021-06-02 20:33:49 -07:00
Tan Lean Sheng 218cdbcd2c
[EHL] Remove FSP UPD files from EHL Silicon package (#1181)
Remove the old FSP UPD files from EHL folder, let SBL
fetch from FSP github during build time.

Signed-off-by: LeanSheng <lean.sheng.tan@intel.com>
2021-06-02 20:33:10 -07:00
Guo Dong 99c9617db0 [TGL] Update PayloadId settings in dlt files
Update the comments and actual setting in dlt files to
make them in alignment.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2021-06-02 15:32:34 -07:00
Guo Dong a8bd06f8f2 [TGL] reset when TPM startup failure on S3
As per PC Client spec, SRTM should perform a host platform reset
when TPM startup failure on S3

Signed-off-by: Guo Dong <guo.dong@intel.com>
2021-06-02 15:32:34 -07:00