Commit Graph

48135 Commits

Author SHA1 Message Date
Felix Held ed69450d62 soc/amd/sabrina/Kconfig: set soft fuse bit 34
The bits are documented in NDA document #55758.

BUG=b:228458221

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: Ibc27f617ca9c9620b3b2cb0837b661fa0cd36c2b
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65312
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
2022-06-23 13:05:51 +00:00
Evgeny Zinoviev c3566b67f6 nvramtool: Fix building on Linux systems with musl libc
Current implementation only supports glibc (by looking for __GLIBC__)
and fails to build on systems with alternative libc implementations,
such as musl; sys/io.h is never included, there are no outb/inb
functions which results in undefined references at linking stage.

Using __linux__ instead of __GLIBC__ to test whether the system is Linux
seems to be a more proper way to detect Linux and it also fixes
nvramtool compilation on musl systems.

Tested on Gentoo Linux with musl 1.2.2 (builds and works fine) and Void
Linux with glibc (still builds and works fine).

Change-Id: Idcdc3a033b40f16a6053209813f1e06209ee459a
Signed-off-by: Evgeny Zinoviev <me@ch1p.io>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/48757
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-23 12:19:52 +00:00
Maulik V Vaghela 58c063ebd0 mb/google/nissa: Skip locking for GPP_F14 GPIO
There is an existing issue for nissa boards where wake up from
RTC wake is not working during suspend_stress_test.

This issue was root caused to the patch which was setting GPE_EN
bits for the GPIOs before locking.
Reference: https://review.coreboot.org/c/coreboot/+/64089

Later issue was found to be with GPP_F14 configuration for nissa
boards. When coreboot skips setting GPE_EN bit for GPP_F14, RTC
wake works properly. Another way to make it work is to skip locking
GPP_F14 GPIO to allow kernel to configure it properly.

This patch skips the locking for GPP_F14 to allow kernel to
configure it later. This fixes the issue of RTC wake not working.

Note: This patch provides workaround for the existing issue and
BUG will be closed once actual reason is identified and proper
fix is available.

BUG=b:234097956
BRANCH=None
TEST=RTC wake works on Nivviks board with the patch.

Change-Id: Ie8091ab8acf2b3f064cb79bdf4700f6b4c1674a5
Signed-off-by: Maulik V Vaghela <maulik.v.vaghela@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65086
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Reviewed-by: Reka Norman <rekanorman@chromium.org>
Reviewed-by: Kangheui Won <khwon@chromium.org>
2022-06-23 12:19:42 +00:00
Ian Feng efe749f380 mb/google/nissa/var/xivu: Generate RAM ID and SPD file
Add the support RAM parts for Xivu.
Here is the ram part number list:

DRAM Part Name                 ID to assign
MT62F1G32D4DR-031 WT:B         0 (0000)
MT62F512M32D2DR-031 WT:B       1 (0001)
H9JCNNNBK3MLYR-N6E             1 (0001)
K3LKBKB0BM-MGCP                2 (0010)

BUG=b:236576117
BRANCH=None
TEST=Use part_id_gen to generate related settings and
emerge-nissa coreboot

Signed-off-by: Ian Feng <ian_feng@compal.corp-partner.google.com>
Change-Id: I02866f7dcdc70d1051d187fdda30e04bb654ece3
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65252
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Reviewed-by: Frank Wu <frank_wu@compal.corp-partner.google.com>
Reviewed-by: Reka Norman <rekanorman@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-23 12:18:50 +00:00
Ian Feng d234b07244 mb/google/brya: Create xivu variant
Create the xivu variant of the nissa reference board by copying
the template files to a new directory named for the variant.

(Auto-Generated by create_coreboot_variant.sh version 4.5.0).

BUG=b:235025984
BRANCH=None
TEST=util/abuild/abuild -p none -t google/brya -x -a
make sure the build includes GOOGLE_XIVU

Signed-off-by: Ian Feng <ian_feng@compal.corp-partner.google.com>
Change-Id: I12341a2414e58ebc1c22429d35a03afef27adace
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65235
Reviewed-by: Reka Norman <rekanorman@chromium.org>
Reviewed-by: Kangheui Won <khwon@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-23 12:18:34 +00:00
Kenneth Chan f304dc2dce mb/google/guybrush/var/dewatt: Update telemetry value
AMD SDLE testing had been done.
Apply the following telemetry settings for dewatt DVT:
vdd scale:  91573
vdd offset: 620
soc scale:  30829
soc offset: 235

BUG=b:234417498
TEST=1. emerge-guybrush coreboot
     2. pass AMD SDLE test

Change-Id: I46650ca12ccfec90f15ee562d30c62c389d14d39
Signed-off-by: Kenneth Chan <kenneth.chan@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65304
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Rob Barnes <robbarnes@google.com>
2022-06-23 12:18:17 +00:00
Arthur Heymans 0424a2c59f util/ifdtool: Fix printing or setting PCH straps
When printing or setting the PCH straps use the PSL directly instead
of multiplying it by 4.

Change-Id: Ia91697fdf0c6d80502e8611b259c444f39c6cd57
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/55753
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2022-06-23 12:17:54 +00:00
Sean Rhodes 7ea7986963 payloads/tianocore: Show build options
Show the build options that are passed to edk2 in one clear block.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: I917a8c1d3ac8f2a223e584fec10689679835630c
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65184
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2022-06-23 12:17:12 +00:00
Sean Rhodes 48f69da67b soc/intel/apollolake: Enable SATA Power Optimisation
Enable PwrOptEnable FSP S UPD and hook it to the inverted value of
SataPwrOptimizeDisable to allow it to be disabled from the devicetree.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: I056fd7b16dadb213b3326523b0c7943ce35b8dc4
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65043
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
2022-06-23 12:16:50 +00:00
Jack Rosenthal ad07461a16 mb/google/brya/var/ghost4adl: Add more memory parts
Add support for MT62F512M32D2DR-031 WT:B and K3LKLKL0EM-MGCN.

These will be used as backup parts if there is issues getting the
Hynix parts.

BUG=b:233822880,b:236423310
BRANCH=firmware-brya-14505.B
TEST=emerge-ghost coreboot

Signed-off-by: Jack Rosenthal <jrosenth@chromium.org>
Change-Id: I6ace8788ffb2ec40d01b91d0a4d751e0a95883f4
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65211
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Caveh Jalali <caveh@chromium.org>
2022-06-23 12:16:21 +00:00
Jack Rosenthal dbc904b267 mb/google/brya/var/ghost: Add auto-generated GPIO config from Arbitrage
Arbitrage is an internal tool at Google to work with schematics
programatically.  In particular, it features an "export-coreboot-gpio"
command, which, does it's best to try and make a gpio.c from the
schematics to avoid human errors when translating to C code.

This commit adds a gpio.c generated by running:

  "arb export-coreboot-gpio ghost4adl:P0_2022_06_17"

This GPIO config will require hand modification.  This is done in a
follow-up CL.  (i.e., this CL intentionally leaves the config exactly
how it was generated by Arbitrage so we get a good diff on the changes
we needed to make)

BUG=b:234626939,b:231719130
BRANCH=firmware-brya-14505.B
TEST=emerge-ghost coreboot

Signed-off-by: Jack Rosenthal <jrosenth@chromium.org>
Change-Id: I35a85202768a366357073d3ebc177d0e0da661f7
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65210
Reviewed-by: Caveh Jalali <caveh@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-23 12:16:05 +00:00
Jack Rosenthal 9541739f79 mb/google/brya/var/ghost4adl: Enable TCSS display detection by default
Initial boards will not have an internal panel.  Enable TCSS display
detection so we can boot on an external panel over Type-C.

BUG=b:235294840
BRANCH=firmware-brya-14505.B
TEST=emerge-ghost coreboot

Signed-off-by: Jack Rosenthal <jrosenth@chromium.org>
Change-Id: I6f65ddc24701d6f6ad0250560cc05b5e1d32370f
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65209
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Caveh Jalali <caveh@chromium.org>
2022-06-23 12:15:22 +00:00
Michał Żygowski ea66f8280b drivers/crb: Generate TPM PPI ACPI code
The TPM PPI code was only generated for memory mapped non-CRB TPMs.
There is no reason why CRB TPM should not have the PPI, e.g. PTT.
Call the relevant method to add the PPI to SSDT.

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Change-Id: I3d3f08ea686c95ef75ae8fe7a5dcf16f7492ce68
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64422
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Sean Rhodes <sean@starlabs.systems>
2022-06-23 12:14:41 +00:00
Srinidhi N Kaushik b2d9d57103 vc/intel/fsp/mtl: Update header files from 2173_00 to 2222_01 for MTL
Update header files for FSP for Meteor Lake platform to version 2222_01, previous version being 2173_00.

FSPM:
Includes below 2 UPDs
1. TdcEnable
2. TdcTimeWindow

FSPS:
Address Offset changes.

BUG=b:234701164
TEST=util/abuild/abuild -p none -t google/rex -a -c max

Signed-off-by: Srinidhi N Kaushik <srinidhi.n.kaushik@intel.com>
Change-Id: I529118c35fa9f851ee2b5f23712ac70e2a5b53c5
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64878
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tarun Tuli <taruntuli@google.com>
2022-06-23 05:00:35 +00:00
Martin Roth e0526fe023 Documentation: Add a list of acronyms
We have too many acronyms to keep track of.  At one point, AMD and
Intel used to use the same terms for things, but no longer. When I
look at Intel patches now, I have no idea what they mean anymore.

When I started trying to do the release notes, I kept having to
look up the acronyms, so I figured I'd make a list.

Signed-off-by: Martin Roth <gaumless@gmail.com>
Change-Id: I4571bf468bbfc6a1a6f33399ba61032a18fe41ec
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64805
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
2022-06-23 04:53:12 +00:00
Martin Roth 93333cb34e util/lint: Add coreboot specific dictionary file
This is a wordlist that I've compiled to use in spellcheckers to ignore
all of the coreboot specific terms.

Signed-off-by: Martin Roth <gaumless@gmail.com>
Change-Id: I718519000eaf31786380474eb71b99ca442e3bed
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64809
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
2022-06-22 21:40:19 +00:00
Sean Rhodes 34e3fac130 soc/intel/tigerlake: Replace spaces with tabs
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: I9b64375d905d93a8db726202ed2ce932fa536da3
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64562
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
2022-06-22 18:10:40 +00:00
Dtrain Hsu 121ff62768 mb/google/brya/var/kinox: Refactoring update_power_limits function
Based on 'commit 0b917bde36 ("mb/google/brya/var/kinox: Set power
limit based on charger type")' to refactoring update_power_limits
function for kinox.

BUG=b:231911918
TEST=Build and boot to Chrome OS

Signed-off-by: Dtrain Hsu <dtrain_hsu@compal.corp-partner.google.com>
Change-Id: I1fcb593090f95bf23808e577dd11b8a836f47494
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65242
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2022-06-22 18:09:56 +00:00
Yu-Ping Wu 6b0d085164 security/vboot: Deprecate VBOOT_VBNV_EC
Boards using VBOOT_VBNV_EC (nyan, daisy, veyron, peach_pit) are all
ChromeOS devices and they've reached the end of life since Feb 2022.
Therefore, remove VBOOT_VBNV_EC for them, each with different
replacement.

- nyan (nyan, nyan_big, nyan_blaze): Add RW_NVRAM to their FMAP (by
  reducing the size of RW_VPD), and replace VBOOT_VBNV_EC with
  VBOOT_VBNV_FLASH.
- veyron: Add RW_NVRAM to their FMAP (by reducing the size of
  SHARED_DATA), and replace VBOOT_VBNV_EC with VBOOT_VBNV_FLASH. Also
  enlarge the OVERLAP_VERSTAGE_ROMSTAGE section for rk3288 (by reducing
  the size of PRERAM_CBMEM_CONSOLE), so that verstage won't exceed its
  allotted size.
- daisy: Because BOOT_DEVICE_SPI_FLASH is not set, which is required for
  VBOOT_VBNV_FLASH, disable MAINBOARD_HAS_CHROMEOS and VBOOT configs.
- peach_pit: As VBOOT is not set, simply remove the unused VBOOT_VBNV_EC
  option.

Remove the VBOOT_VBNV_EC Kconfig option as well as related code, leaving
VBOOT_VBNV_FLASH and VBOOT_VBNV_CMOS as the only two backend options for
vboot nvdata (VBNV).

Also add a check in read_vbnv() and save_vbnv() for VBNV options.

BUG=b:178689388
TEST=util/abuild/abuild -t GOOGLE_NYAN -x -a
TEST=util/abuild/abuild -t GOOGLE_VEYRON_JAQ -x -a
TEST=util/abuild/abuild -t GOOGLE_DAISY -a
TEST=util/abuild/abuild -t GOOGLE_PEACH_PIT -a
BRANCH=none

Change-Id: Ic67d69e694cff3176dbee12d4c6311bc85295863
Signed-off-by: Yu-Ping Wu <yupingso@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65012
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
2022-06-22 18:08:53 +00:00
Joey Peng e399aa8c9c mb/google/brya/var/taeko: Modify DPTF setting for tarlo
Adjust sensor trigger point and fan duty according to thermal team
tuning results.

BRANCH=brya
BUG=b:215033683
TEST=Built and tested on tarlo board

Signed-off-by: Joey Peng <joey.peng@lcfc.corp-partner.google.com>
Change-Id: Ib543cee82f6940ab35a1a40af1d41bb2b8bf8521
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65286
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
2022-06-22 18:08:03 +00:00
Michał Kopeć febaf2f413 soc/intel/alderlake: add GPIO definitions for PCH-S
Add GPIO definitions for ADL-S, similarly to how TGL/TGL-H handles
the split.

Based on:
- Intel PCH-S EDS Vol2 (#621483)
- Alderlake-S FSP
- slimbootloader sources
- Linux alderlake-pinctrl driver

Change-Id: I0fd1dc645c19c33bf14424703f966271e884ed3d
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63467
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
2022-06-22 17:35:43 +00:00
Matt DeVillier 619bb07494 soc/amd/picasso/acpi: Add missing UART resources
Both UART and DMA MMIO regions for each UART are mapped by the
UEFI reference code, so do the same here.

Without these defined, UART-attached devices fail to correctly
initialize under Windows.

Change-Id: I0e1af9028c7c1746407e923cebe824a15aeb565e
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65233
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-06-22 17:32:19 +00:00
Cliff Huang 7b4643f5fa soc/intel/alderlake: Remove menu option for MAX_PCIE_CLOCK_SRC
MAX_PCIE_CLOCK_SRC is not an user-configurable option.

Signed-off-by: Cliff Huang <cliff.huang@intel.corp-partner.google.com>
Change-Id: Ia49f6e236e8853c377e9096500d96f21dbdc9b8d
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65298
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-22 17:32:00 +00:00
Subrata Banik 88f863cfbb soc/intel: Add Meteor Lake SA device ID
Add Meteor Lake SA device ID 0x7d14 (4+8, 15W).

BUG=b:224325352
TEST=Able to build MTL SoC and verified SA DID is now shown proper.

Signed-off-by: Subrata Banik <subratabanik@google.com>
Change-Id: I051a40136ed89e837945bf4569c77d2a80375ed6
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65111
Reviewed-by: Tarun Tuli <taruntuli@google.com>
Reviewed-by: Wonkyu Kim <wonkyu.kim@intel.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-22 17:31:42 +00:00
Sean Rhodes f00c0a8f4a mb/starlabs/lite/{glk/glkr}: Disable UFS device
Disable 1d.0 UFS as it is not used.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: Ib392bc64db440ea3d98ee62536d5395587a3f6aa
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65046
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2022-06-22 17:31:09 +00:00
Jason Glenesk e212bdba67 mb/google/skyrim/variants/baseboard: enable iommu
With IOMMU disabled, kernel complains that 'IOMMUv2 functionality not
available on this system'. Enable iommu in devicetree for skyrim proto
board in order to allow kernel to load and initialize IOMMUv2.

BUG=b:232750390
TEST=Boot to Chrome OS on skyrim board, and
     grep dmesg for "AMD IOMMUv2 loaded and initialized"

Change-Id: I2f10f5eda8083335619a34c44df253b8e5a8572c
Signed-off-by: Jason Glenesk <Jason.Glenesk@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65190
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
2022-06-22 15:06:36 +00:00
Michał Żygowski 5f92ed897a soc/cannonlake: Hook up Comet Lake U 06-a6-01 microcode
The file is already present in the microcode submodule repository.

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Change-Id: Ib284908db165dc95a5895979174512818f2aceff
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65292
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-22 12:56:01 +00:00
Usha P de0f97334c mb/intel/adlrvp: Enable early EC sync for ADL-N
Enable VBOOT_EARLY_EC_SYNC in coreboot.

EC Sync was failing on ADL-N RVP since the ec image was not getting
stitched into coreboot during emerge build. This is now fixed with https://crrev.com/c/3705002 and hence enabling the EC sync for ADL-N RVP

BUG=b:232875824
TEST=Build and boot adlrvp-n. Ensure EC Software sync is complete.

Signed-off-by: Usha P <usha.p@intel.com>
Change-Id: Ibea37825abd0f13a5184cbbe96c38d44474782f4
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65162
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kangheui Won <khwon@chromium.org>
Reviewed-by: Krishna P Bhat D <krishna.p.bhat.d@intel.com>
2022-06-22 12:55:10 +00:00
Subrata Banik 957609d00c soc/intel/mp_init: Skip before_post_cpus_init if !USE_COREBOOT_MP_INIT
This patch ensures all APs finish the task and continue
before_post_cpus_init() if coreboot decides to perform multiprocessor
initialization using native coreboot drivers instead of using
FSP MP PPI implementation.

BUG=b:233199592
TEST=Build and boot google/kano to ChromeOS.

Signed-off-by: Subrata Banik <subratabanik@google.com>
Change-Id: I3b76974ab19323201bf1dca9af423481a40f65c9
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65173
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-22 12:52:14 +00:00
Subrata Banik ceaf9d1169 soc/intel/alderlake: Allow possible options for MP Init
This patch creates choice that lists all possible options to perform
MP Init as below:
1. USE_FSP_MP_INIT: Allow coreboot to bring APs from reset and FSP
runs feature programming based and selects MP_SERVICES_PPI_V2 config.
2. USE_COREBOOT_MP_INIT: Allow coreboot to perform MP Init (both AP
init and feature programming) using native implementation.
Additionally, selects required RELOAD_MICROCODE_PATCH when coreboot
is expected to run MP Init.

Refactor SoC code to allow required FSP UPD override based on
selected MP Init option.

BUG=b:233199592
TEST=Build and boot google/taeko to ChromeOS.

Signed-off-by: Subrata Banik <subratabanik@google.com>
Change-Id: I20adc1935890c4c6bcd11fd086838f15d0723932
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64977
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-22 12:51:22 +00:00
Subrata Banik 347f5c3232 microcode: Add error msg in case `intel_microcode_find()` return NULL
This patch adds an error msg if intel_microcode_find() is unable to
find a microcode for the CPU SKU.

TEST=Able to see the error msg in coreboot serial log in case packed
with wrong microcode binary.

Signed-off-by: Subrata Banik <subratabanik@google.com>
Change-Id: Ib4865575a44d2c8c6c3a20c2823a546d8f261e52
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65285
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-22 12:50:56 +00:00
Subrata Banik 7734af81bc cpu/intel/microcode: Create helper function to load microcode patch
This patch refactors the microcode loading and reloading API with a
helper function that perform the actual MSR write operation after
taking the microcode pointer from the caller function.

Also, convert the microcode loading failure msg type from `BIOS_INFO`
to `BIOS_ERR` to catch the error in proper.

TEST=Able to perform microcode loading on google/kano.

Signed-off-by: Subrata Banik <subratabanik@google.com>
Change-Id: I9a7cdc2d2c9211f1e0c7921015126f7a1be87761
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65249
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-22 12:50:40 +00:00
Subrata Banik 861ec01b44 soc/intel/cmn/block/cpu: Perform PRMRR sync on all cores
This patch ensures to perform core PRMRR sync if SoC decides to
perform MP Init using coreboot native implementation.

Also, implement a function to allow calling `init_core_prmrr()`
for all CPUs from `before_post_cpus_init()`.

BUG=b:233199592
TEST=Build and boot google/kano to ChromeOS.

Signed-off-by: Subrata Banik <subratabanik@google.com>
Change-Id: I9b6222c98ff278419fa8411054c0954689e1271e
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64978
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-22 12:36:41 +00:00
Subrata Banik 46265abc71 intel/mp_init: Call `intel_reload_microcode()` before post_cpus_init()
This patch calls into `intel_reload_microcode() function to load
second microcode patch after BIOS Done bit is set and before
setting the BIOS Reset CPL bit.

Also, remove redundant microcode reloading debug print.

BUG=b:233199592
TEST=Build and boot google/kano to ChromeOS.

Signed-off-by: Subrata Banik <subratabanik@google.com>
Change-Id: Icb3fcfd7ef5478be0a40f8f1358f55c0247b4914
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65157
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-22 12:36:15 +00:00
Subrata Banik bd0aef0f2a cpu/intel/microcode: Have API to re-load microcode patch
This patch introduces a newer API to reload the microcode patch when
SoC selects RELOAD_MICROCODE_PATCH config.

Expected to call this API being independent of CPU MP Init regular
flow hence, doesn't regress the boot time.

BUG=b:233199592
TEST=Build and boot google/kano to ChromeOS.

Signed-off-by: Subrata Banik <subratabanik@google.com>
Change-Id: If480e44b88d04e5cb25d7104961b70f7be041a23
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65156
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
2022-06-22 12:35:53 +00:00
Ian Feng d36aca5e22 mb/google/brya/var/kinox: Enable PCIe WLAN
Enable PCIe WLAN for Kinox
1. Enable PCI port 5 for PCIe WLAN
2. Enable CLKREQ, CLK SRC 2 for PCI port 5

BUG=b:236175551
TEST=Build and boot to OS in Kinox. Ensure that the WLAN module is
enumerated in the output of lspci.
localhost ~ # lspci
02:00.0 Network controller: Realtek Semiconductor Co., Ltd.Device
c852 (rev 01)

Signed-off-by: Ian Feng <ian_feng@compal.corp-partner.google.com>
Change-Id: I3fbeadc85c9c88f5d178326dbbc83762083fe59a
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65168
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Frank Wu <frank_wu@compal.corp-partner.google.com>
2022-06-22 12:35:02 +00:00
Kyösti Mälkki 27d6299d51 device/resource: Add _kb postfix for resource allocators
There is a lot of going back-and-forth with the KiB arguments, start
the work to migrate away from this.

Change-Id: I329864d36137e9a99b5640f4f504c45a02060a40
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64658
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-22 12:30:15 +00:00
Kyösti Mälkki 37b161fb96 intel/broadwell,lynxpoint: Change formula around 4 GiB
Let's not rely on the type to get the correct result,
casting 0 to 0ull made the result wrong.

Change-Id: I6dfba3800170fdd4267e3bb74c55b05533c101fc
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65266
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2022-06-22 08:56:31 +00:00
Kyösti Mälkki eae983161e ec/lenovo/pmh7: Add IORESOURCE_ASSIGNED flag
This makes coccinelle script happy, everyone else sets flags last.

Change-Id: I80f421aeacb6e72fea2265c69cafb2a0d89e5616
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64697
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2022-06-22 08:55:47 +00:00
Kyösti Mälkki 49b3f84820 ec/kontron/kempld: Fix IORESOURCE_IRQ
The IRQ was incorrecly allocated as IO resource.

It's not possible for new_resource() to return NULL.

Change-Id: I66811b36b44f06cb39df8e9cdab87be0e2ef8eb9
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64699
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2022-06-22 08:55:15 +00:00
Arashk Mahshidfar e607ddc5c9 util/inteltool: Add an additional Device ID for Intel HD 4400 GPU
Add 0x0A16 as a Device ID for Intel HD 4400

Change-Id: I0129376c0ce005c1bfabaa9dbd8d8dfc6c92e5d3
Signed-off-by: Arashk Mahshidfar <arashkmahshidfar@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64543
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2022-06-22 00:51:30 +00:00
Sean Rhodes eb5dd2a8dd payloads/tianocore/Makefile.inc: Alphabetise Kconfig options
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: I12a18acd24a0aede8113e1daa607c852eba67049
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65160
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2022-06-22 00:42:32 +00:00
Mark Hsieh 21922e052c mb/google/nissa/var/joxer: add generic LPDDR5 SPDs for Joxer
Add Makefile.inc to include five generic LPDDR5 SPDs for the following
parts for Joxer:

  DRAM Part Name                 ID to assign
  MT62F512M32D2DR-031 WT:B       0 (0000)
  MT62F1G32D4DR-031 WT:B         1 (0001)
  H9JCNNNBK3MLYR-N6E             0 (0000)
  H58G56AK6BX069                 2 (0010)
  K3LKBKB0BM-MGCP                2 (0010)

BUG=b:236576115
TEST=USE="project_joxer emerge-nissa coreboot"

Signed-off-by: Mark Hsieh <mark_hsieh@wistron.corp-partner.google.com>
Change-Id: I90acb436bccd5dae8585436316246c50fc256842
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65253
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Reka Norman <rekanorman@chromium.org>
Reviewed-by: Kangheui Won <khwon@chromium.org>
Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
2022-06-21 18:13:27 +00:00
Usha P 05a6266f26 mb/intel/adlrvp: Select the right Kconfig for raptorlake
CL 64619 adds the required initial code for raptorlake.
Select BOARD_INTEL_ADLRVP_RPL_EXT_EC for VBOOT_MOCK_SECDATA which is
mistakenly not selected.

BUG=None
BRANCH=firmware-brya-14505.B

Signed-off-by: Usha P <usha.p@intel.com>
Change-Id: I5da561cb31b0cb0d574a8091cc346d6b321ac6fe
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65165
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Bora Guvendik <bora.guvendik@intel.com>
Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
2022-06-21 18:11:48 +00:00
Sean Rhodes 50e4a377fb payloads/external/tianocore: Allow Kconfig options for all UefiPayloadPkg versions
Most of the Kconfig options are upstream, so they should exist in
most forks. Therefore, allow them to be set and passed when using
a custom repository or upstream edk2.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: I31e6e267ee6e4e3a254f733e1dfc1ecb3a3d3576
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65040
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2022-06-21 16:19:38 +00:00
Felix Held 1a923b9b3a soc/amd/*/Kconfig: drop unused SOC_AMD_COMMON_BLOCK_UCODE_SIZE option
Commit 96f7b96866 (soc/amd/common/block/
cpu/: Make ucode update more generic) removed the code that used the
SOC_AMD_COMMON_BLOCK_UCODE_SIZE Kconfig value. Drop the now unused
Kconfig option.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I079f229678452ff20d8bb282804cd2e49555a6fb
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65255
Reviewed-by: ritul guru <ritul.bits@gmail.com>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jason Glenesk <jason.glenesk@gmail.com>
Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
2022-06-21 14:14:53 +00:00
Julius Werner 5eda52a599 security/vboot: Add support for GSCVD (Google "RO verification")
This patch adds a new CONFIG_VBOOT_GSCVD option that will be enabled by
default for TPM_GOOGLE_TI50 devices. It makes the build system run the
`futility gscvd` command to create a GSCVD (GSC verification data) which
signs the CBFS trust anchor (bootblock and GBB). In order for this to
work, boards will need to have an RO_GSCVD section in their FMAP, and
production boards should override the CONFIG_VBOOT_GSC_BOARD_ID option
with the correct ID for each variant.

BUG=b:229015103

Signed-off-by: Julius Werner <jwerner@chromium.org>
Change-Id: I1cf86e90b2687e81edadcefa5a8826b02fbc8b24
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64707
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
2022-06-21 12:31:48 +00:00
Sean Rhodes 600856dec2 mb/starlabs/lite/{glk/glkr}: Disable Sata Port 1
Disable Sata Port 1 as it is not used.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: I93ecdaba5d1ce96ddcf3695edd7fb109054743e9
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64534
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
2022-06-21 12:30:46 +00:00
Sean Rhodes 664f0c51e7 mb/starlabs/lite/glkr: Don't configure GPIO's 147 through 156
These are configured by the TXE, so they do not need to be configured.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: I13957992d637a53203b4328e39c0e6607e017891
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64653
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-06-21 12:30:10 +00:00
Sean Rhodes d18fa49a0f mb/starlabs/lite/glkr: Simplify GPIO macro's
Use shorter macro's to conifgure GPIO's.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: I926aac8679f847cd963be07786e9fe2e4c63bda6
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64652
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-06-21 12:29:51 +00:00