Commit Graph

1679 Commits

Author SHA1 Message Date
Subash Lakkimsetti 243976f438 feat: [ADL/RLL] API for getting extended support period info
HECI interface for getting extended support license period.
Efi test is added to call the EPS API for validation.

Signed-off-by: Subash Lakkimsetti <subash.lakkimsetti@intel.com>
2023-06-05 08:38:27 -07:00
Guo Dong 799efaddac
[ADL/RPL]: Fix a typo (#1915)
Config data uses comma ',' instead of dot '.' as the option separator.
Fix a typo in IehMode option which would cause ConfigEditor.py error.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2023-05-30 11:00:50 -04:00
bejeanmo a34e54e175
feat: [FSP2.4] Added FSP variable serivices, Multi Phase Mem and SI. (#1901)
FSP 2.4 adds a requirement for Bootloader to respond to FSP Variable
requests in a way that is similar to UEFI variable services. This
implementation adds support for using the updated SBL VariableLib so that
the FspVariableServicesLib wrapper is no longer needed.

Additionally, support for Multi-Phase mem and SI init is added. FSP 2.4
introduces the mandatory MultiPhaseMemInit call, and makes the
MultiPhaseSiInit call mandatory where it was previously optional.

Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
2023-05-24 14:36:35 -04:00
Stanley Chang 23d9187bde fix: [EHL] send EOP message
EHL FSP does not send EOP (End Of Post) message at the
Ready to Boot. The patch adds support for SBL to send
the EOP during Ready to Boot.

Verified: EHL CRB

Signed-off-by: Stanley Chang <stanley.chang@intel.com>
2023-05-24 11:23:54 -07:00
Vincent Chen 12f21059dc [TGL/EHL] add debug prints for TSN components loading
It was not easy to figure out from boot log whether TSN
components are loaded successfully or not. Add debug prints
to indicate the loading status.

Signed-off-by: Vincent Chen <vincent.chen@intel.com>
2023-05-23 15:56:07 -07:00
Bejean Mosher e922842e08 feat: [ADL/RPL] FuSa updates based on latest FSP and specification.
- MC and CMF Parity combined into one FSP UPD.

- Added SBL Config items for IehMode, TCSS D3Hot and D3Cold, CPU PCIe
Power gating, VccSt, TCSS Cstate limit. These are all needed for the FuSa
specific dlt file. ADL-S dlt files updated so D3Hot and VccSt defaults are
unchanged, since these defaults were previously set by PCH sku.

- FuSa diagnostic mode PCD to track Diagnostic mode across stages. Crash
Log Data PCD will not be used and has been removed.

- GSPI example driver header file added.

Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
2023-05-23 15:52:20 -07:00
Atharva Lele 0992365cfd fix: update GPIO base table ID check
A GPIO YAML can refer to any platform's GPIO table as
the base GPIO table. Since SBL supports upto 32 platform
IDs, the number for the check in the if condition should
be 32.

Signed-off-by: Atharva Lele <atharva.lele@intel.com>
2023-05-23 15:20:57 -07:00
Atharva Lele 3422681785
feat: add SBL boot performance data to FPDT (#1890)
Adds SBL boot performance data (Stage1 time, Stage 2 time, OsLoader time)
to the FPDT with type 0x3000 (Reserved for platform firmware Vendor usage)

Other fixes:
- Move logging of measure point 40F0 inside the condition for measured boot
- Add missing call to log measure point 40E0 used to log kernel setup print
  time

Signed-off-by: Atharva Lele <atharva.lele@intel.com>
2023-05-23 10:26:34 -07:00
Kevin Tsai c62f9d2ec5 [ADLN/ASL] Fastboot improvement
Saved timeout from reading EC. Reduced time up to 300ms.
Adjusted Stage 1A & 1B region size for ADLN Fastboot feature.

Signed-off-by: Kevin Tsai <kevin.tsai@intel.com>
2023-05-22 20:53:42 -07:00
Kevin Tsai f9eab63f18 [UPX i12] Disable EC from ACPI table
Reset EC available flag to 0 in dlt file.
Resolved ACPI Errors from dmesg log that point to EC Hardware.
Tested booting up Ubuntu and Windows.

Signed-off-by: Kevin Tsai <kevin.tsai@intel.com>
2023-05-19 09:57:10 -07:00
Stanley Chang 2e6443c02e fix: [ADL] increase stage2 size for debug FSP
Verified: ADL-P RVP

Signed-off-by: Stanley Chang <stanley.chang@intel.com>
2023-05-19 09:44:31 -07:00
Stanley Chang 1c4715663f fix: [ADL] align 64KB flash protected ranges
When UEFI Payload exists, SBL splits BIOS region into two
flash protected ranges, PR0 and PR1, by excluding UVAR (UEFI Var)
component.

Because ADL SPI controller supports 64KB maximum Erase Block Size,
current flash layout will result into 2 faults without the patch:
  Fault 1: the size of PR0 and PR1 are not 64KB aligned,
  Fault 2: the base address of PR1 is not 64KB aligned.

The patch updates REDUNDANT_SIZE to make sure it is 64KB aligned
and moves UVAR as the 1st region in non-redundant region.
Because (1)	TOP_SWAP_SIZE, (2) SLIMBOOTLOADER_SIZE and (3)
UEFI_VARIABLE_SIZE (when payload exists) are already 64KB aligned,
it will be 64KB aligned after moving UVAR to the 1st region of
non-redudant region.

Verified: ADL-P RVP

Signed-off-by: Stanley Chang <stanley.chang@intel.com>
2023-05-19 09:33:55 -07:00
Kevin Tsai 5e7d0ebc58 [UPX i12] Enable serial port for linux boot log
Enabled serial port to receive linux boot log

Signed-off-by: Kevin Tsai <kevin.tsai@intel.com>
2023-05-17 21:39:08 -07:00
Sindhura Grandhi e516846d81 [ADL] Add ISH device to Platform Device list
- Add ISH to platform device list.
- Set the ISH address in Post Config phase.

Signed-off-by: Sindhura Grandhi <sindhura.grandhi@intel.com>
2023-05-15 22:28:11 -07:00
Vincent Chen d18bf478c0
[TGL] Update FSP/platform version for MR8 release (#1897)
- update FSP version to IoT FSP 6033_00_MR8 (0A.00.7E.70)
- update TGL platform version to 1.7

Signed-off-by: Vincent Chen <vincent.chen@intel.com>
2023-05-12 14:05:19 -04:00
tsaikevin ee732b4e46
[ASL] ASL Device ID changes (#1895)
Added Device IDs for ASL.

Signed-off-by: Kevin Tsai <kevin.tsai@intel.com>
2023-05-10 16:10:21 -07:00
Syahirah Sabryna bc31badfa8 [UPX i12] Enable Ubuntu boot support
Update Platform ID and display configuration

Signed-off-by: Syahirah Sabryna <nur.syahirah.sabryna.mohmad@intel.com>
2023-05-10 12:36:21 -07:00
Guo Dong 474fb76f1d feat: Update the lite variable usage
Since lite variable API change, this patch Update
the caller to align with variable library.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2023-05-10 12:16:57 -07:00
Guo Dong 25c804da79 feat: Update Lite variable library
Currently there are only few use cases for the lite variable.
FSP2.4 requires bootloader to have variable support. To avoid
creating a new variable instance, just update lite variable to
align with FSP 2.4 variable requirements.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2023-05-10 12:16:57 -07:00
Kevin Tsai eb98e8b8aa Add board name to clean command
1.Build script will not copy FSP, VBT and Microcode bin files from repository
  if it finds these files existing in taget folders.
  Above step keeps them from unintentional update in series of build process.
  Adding a board name to clean command helps to get latest binaries from repository
  in next build.

2.Ignore empty board name from loading BoardConfig*.py

Signed-off-by: Kevin Tsai <kevin.tsai@intel.com>
2023-05-04 20:53:08 -07:00
Sean McGinn f9d614c09f Move MB/ACPI macros to BootloaderCommonLib
Move macros to BootloaderCommonLib as they
are now consumed by both SBL stages and payload

Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
2023-05-04 13:25:07 -07:00
Sean McGinn f4d890a479 Remove unnecessary packages/includes from OsLoader
Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
2023-05-04 13:25:07 -07:00
Sean McGinn 39403a81e7 Remove S3 resume condition on OsLoader TPM event logging
Since OsLoader will never be exercised on S3 resume, there
is no need to check if boot mode is S3 resume before logging
TPM events in OsLoader

Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
2023-05-04 13:25:07 -07:00
Sean McGinn 43e8103df3 [ADL] Extend IPFW hashes into TPM PCRs
This change extends IPFW hashes into TPM PCRs
as all FW is supposed to have its hash in TPM PCRs

Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
2023-05-04 13:25:07 -07:00
Sean McGinn 23fafd59b8 Standardize conditions in which hashes get extended to TPM PCRs
This change ensures that consistent APIs are called to
determine if a hash gets extended to TPM PCRs

Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
2023-05-04 13:25:07 -07:00
Vincent Chen 6453595afb fix: correct the error handling for ApplyFwImage() in FirmwareUpdate.c
Signed-off-by: Vincent Chen <vincent.chen@intel.com>
2023-05-04 13:23:00 -07:00
Randy ccfa918d24 feat: Support HDMI audio playback on EHL
Test config on CRB:
  Set PchHdaEnable=1 in CfgData_GpuConfig.yaml
  Linux OS, test by speaker-test -c 2 -D hw:0,7

Signed-off-by: Randy <randy.lin@intel.com>
2023-05-03 09:17:05 -07:00
bejeanmo 50db060f7a
fix: [RPL-P] CRB hang in UEFI payload when PCIe switch present. (#1892)
This change only sets the GFX framebuffer cache type to Write-combining
when not booting the UEFI payload. The UEFI payload PCI hostbridge driver
will override the WC setting anways for the whole PCI root bridge memory
range, so it wasn't gaining the write-combining performance bonus, and was
causing a CPU exception in this particular case for RPL-P.

Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
2023-05-03 09:20:58 -04:00
Barnes 084fa47f78 [RPL-S] Updated automation file to include RPL-S
upstream RPL-S and added the build of RPL-S to
automation

Signed-off-by: Barnes <kimberly.d.barnes@intel.com>
2023-05-01 07:40:29 -07:00
Barnes 125bdd597e [RPL-S] Upstream RPL-S
Signed-off-by: Barnes <kimberly.d.barnes@intel.com>
2023-04-28 11:15:20 -07:00
Barnes ccc98a136c [ALL Platforms] Update Build tools impact all
platforms

Update Build scripts to take a different file path and Name
for
-- microcode_inf_file
-- fsp_inf_file

Signed-off-by: Barnes <kimberly.d.barnes@intel.com>
2023-04-27 10:20:32 -07:00
Barnes d8822031d9 [ALL Platforms] Update Build tools impact all
platforms

Update Build scripts to take a different file path and Name
for
-- microcode_inf_file
-- fsp_inf_file

Signed-off-by: Barnes <kimberly.d.barnes@intel.com>
2023-04-27 10:20:32 -07:00
Bejean Mosher 96f72c39b8 feat: FuSa Configuration library template, and ADL/RPL FuSa Cfg Data.
Added Null template for FusaConfigLib. Platforms supporting FuSa should
follow this template for enabling FuSa configuration prior to FSP-M and
FSP-S.

Added ADL/RPL CfgData fields for FuSa according to SBL FuSa software
requirements, and dlt file for enabling FuSa and related configuration.

Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
2023-04-26 14:54:21 -07:00
Kevin Tsai ab2bfd39e2 [UPX i12] Initialize GPIO configurations
Program GPIO settings matching BIOS.
Skip GPIO pins that cause boot issue.

Signed-off-by: Kevin Tsai <kevin.tsai@intel.com>
2023-04-26 14:48:28 -07:00
sean-m-mcginn 598f12347f
[ADL] Additional TPM-related cleanup (#1881)
Update copyright years
Initialize pointers to NULL
Check pointers for NULL before de-reference
Standardize debug logs

Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
2023-04-26 11:39:22 -07:00
sean-m-mcginn ba9da25442
[ADL] Update TPM event logging to match BIOS (#1859)
* [ADL] Update TPM event logging to match BIOS

If measured boot disabled via BtG profile but enabled via SBL
config flag, skip logging startup locality TPM event

If measured boot enabled via BtG profile or SBL config flag, log
CRTM version TPM event

Set startup locality based off startup locality on ACM policy status

Log detail and authority PCR events based off SCTRM status on ACM
policy status

Signed-off-by: Sean McGinn <sean.mcginn@intel.com>

* Initialize startup locality and remove measured boot check

Initialize startup locality variable used in setting up event
log

Remove measured boot check as it is not seen in BIOS and it
occurs at higher level

Signed-off-by: Sean McGinn <sean.mcginn@intel.com>

---------

Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
2023-04-20 16:37:18 -07:00
Guo Dong bd36df5fa7 feat: (ADL/RPL) Config FSP post code via Port80 or I2C
Add config data for FSP post code

Signed-off-by: Guo Dong <guo.dong@intel.com>
2023-04-19 09:25:26 -07:00
Sindhura Grandhi 01f2b130f8 feat: [ADLP/ADLPS] Add pre-commit checks for ADL SKUs
- Adding pre-commit checks for the missing ADL SKUs.
- Resolve build issues

Signed-off-by: Sindhura Grandhi <sindhura.grandhi@intel.com>
2023-04-18 16:02:17 -07:00
randylintw 08afb8cf23
fix: [ADL-PS] Fix for TSN build error caused by FSP UPD updates. (#1872)
FSP M-UPD was updated so PchTsnEnable is now a 2-byte array with a
separate byte for each port.

Signed-off-by: Randy <randy.lin@intel.com>
2023-04-18 11:20:36 -04:00
Guo Dong d087b7d21d feat: (RPL) Add Crash log data PCD
Define PCD PcdCrashLogDataPtr for Crash log.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2023-04-14 11:17:56 -07:00
Aakash Panwar 834a01351f feat: Added support to set ref_clock frequency for UFS device
This Patch add the support to set UFS clock frequency.
- Added the function to read or write specified attribute of a UFS device
- Shifted function which switch the link power mode and gear after ref_clock setting
  because if an unsuported clock frequency being set, it won't be able to overwrite
  the corrupted UFS attributes.

Signed-off-by: Aakash Panwar <aakash.panwar@intel.com>
2023-04-13 20:35:20 -07:00
Sean McGinn 3b994258d6 Show error code as hex on CSME update failure
Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
2023-04-12 22:59:23 -07:00
Sean McGinn 0a62b06e22 Align CSME update with BIOS/driver
Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
2023-04-12 22:59:23 -07:00
Bejean Mosher 72cb5df4ab feat: [ADL/RPL] Update CrashLog support implementation for latest FSP.
New CrashLog support design is for FSP to collect CrashLog info and report
in HOB. Bootloader responsibility is just to populate ACPI BERT with FSP
collected CrashLog Data now. That way bootloader has no Silicon code.

Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
2023-04-12 15:49:52 -07:00
Vincent Chen a3d3c59588 [ADLP] Update FSP/platform version for MR3 release
- update FSP version to IoT ADL-P MR3 (0C.01.75.10)
- update platform version to 1.3

Signed-off-by: Vincent Chen <vincent.chen@intel.com>
2023-04-12 15:46:40 -07:00
Guo Dong 42492ffea9 feat: Fix the HelloWorld build failure
When building HelloWorld, it would build failure since SBL core
package is missing in PayloadPkg.dsc since
In general, the payload should not depend on BootloaderCorePkg.
Currently PcdAcpiEnabled is used in the payload entry module and
it is defined in the BootloaderCorePkg. This patch updates the
code to remove the dependency.

Signed-off-by: Guo Dong <guo.dong@intel.com>
Signed-off-by: Atharva Lele <atharva.lele@intel.com>
2023-04-11 11:05:29 -07:00
Ionut Nechita a7b6f8adb4
fix: variable is not named correctly (#1865)
Description:
 - GetVaraibelStoreBase to GetVariableStoreBase

Change-Id: I79ddb319d733ebb53131f0df6143bd18bb9aaee7

Signed-off-by: Ionut Nechita <ionut_n2001@yahoo.com>
2023-04-11 09:29:10 -07:00
Sindhura Grandhi 8066b297b3
[ADL/RPL] Add MMC option for OS loader (#1861)
ADL boards come with emmc as an in-built boot media.
Add EMMC option in the default list in order for the OS to boot
up when using OS loader payload.

Signed-off-by: Sindhura Grandhi <sindhura.grandhi@intel.com>
2023-04-10 14:19:57 -04:00
Bejean Mosher 1186dc0712 fix: [ADL/RPL] SBL image larger than 16MB hangs after TempRamInit.
The PCH decodes MMIO accesses to the top of 4GB to SPI flash for a maximum
window size of 16MB. For SBL images larger than 16MB, this PostTempRamInit
hook was causing the MTRR to overlap with NEM stack set up by FSP-T,
causing a hang.

Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
2023-04-03 15:18:12 -07:00
tsaikevin 801334666a
[UPX i12] Enable UPX i12 basic boot (#1857)
Add support for Up Xtreme i12 ADLP based board.
The PCIe M.2 slot CN12 on the board is able to detect NVMe SSD.
Debug output is enabled at header CN9 on the board(e.g. UART1)
Tested to boot with OS loader payload and UEFI payload.

To stitch the SlimBootloader.bin with IFWI uses StitchLoader.py script with '-p' as given below:

python Platform/AlderlakeBoardPkg/Script/StitchLoader.py -i <BIOS_IMAGE_NAME> -s Outputs/adlp/SlimBootloader.bin -o sbl_upx12_ifwi.bin -p 0xAA000104

Signed-off-by: Kevin Tsai <kevin.tsai@intel.com>
2023-04-03 18:03:21 -04:00