Commit Graph

38 Commits

Author SHA1 Message Date
skasim 3d1e7318b4
feat: [TGL] Community Update FSP/UCODE for IPU2024.3 (#2202)
Signed-off-by: samihahkasim <samihah.kasim@intel.com>
2024-06-21 12:07:49 +08:00
randylintw 7f941e57a2
Fix Coverity issues. (#1950)
* fix: [Common] FwVendor/OemId Array compared against 0

Since it is an array the test evaluates as true and the check is
unnecessary.(CWE-398)

UINT8 FwVendor[EFI_ACPI_PSD_FW_VENDOR_SIZE];
UINT8 OemId[6];

Signed-off-by: Randy <randy.lin@intel.com>

* fix: [Common] Unchecked return value for HeciGetMeMode

If the function returns an error value, the error value
may be mistaken for a normal value.
In HeciSend: Value returned from a function is
not checked for errors before being used. (CWE-252)

Signed-off-by: Randy <randy.lin@intel.com>

---------

Signed-off-by: Randy <randy.lin@intel.com>
2023-07-10 11:52:25 -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
Vincent d7a57c323e [TGL] Update FSP/UCODE/platform version for MR7 release
- update FSP version to IoT FSP 5505_01_MR7 (0A.00.7D.72)
- update TGLU microcode version to A6
- update TGLH microcode version to 42
- update TGL platform version to 1.7

Signed-off-by: Vincent <vincent.chen@intel.com>
2023-01-10 21:55:50 -07:00
Vincent Chen 350a4436a5 [TGL] Update FSP/VBT/UCODE/platform version since MR6 is released
- update FSP version to IoT FSP 5143_01_MR6 (0A.00.7B.31)
- update VBT version to IoT FSP 5143_01_MR6 (250)
- update TGLU microcode version to A4
- update TGL platform version to 1.6

Signed-off-by: Vincent Chen <vincent.chen@intel.com>
2022-07-06 17:49:02 -07:00
Vincent Chen 87d7ebfdc8 [TGL] Update FSP and platform version since MR5 is released
- update FSP version to IoT FSP 4391_03 (0A.00.66.13)
- update TGL platform version to 1.5

Signed-off-by: Vincent Chen <vincent.chen@intel.com>
2022-03-30 09:58:14 -07:00
Stanley Chang 7191710225 [TGL] Enable PCIe PM features
The patch enables PCIe PM features by,
1. Store Root Port configuration before FSP-s.
2. Configure Pcie RP in PostPciEnumeration with the stored RP config.

The feature is controlled by ENABLE_PCIE_PM and the corresponding
PcdEnablePciePm

The implementation is silicon-dependent, because of registers definition.
The PciePmNull component is a generic implementation. This patch also
implements PciePm for TGL.

Verified: TGL-U RVP

Signed-off-by: Stanley Chang <stanley.chang@intel.com>
2022-02-08 20:02:23 -08:00
Vincent Chen 62b5d48e6c [TGL] Update FSP, UCODE and platform version since MR4 is released
- update FSP/VBT version to UP3 IoT FSP MR4
- update TGLU microcode version to 9A
- update TGL platform version to 1.4
- remove redundant files in case of files not being updated

Signed-off-by: Vincent Chen <vincent.chen@intel.com>
2021-12-22 17:11:28 -07:00
Subash Lakkimsetti 7a3bab7fa3
[TGL][EHL] Fix regression for Flash descriptor lock (#1425)
Add BootMediaWriteByType and use for flash descriptor
update.

Signed-off-by: Subash Lakkimsetti <subash.lakkimsetti@intel.com>
2021-12-01 22:25:11 -07:00
Maurice Ma cccb003280 PatchCheck: Skip more files that contain non-standard whitespace
This patch added additional files to be excluded from patch check.
For example, txt, ini, app, common, template, rule, Makefile,
GNUmakefile, etc.

Signed-off-by: Maurice Ma <maurice.ma@intel.com>
2021-11-10 14:28:17 -08:00
Mike Crowe 990e3e81e6 Use LF line endings in the repository
Convert the line endings stored for all text files in the repository to
LF. The majority previously used DOS-style CRLF line endings. Add a
.gitattributes file to enforce this and treat certain extensions as
never being text files.

Update PatchCheck.py to insist on LF line endings rather than CRLF.
However, its other checks fail on this commit due to lots of
pre-existing complaints that it only notices because the line endings
have changed.

Silicon/QemuSocPkg/FspBin/Patches/0001-Build-QEMU-FSP-2.0-binaries.patch
needs to be treated as binary since it contains a mixture of line
endings.

This change has implications depending on the client platform you are
using the repository from:

* Windows

The usual configuration for Git on Windows means that text files will
be checked out to the work tree with DOS-style CRLF line endings. If
that's not the case then you can configure Git to do so for the entire
machine with:

 git config --global core.autocrlf true

or for just the repository with:

 git config core.autocrlf true

Line endings will be normalised to LF when they are committed to the
repository. If you commit a text file with only LF line endings then it
will be converted to CRLF line endings in your work tree.

* Linux, MacOS and other Unices

The usual configuration for Git on such platforms is to check files out
of the repository with LF line endings. This is probably the right thing
for you. In the unlikely even that you are using Git on Unix but editing
or compiling on Windows for some reason then you may need to tweak your
configuration to force the use of CRLF line endings as described above.

* General

For more information see
https://docs.github.com/en/get-started/getting-started-with-git/configuring-git-to-handle-line-endings .

Fixes: https://github.com/slimbootloader/slimbootloader/issues/1400
Signed-off-by: Mike Crowe <mac@mcrowe.com>
2021-11-10 12:46:42 -08:00
Maurice Ma 0e0eb047e3 Add UpdateMemoryInfo implementation for all open platforms
This patch implemented SOC specific hook to update the memory
map info through UpdateMemoryInfo() API.

Signed-off-by: Maurice Ma <maurice.ma@intel.com>
2021-10-29 07:49:55 -07:00
Maurice Ma 4936832cde [TGL] Add SOC specific memory info
This patch updated the memory info for TGL platform using the SOC
specific memory map registers.

Signed-off-by: Maurice Ma <maurice.ma@intel.com>
2021-10-26 14:32:20 -07:00
Maurice Ma 21917377c8 Change GetSerialPortBase() API to return 64bit address
When UART bar is alloaced to 64 bit address, the current SBL API
GetSerialPortBase() only returns the lower 32 bit address, which will
cause problem for UART access. This patch fixed this issue.

Please note the patch did not change the payload HOB interface for
UART info. That needs to be updated to 64bit base address too. But this
patch does not cover that.

Signed-off-by: Maurice Ma <maurice.ma@intel.com>
2021-10-21 10:09:20 -07:00
Sai T 4d17d55a21 Move PchPcrLib to CommonSocPkg
Make PchPcrLib common. Remove redundant headers
not used by some platforms and link the new common
lib with the platforms currently using it.

Signed-off-by: Sai T <sai.kiran.talamudupula@intel.com>
2021-10-18 08:02:42 -07:00
Vincent Chen 93ac9991c6 [TGL] Update FSP and platform version since MR3 is released
- UP3 IoT FSP MR3
- change the FSP headers from FspBin folder to Include folder
- update TGL platform version to 1.3

Signed-off-by: Vincent Chen <vincent.chen@intel.com>
2021-09-30 12:00:49 -07:00
Sai T 1bb16e60c4 Remove redundant PchSbiAccessLib.h
Remove PchSbiAccessLib.h from platform-specific
folders, and use common one.

Signed-off-by: Sai T <sai.kiran.talamudupula@intel.com>
2021-09-17 13:50:30 -07:00
Lean Sheng Tan e7a47908b4 [TGL] Rename LowPowerS0Idle to S0ix
For consistency and public understanding, rework to change
'LowPowerS0Idle' to 'S0ix'.
- rename LowPowerS0Idle to S0ix
- enable s0ix by default for TGL-U
- add s0ix variable in PlatformData.h
- add s0ix flag check in stage 1B
- move Tcc s0ix support flag from stage 2 to stage 1B

Signed-off-by: Lean Sheng Tan <lean.sheng.tan@intel.com>
2021-09-15 08:33:30 -07:00
Stanley Chang 8879f35447 [TGL] fix fw update hang due to rom size change
This patch fixes a hang issue during fw update caused by
mismatching bios rom size. For a fw update, the TopSwap
size, Redundant Region size, and total BIOS region must be
identical.

This patch also adds check on rom size during fw update.
The check only works for a running SBL built with this patch.

Signed-off-by: Stanley Chang <stanley.chang@intel.com>
2021-09-11 07:18:45 -07:00
Sai T 772da78bfa Move BdatLib to CommonSocPkg
This patch adds BdatLib to CommonSocPkg so that all projects
can refer to one single instance of BdatLib. Also removed the
redundant platform-specific package folders.

Signed-off-by: Sai T <sai.kiran.talamudupula@intel.com>
2021-09-08 16:39:56 -07:00
Stanley Chang b78cb1d534 [TGL] Read boot Tjunctions
The patch adds a feature to read Dts at boot. The feature
is analogous to UEFI BIOS:

  Thermal Conf -> Platform Thermal Conf -> Boot DTS Read

Specifically, the feature reads Tjunctions of PCH and CPU
and stores them as Smbios Type-28 entries.

The patch also fixes AppendSmbiosType in SmbiosInitLib:
  A newly added structure should inherit the Handle from
  previous Type-127 (end-of-table) structure.

Signed-off-by: Stanley Chang <stanley.chang@intel.com>
2021-08-24 08:56:51 -07:00
Jim 9081525430 [TGL-H] PV Upstream
Signed-off-by: Jim <jim.pelner@intel.com>
2021-08-11 18:07:23 -07:00
Aiden Park 4b2e566921 Cleanup Platform/Silicon code to access LoaderGlobalData via APIs
This makes all Platform & Silicon code use APIs to access
LoaderGlobalData instead of accessing variables directly.

Signed-off-by: Aiden Park <aiden.park@intel.com>
2021-08-06 12:34:36 -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 f7401ea952 [TGL] Minor code clean up
Remove TGL-H GPIO definition and program.
Use R_ACPI_IO_SMI_STS instead of "R_ACPI_IO_SMI_EN + 4"
Set PCIE region len to 0x10000000 instead of 0x20000000
Remove data dumping for PSD
Fix other typo

Signed-off-by: Guo Dong <guo.dong@intel.com>
2021-06-02 15:32:34 -07:00
Maurice Ma 9480958ee8 [TGL] Fix TGL PCH Debug UART issue
On TGL platform, if change current DEBUG UART to PCH UART, there
is no output from SBL at all.

This patch fixed this issue by:
  - Skip UART init in FSP-T and let SBL do UART init itself.
  - Disable any debug output before UART init is done.

Signed-off-by: Maurice Ma <maurice.ma@intel.com>
2021-05-27 14:51:01 -07:00
jinjhuli d746444ac8 [TGL-U] S0ix Support for TGL-U
Updated ACPI Tables, NVS data and FSP UPDs for S0ix support
S0ix is working on yocto through USB boot and windows through CPU M.2 NVME

Signed-off-by: jinjhuli <jin.jhu.lim@intel.com>
2021-04-09 13:54:18 -07:00
Guo Dong ed93255929
[TGL] Add TCC V2 support (#1081)
Update the TCC subregion layout.
Use the common TCC config data
Use the common TCC library for RTCT table.
Rename TCC variable to follow TCC V2 naming
Pending the FSP release for TCC V2 support.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2021-03-31 13:06:26 -07:00
Subash Lakkimsetti c2d16b3611 [TGLU] Oem Key revocation feature support
TGL supports multiple OEM keys and their revocation
by CSE. This patch supports HECI APIs for OemkeyRevoke
and to get key status. This is port from TGLH platform
implemetation.

Signed-off-by: Subash Lakkimsetti <subash.lakkimsetti@intel.com>
2021-03-22 21:22:01 -07:00
Subash Lakkimsetti aa36ae70d1
Oem Key revocation feature support (#1043)
EHL, TGL supports multiple OEM keys and their revocation
by CSE. This patch supports,
- CMDI interface to perform key revocation using
  OEMKEYREVOCATION string in cmd file.
- EHL HECI APIs for OemkeyRevoke and to get key status
- FW componets are sorted as per required order.
  CSME and BIOS should be signed with new keys and
  both components would go together with capsule update.

Signed-off-by: Subash Lakkimsetti <subash.lakkimsetti@intel.com>
2021-03-08 11:04:44 -08:00
Guo Dong 57fb7e2fb3 [TGL] Update Vtd support
GNVS should be aligned with VTD PCD
Fix a DMR check issue.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2021-02-17 21:44:43 -07:00
Raghava Gudla ca738786cc
Fix firmware update failure during sbl svn check (#999)
This patch fixed a failure in firmware update that
occur during SBL version check. Current code assume
that the SBL layout does not change between the existing
firmware and the capsule, when the layout change, stage1A
address change and this is causing error while obtaining
the firmware version.

Code is modified to use the last 4 bytes of the SBL region
which contain Stage1A FV address and this is used to obtain
the version information.

Signed-off-by: Raghava <raghava.gudla@intel.com>
2021-02-05 09:01:26 -08:00
leanshen cf6663c996 Add silicon common IgdOpRegion library
This adds a common IgdOpRegion library for the same APIs on TGL
and EHL platforms. Plan to include older platforms support in the v2
patch.

Signed-off-by: Lean Sheng <lean.sheng.tan@intel.com>
2021-01-28 08:56:27 -08:00
Raghava Gudla c9be70efd2
Fix failure during csme firmware update (#982)
This patch fixed a failure occured during CSME firmware
update. CSME firmware update library expects PCI read buffer
with a specific format, there is mismatch with input and output
parameter with the current code. Added a wrapper function
with the expected format to fix the failure.

Signed-off-by: Raghava Gudla <raghava.gudla@intel.com>
2021-01-25 15:46:54 -08:00
Praveen Hp eeb5e1ac10 Fix Secureboot status in PSD
CFL, CML, EHL, TGL platforms are using PSD version 0.3.
as per PSD Spec v0.3 secureboot status indication as ber below,

000 – Secure boot is Disabled
001 – UEFI Secure boot is enabled
010 – Boot Guard is Enabled
100 – Bootloader Verified boot is Enabled

Signed-off-by: Praveen Hp <praveen.hodagatta.pranesh@intel.com>
2021-01-21 16:47:38 -08:00
Raghava Gudla 46e4a98cd1 Get SVN ver from capsule during firmware update
During firmware update svn check for SBL region, Current code
assumes that Stage1A base does not change, because of this when
Stage1A base changed in capsule image, getting svn version from
the capsule fails and firmware update is failing.

This patch addressed above issue by reading stage1A base from
capsule image, this way even if stage1A base changes, code will
be able to read it and get svn version from capsule.

Signed-off-by: Raghava Gudla <raghava.gudla@intel.com>
2021-01-16 09:41:04 -07:00
jinjhuli f3076fbb60 [TGL] Update flags to align with UEFI BIOS
Updated flags that missed out from baseline patch
and to align with UEFI BIOS.

Signed-off-by: jinjhuli <jin.jhu.lim@intel.com>
2021-01-12 15:12:56 -07:00
jinjhuli 36714c6745 [TGL] Initial silicon package baseline for TGL platform support
- Build command
  python BuildLoader.py build tgl

- Stitch command
  python Platform/TigerlakeBoardPkg/Script/StitchLoader.py
  -i <EXISTING_IFWI_IMAGE>
  -o <SBL_IFWI_IMAGE>
  -s Outputs/tgl/SlimBootloader.bin

*Both command will only works after adding Tigerlake platform
package in upcoming patch.

Signed-off-by: jinjhuli <jin.jhu.lim@intel.com>
2020-12-18 08:51:37 -07:00