Commit Graph

57088 Commits

Author SHA1 Message Date
aba7a34df2 mb/google/brya/var/xol: Configure Acoustic noise mitigation
Enable Acoustic noise mitigation for xol. The setting values are from
internal power team.

- Enable Acoustic noise mitigation
- Set slow slew rate VCCIA and VCCGT to SLEW_FAST_4
- Set FastPkgCRampDisable VCCIA and VCCGT to 1

BUG=None
TEST=FW_NAME=xol emerge-brya coreboot chromeos-bootimage

Change-Id: I6165ae6ca73d1467a1d2cc7bd545298bd4c2f54f
Signed-off-by: Seunghwan Kim <sh_.kim@samsung.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81103
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2024-03-09 23:36:28 +00:00
f02e00a97a tests: Add DEBUG make commandline option to generate debug symbols
Sometimes when a test doesn't work it's convenient to run it through
GDB. This patch adds a variable you can set on the make commandline to
conveniently enable all the compiler flags needed to make that work.

Change-Id: I3ac80ad095e0b72cc3176cbf915d1f390cd01558
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81112
Reviewed-by: Jakub Czapiga <czapiga@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
2024-03-09 23:35:36 +00:00
52b81845de arch/riscv: Add SMP support for exception handler
Change-Id: Ia1f97b82e329f6358061072f98278cf56b503618
Signed-off-by: Xiang Wang <merle@hardenedlinux.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68841
Reviewed-by: Philipp Hug <philipp@hug.cx>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: ron minnich <rminnich@gmail.com>
2024-03-09 23:34:25 +00:00
5787a4c53b mb/amd/onyx_poc/devicetree: explicitly assign PCIe engine type
Explicitly assign the 'PCIE' value to the 'type' field of the
corresponding MPIO chips in the devicetree. Since the mpio_type enum
element 'PCIE' has the value 0, this won't change the behavior, but
explicitly assigning this makes this easier to understand.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I84a364cf16c99ba11f67cf033962bbf2c982f6ff
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81095
Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Varshit Pandya <pandyavarshit@gmail.com>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2024-03-09 23:32:12 +00:00
a8bde89bbd soc/intel/alderlake: Remove the guard for CnviWifiCore
The CnviWifiCore UPD exists for ADL (version 4263) and RPL
(version 4415). Remove the guard so it is set correctly.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: I9943ee43a442a43d75e78d1551e46dcea39db357
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81079
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-09 23:29:31 +00:00
7e5db6da89 mb/google/brox: Enable Wake on WLAN for SKU1
For SKU1, wake pin is WLAN_PCIE_WAKE_ODL.
Update gpio config and corresponding ACPI for WoWLAN.

BUG=b:327379404
BRANCH=None
TEST=Boot image on SKU1 and check Wake on WLAN from S0ix.

Change-Id: I04c35da2c9ac57cafdf7f7a35d83ab2e7a05fe4a
Signed-off-by: Ashish Kumar Mishra <ashish.k.mishra@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80780
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Shelley Chen <shchen@google.com>
2024-03-09 23:28:01 +00:00
89e056bdf1 util/smmstoretool: support processing ROMs
Input file is parsed for FMAP and SMMSTORE region which is used if
found.  Otherwise, the whole file is assumed to be the region.  Passing
an image with FMAP that lacks SMMSTORER is an error.

Change-Id: Ieab555d7bbcfa4dadf6a5070d1297acd737440fb
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80903
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2024-03-09 23:26:41 +00:00
04bd965143 util: add smmstoretool for editing SMMSTORE
Offline SMMSTORE variable modification tool.  Can be used to
pre-configure ROM image or debug EFI state stored in a dump.

Change-Id: I6c1c06f1d0c39c13b5be76a3070f09b715aca6e0
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/79080
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2024-03-09 23:22:55 +00:00
7a51acfbe9 cpu/x86/smm: Set up page tables in safe SMRAM
Relying on page tables being in RO flash is not safe in every setup,
therefore set up some page tables in SMRAM that the permanent smihandler
can use.

Tested on QEMU.

Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Change-Id: Icb3086abd577b9abb9966dd910a264a873ace4ed
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80336
Reviewed-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-by: Benjamin Doron <benjamin.doron00@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-09 23:15:34 +00:00
1879b6a34a drivers/intel/fsp2_0: Add limited to 32-bits FSP 2.4 support
Intel Firmware Support Package 2.4 specification (document 736809)
brings some significant changes compared to version 2.3 (document
644852):

1. It supports FSP-M multi-phase init. Some fields have been added to
   the FSP header data structure for this purpose.

2. The `FSPM_ARCH2_UPD' and `FSPS_ARCH2_UPD' data structures must be
   used in place of `FSPM_ARCH_UPD' and `FSPS_ARCH_UPD' respectively.

3. It support 64-bits FSP but 64-bits support will be provided by
   subsequent patch.

Note that similarly to what is done for silicon initialization,
timestamps and post-codes are used during the memory initialization
multi-phase.

[736809]
https://cdrdv2-public.intel.com/736809/736809_FSP_EAS_v2.4_Errata_A.pdf

[644852]
https://cdrdv2-public.intel.com/644852/644852_2.3_Firmware-Support-Package-External-Architecture-Specification.pdf

TEST=verified on Lunar Lake RVP board (lnlrvp)

Change-Id: I1c24d26e105c3dcbd9cca0e7197ab1362344aa97
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80275
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Dinesh Gehlot <digehlot@google.com>
2024-03-08 16:59:25 +00:00
7eb014eba2 drivers/intel/fsp2_0: Add "silicon" to the multiphase callback name
The `platform_fsp_multi_phase_init_cb' callback is specific to FSP-S,
let's rename it 'platform_fsp_silicon_multi_phase_init_cb' to avoid
any confusion.

Change-Id: I86b69e2069f08023e6f48464f6df4593710aa9ee
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81094
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Dinesh Gehlot <digehlot@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-03-08 16:59:10 +00:00
cee8eb25c8 vc/intel/fsp/mtl: Update header files from 3471_85 to 3471_91
Update header files for FSP for Meteor Lake platform to version 3471_91,
previous version being 3471_85.

FSPM:
1. Address offset changes

BUG=b:327688959
TEST=Able to build and boot google/rex to ChromeOS.

Change-Id: I5a71232018dfefec63b0a83d1e87717e238a4a0a
Signed-off-by: Ronak Kanabar <ronak.kanabar@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80782
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: YH Lin <yueherngl@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-08 07:15:22 +00:00
7d83441ae0 soc/intel/xeon_sp/spr: Fix IOAT resources
Do not generate empty mem32 resources for CPMx or HQMx stacks.
Switch existing arguments to make sure that base is bigger than
limit to indicate that the resource is invalid.

Change-Id: I679563e97c33c7ee35d402674972e55f521eafa8
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80793
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-07 13:30:11 +00:00
64d2fd0777 soc/intel/xeon_sp: Share numa.c among Xeon-SP platforms
NUMA will be supported by SPR and future generations.

TEST=intel/archercity CRB

Change-Id: I0d494f8e560059d9c8d5338cef9a6ffe34e59e26
Signed-off-by: Shuo Liu <shuo.liu@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81042
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2024-03-07 13:28:01 +00:00
04fde7ed37 soc/intel/xeon_sp: Unshare UDK binding among Xeon-SP platforms
TEST=intel/archercity CRB

Change-Id: I285549daad87fe1ad6e8a94853e0a92cd5930e04
Signed-off-by: Li, Jincheng <jincheng.li@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81041
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-07 13:27:17 +00:00
a5bdf8e8df soc/intel/xeon_sp: Add memory type check utils
FSP memory type representations change across Xeon-SP SoCs.
This patch adds type check utils to abstract the differences.

TEST=intel/archercity CRB

Change-Id: I2f5f3c0f16dc50bc739146e46afce2e5fbf4f62c
Signed-off-by: Shuo Liu <shuo.liu@intel.com>
Signed-off-by: Jincheng Li <jincheng.li@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80632
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
2024-03-07 13:26:49 +00:00
cb6a35edd5 arch/riscv: Makefile.mk: Fix incorrect config variable
ARCH_RISCV_PMP should be CONFIG_ARCH_RISCV_PMP. Rename it.

Change-Id: I2a22acae5cd9f30e01c491653bf7fc7b7765d815
Signed-off-by: Ronald G Minnich <rminnich@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81086
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-06 23:48:52 +00:00
e067003327 vc/amd/opensil/genoa_poc/memmap: use GiB define
Use the GiB define to make the 4 GiB boundary used in some places in the
code a bit easier to read.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I81877a5d293c883d2e31bdb18ae3b22b8a44e62f
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81093
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Varshit Pandya <pandyavarshit@gmail.com>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2024-03-06 19:40:02 +00:00
d4a1ba47b9 vc/amd/opensil/genoa_poc/memmap: use get_top_of_mem_below_4gb
Use get_top_of_mem_below_4gb instead of open-coding the functionality.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I5885e9ad89ed9f0aa657c56804e98c352267267f
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81092
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Varshit Pandya <pandyavarshit@gmail.com>
2024-03-06 19:39:42 +00:00
a640b123f5 amdfwtool: Change&Record the current table in integration function
Align with the function integrating PSP FWs. And it is the integration
function's responsibility.

TEST=Identical test on all AMD platforms

Change-Id: I1a98614f3a5756a462b01085e9565b52cf9a9343
Signed-off-by: Zheng Bao <fishbaozi@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/78280
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2024-03-06 11:05:43 +00:00
e35c502a57 amdfwtool: Move code related to getting options to a new file
Cleanup the messy code. The code left in main is all about filling
tables.

To help to do this,
1. Some local variables are put into global struct.
2. Add some functions. Set some functions to global.

TEST=Identical test on all AMD platforms

Change-Id: Ia25c3fd5de7ae48054359f0f6551d91d7a4f6828
Signed-off-by: Zheng Bao <fishbaozi@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/78311
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2024-03-06 11:05:07 +00:00
fc3fcf2103 amdfwtool: Set the table size for L1 separately
The space defined by size of the L1 table can not overlap with ISH
header. For other cases, the size defines the directory and its
content.

The PSP spec does not say it quite clearly. This change is partly
based on guess and can make extraction tool work so far.

Change-Id: Id4fbc6d57d7ea070a9478649a96af92be9441289
Signed-off-by: Zheng Bao <fishbaozi@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/78274
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2024-03-06 11:04:20 +00:00
40e0748ef8 soc/intel/xeon_sp: Add ACPI names
Set the unused 'name' property of the domain device and store
the ACPI name. Every IIO stack can have multiple domain devices,
each owning a subset of the available bus range within the stack.

The name will be used in future changes to generate ACPI names
in SSDT code generation. It can also be used to identify the domain
type by looking at the first two characters of the name.

Change-Id: Ic4cc81d198fb88300394055682a3954bf22db570
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80792
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
2024-03-06 09:40:13 +00:00
384a9c973c mb/google/nissa/var/glassway: Tune eMMC DLL values
Update eMMC DLL values to improve initialization reliability.

BUG=b:327123701
TEST=Improve reboot on MB with eMMC smoothly.

Change-Id: Ice9ee217acf7dc6e3e704bc82529e0b9a8faf184
Signed-off-by: Daniel Peng <Daniel_Peng@pegatron.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80779
Reviewed-by: Shawn Ku <shawnku@google.com>
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Simon Yang <simon1.yang@intel.com>
2024-03-06 08:30:37 +00:00
d31b1091e7 mb/sifive/sifive-unmatched: add support for spi1 x4 mode
Tested on an unmatched, both SPI1 x1 and x4
work now.

Change-Id: Ida7f195eb6e4fc85018ceb83cf317595127c4af5
Signed-off-by: Ronald G Minnich <rminnich@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81031
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Philipp Hug <philipp@hug.cx>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
2024-03-06 04:33:52 +00:00
4d9549b95f soc/intel: Add definition of D0 stepping for TigerLake Halo
Change-Id: Ic080ffe7912ad71c77af09d2f3d1d9b08d9ffac8
Signed-off-by: Alicja Michalska <ahplka19@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80849
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
2024-03-05 23:29:17 +00:00
5015a35f48 soc/intel/tigerlake: Add IRQ mapping for PEG PCI-E ports
ACPI _PRT method was missing from PEG (SoC PCI-E) links, resulting in OS
complaining about interrupt routing.

'pcieport 0000:00:06.0: can't derive routing for PCI INT A'
'nvme 0000:04:00.0: PCI INT A: not connected'
'Interrupt: pin A routed to IRQ -2147483648'

TEST=Boot Linux and Windows 10 on TGL-H platform with PEG0/PEG1
populated with PCI-E devices - Radeon RX 7800XT and Kingston KC3000 NVME
SSD. Check logs and stability while running 3D application and disk
benchmark at the same time.

Change-Id: If102522efa1a67b362b14d859d9e27a37bad85a4
Signed-off-by: Alicja Michalska <ahplka19@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80848
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
2024-03-05 23:28:21 +00:00
07cfe5392a soc/intel/xeon_sp: Move MEM_ADDR_64MB_SHIFT_BITS to Xeon-SP
Move MEM_ADDR_64MB_SHIFT_BITS from FSP headers to Xeon-SP common layer
to reduce the dependency.

TEST=intel/archercity CRB

Change-Id: I4e1a652ad58233f7514cb9b23813d75144b8d435
Signed-off-by: Shuo Liu <shuo.liu@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80634
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
2024-03-05 21:40:56 +00:00
dca7eb5125 mb/google/oak: Don't build the ChromeEC codebase by default
Currently, the oak boards are the only boards that build the ChromeEC
by default as a part of the coreboot build.

As a part of replacing the chromeec submodule with a different build
mechanism, disable this default.

Signed-off-by: Martin Roth <gaumless@gmail.com>
Change-Id: Idd4fe45e52dbdd1c8dccf0d2c09d5cf6d61aa839
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81023
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Reviewed-by: Yidi Lin <yidilin@google.com>
2024-03-05 21:37:37 +00:00
0201d989f2 drivers/intel/fsp: Work around multi-socket Xeon-SP pipe init bug
Starting with Intel CPX there is a bug in the reference code during
the Pipe init. This code synchronises the CAR between sockets in FSP-M.
This code implicitly assumes that the FSP heap is right above the
RC heap, where both of them are located at the bottom part of CAR.

Work around this issue by making that implicit assumption done in FSP
explicit in the coreboot linker script and allocation.

TEST=intel/archercity CRB

Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Signed-off-by: Shuo Liu <shuo.liu@intel.com>

Change-Id: I38a4f4b7470556e528a1672044c31f8bd92887d4
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80579
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
2024-03-05 21:26:39 +00:00
67166a7eb2 lib/program.ld: Make (NOLOAD) and to_load more explicit
(NOLOAD) indicates that the section occupies no space in the file, but
does take up space in memory during process execution. It's typically
used for bss sections which contain uninitialized global/static
variables.

to_load makes sure the section is part of the program headers. This is
needed for instance with relocatable stages to know how much memory the
program will use.

Although the BFD linker makes some good guesses making this a NOOP,
other linkers like LLD need to mark these sections more explicitly.

Change-Id: Ic14543ba580abe7a34c69bba714eae8cce504977
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80803
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
2024-03-05 21:22:59 +00:00
ee1cb8f463 mb/emulation/qemu-riscv: Change to -bios option
This changes the virt target so that it can be run with the -bios option
and a pflash backend for the flash. QEMU can now be run as follows:

qemu -M virt -m 1G -nographic -bios build/coreboot.rom \
        -drive if=pflash,file=./build/coreboot.rom,format=raw

coreboot will start in DRAM, but still have a flash to put CBFS onto and
to load subsequent stages and payload from.

Tested bootflow:
coreboot -> OpenSBI -> Linux -> u-root

Signed-off-by: Maximilian Brune <maximilian.brune@9elements.com>
Change-Id: I009d97fa3e13068b91c604e987e50a65e525407d
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80746
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: ron minnich <rminnich@gmail.com>
Reviewed-by: Philipp Hug <philipp@hug.cx>
2024-03-05 18:57:29 +00:00
3304c1cbad mb/asus/p8x7x-series: Revert to native max_mem_clock_mhz of 800
The setting was reduced to 666 for native raminit in commit
7039edd2da (SNB+MRC boards: Migrate MRC settings to
devicetree) based on boot test results at the time.

With more changes merged, additional native raminit tests were
done on p8z77-m. It is now possible for previously failing
memory configurations to operate at full speed. This, combined
with multiple reports on gerrit that this family does work at
800, warrants returning the setting to what it was.

Change-Id: I1fbe9c8d076fcd633f71424d60585681c40677c4
Signed-off-by: Keith Hui <buurin@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/79726
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-05 16:57:01 +00:00
12756e6794 Revert "vc/intel/edk2: Remove edk2-stable202111 support"
This reverts commit b5f6320c69.

ADL-N FSP uses 202111 Edk2. There are structure definition changes
between 202005 and 202111. One of change is in FSP_INFO_HEADER structure.
This patch is to bring back support of edk2-stable202111.

BUG=b:296433836
TEST=Able to build google/crassk.

Change-Id: Id1d3e2c5b368a479e637f3ab3d18e242607849ed
Signed-off-by: Ronak Kanabar <ronak.kanabar@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80273
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2024-03-05 14:06:34 +00:00
1b53eb1077 ec/google/chromeec: Enclose Kconfig in 'if/endif' block
Instead of having things depend on EC_GOOGLE_CHROMEEC, just put an if/
endif block around the configs.

The 'source' line stays outside of the if block because the source
always happens, even if it's inside an if/endif block. Each of the
sub-Kconfigs here already has an if/endif block surrounding the
contents.

Signed-off-by: Martin Roth <gaumless@gmail.com>
Change-Id: If88ba7d36ae04d879332037292c5cf9a3c8c3cab
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81025
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Caveh Jalali <caveh@chromium.org>
2024-03-05 14:04:51 +00:00
cc5cef633d mb/google/brya/var/xol: Add VGPIO configurations for PEG60
Add VGPIO configurations for NVMe on PEG60.

BUG=b:326481458, b:372086400
BRANCH=firmware-brya-14505.B
TEST=Verified DUT could detect NVMe.
     Install ChromeOS into NVMe and boot from it.

Change-Id: I5520dc2a4bf6e788701a774674d223b7e8ad5b44
Signed-off-by: Seunghwan Kim <sh_.kim@samsung.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81033
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-03-05 14:04:29 +00:00
735524529a mb/google/nissa/var/gothrax: Add probe and GPIO config for touchpanel
Add FW_CONFIG probe to separate touch panel settings.
  TOUCH_PANEL_ENABLE/TOUCH_PANEL_DISABLE
Use different gpio tables based on the value of TOUCH_PANEL.

BUG=b:325987249
TEST=emerge-nissa coreboot and run in DUT

Change-Id: I23c62406a932815ff1cfafe05b70468b1f9cca54
Signed-off-by: Yunlong Jia <yunlong.jia@ecs.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80850
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Kyle Lin <kylelinck@google.com>
2024-03-05 11:58:26 +00:00
809d8c5d28 soc/intel/xeon_sp: Drop unused helper functions
Change-Id: Ib319643f6b0b91d8c5854da531e035d333f04d75
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80143
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-05 11:27:36 +00:00
47e6882891 soc/intel/xeon_sp: Drop code to locate the UBOX bus
Drop the code to retrieve the UBOX bus numbers. Only keep
a minial function that works when called from socket0 to retrieve
the bus for UBOX(1).

Change-Id: I2b18f02f62b69ec7c73cd5665102cb6bfc6e64b5
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80102
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
2024-03-05 11:26:58 +00:00
6cb6bfff38 soc/intel/xeon_sp/util: Enhance lock_pam0123
- Only compile code in ramstage
- Lock PAM on all sockets
- Instead of manually crafting S:B:D:F numbers for each PCI device
  search for the devices by PCI vendor and device ID.

This adds PCI multi-segment support without any further code
modifications, since the correct PCI segment will be stored in the
devicetree.

Change-Id: Ic8b3bfee8f0d02790620280b30a9dc9a05da1be8
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80101
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
2024-03-05 11:24:38 +00:00
3b0d573dc2 soc/intel/cmn/cse: Deprecate CONFIG_SOC_INTEL_CSE_RW_VERSION
This patch marks CONFIG_SOC_INTEL_CSE_RW_VERSION as deprecated, as
future platforms will automatically determine the CSE RW version using
CSE RW partition.

BUG=b:327842062
TEST=CSE RW update successful on Screebo.

Change-Id: I8c3e5c759e4d9a43c3bce3a0c032086f17592a67
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80924
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Dinesh Gehlot <digehlot@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
2024-03-05 10:17:22 +00:00
cac81cd120 vc/google/chromeos: Implement dynamic ChromeOS boot logo selection
* Introduces logic to display context-specific boot splash logos.
* Logo selection considers:
    * Chromebook-Plus hardware compliance (using factory_config).
    * VPD-based product segmentation (soft-branded vs. regular
      chromebook).
    * Default Chromebook logo as fallback for regular Chromebook.

This patch fixes the problem where existing logic was unable to pick
correct ChromeOS boot splash logo based on the product segmentation.

Relation between product segment and boot splash screen:

1. Chromebook-Plus Hard-branded device: Renders "cb_plus_logo.bmp" logo
2. Chromebook-Plus Soft-branded device: Renders "cb_plus_logo.bmp" logo
3. Regular Chromebook device: Renders "cb_logo.bmp"

BUG=b:324107408
TEST=Verified logo selection based on compliance and product
requirements.

Change-Id: I9bb1e868764738333977bd8c990bea4253c9d37b
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80738
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Dinesh Gehlot <digehlot@google.com>
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2024-03-05 10:17:08 +00:00
dc073ca75c drivers/vpd: Add vpd_get_feature_level() API
This patch introduces the vpd_get_feature_level() API to specifically
extract the "feature_level" field from the "feature_device_info" VPD
key.

This is used to distinguish between Chromebook-Plus and regular
Chromebook devices.

The previous vpd_get_feature_device_info() API is removed as
vpd_get_feature_level() is enough to find VPD and extract the data.

Note: The new API decodes the base64-encoded "feature_device_info" VPD
data.

BUG=b:324107408
TEST=Able to build and boot google/rex0.

Change-Id: I76fc220ed792abdfefb0b1a37873b5b828bfdda8
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80805
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Dinesh Gehlot <digehlot@google.com>
Reviewed-by: Eric Lai <ericllai@google.com>
2024-03-05 10:17:00 +00:00
3266dcbff0 mb/google/brya/var/dochi: Add wifi sar table
Add wifi sar table for dochi

BUG=b:326137130
BRANCH=firmware-brya-14505.B
TEST=emerge-brya coreboot chromeos-bootimage

Change-Id: Iaf90756eb318bef1ffcda9368a976c0ca209a100
Signed-off-by: Morris Hsu <morris-hsu@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80809
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Bob Moragues <moragues@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-03-05 02:49:22 +00:00
8e365396d4 riscv/mb/qemu: fix DRAM probing
Current version of qemu raise an exception when accessing invalid
memory.  Modify the probing code to temporary redirect the exception
handler like on ARM platform.
Also move saving of the stack frame out to trap_util.S to have all at
the same place for a future rewrite.

TEST=boots to ramstage
Change-Id: I25860f688c7546714f6fdbce8c8f96da6400813c
Signed-off-by: Philipp Hug <philipp@hug.cx>
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/36486
Reviewed-by: ron minnich <rminnich@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-04 23:43:46 +00:00
f3ae0f0cfb mb/google/guybrush: turn off SD ASPM L1.1/L1.2
Turn off SD ASPM L1.1/L1.2 as w/a for wlan DMA resume failure

We completed 4 runs for each of the 2 tests - power_idle and power_VideoCall. Here are the averages for both the tests:

L1ss disabled SD plugged power idle test: 735.3875
L1ss enabled SD plugged power idle test: 737.2335

L1ss disabled SD plugged power video test: 333.29325
L1ss enabled SD plugged power video test: 333.442


BUG=b:254382832
TEST=test pass over 10k cycles

Signed-off-by: Jason Nien <finaljason@gmail.com>
Change-Id: I4d903f0f6333ffa18069e42be3c932aeae8013d9
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80237
Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-04 23:12:22 +00:00
59495c929b LinuxBoot/targets/u-root.mk: Correct config for UROOT_ARCH
The using config string for amd64 as UROOT_ARCH contains typo

Correct using CONFIG_LINUXBOOT_X86_64

BUG = N/A
TEST = Build boot facebook monolith

Change-Id: I6cfefb3f8e4e61bd56ca0fe3239000db8c07b088
Signed-off-by: Frans Hendriks <fhendriks@eltan.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/77605
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-04 23:08:14 +00:00
fa97970e85 payloads/depthcharge: Add DEPTHCHARGE_REPO and DEPTHCHARGE_BRANCH
Move hard-coded repo and repo name to Kconfig as default value

DEPTHCHARGE_REPO default to:
https://chromium.googlesource.com/chromiumos/platform/depthcharge

DEPTHCHARGE_BRANCH default to:
origin/main

When DEPTHCHARGE_MASTER=y, DEPTHCHARGE_BRANCH can be used to point
out a particular branch.

This change enable to use mirrored internal depthcharge repo and
branch for early SOC development (before upstreaming SOC and
dephthcharge code).

TEST=Build coreboot and check the repo remote link from:
payloads/external/depthcharge/depthcharge

Signed-off-by: Cliff Huang <cliff.huang@intel.com>
Change-Id: Icca10aa770b7b7a6e010f58bcf1e4f0a3401681a
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80726
Reviewed-by: Bora Guvendik <bora.guvendik@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Wonkyu Kim <wonkyu.kim@intel.com>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Zhixing Ma <zhixing.ma@intel.com>
2024-03-04 22:47:08 +00:00
d6850f3109 payloads/LinuxBoot: Build the linux kernel with -j $(CPUS)
Build the Linux kernel with the same amount of jobs as coreboot.

Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Change-Id: Ie7af5aef4560b8d4dd840d9c578f8a2a4c387400
Reviewed-on: https://review.coreboot.org/c/coreboot/+/78644
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
Reviewed-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
2024-03-04 22:36:27 +00:00
2fa8caba50 lib/ramdetect: Limit probe size to function argument
This avoids probing above the function argument where other things than
DRAM could be mapped.

Change-Id: Ie7f915c6e150629eff235ee94719172467a54db2
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68842
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: ron minnich <rminnich@gmail.com>
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
2024-03-04 22:15:53 +00:00