55973 Commits

Author SHA1 Message Date
Shuo Liu
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
Ronald G Minnich
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
Felix Held
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
Felix Held
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
Zheng Bao
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
Zheng Bao
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
Zheng Bao
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
Patrick Rudolph
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
Daniel Peng
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
Ronald G Minnich
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
Alicja Michalska
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
Alicja Michalska
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
Shuo Liu
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
Martin Roth
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
Arthur Heymans
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
Arthur Heymans
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
Maximilian Brune
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
Keith Hui
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
7039edd2da30 (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
Ronak Kanabar
12756e6794 Revert "vc/intel/edk2: Remove edk2-stable202111 support"
This reverts commit b5f6320c694766d10023fe8f5183c9c143441b2b.

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
Martin Roth
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
Seunghwan Kim
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
Yunlong Jia
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
Patrick Rudolph
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
Patrick Rudolph
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
Patrick Rudolph
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
Subrata Banik
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
Subrata Banik
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
Subrata Banik
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
Morris Hsu
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
Philipp Hug
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
JasonNien
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
Frans Hendriks
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
Cliff Huang
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
Arthur Heymans
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
Arthur Heymans
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
Elyes Haouas
b6efe17137 arch/x86/Kconfig: Deduplicate ARCH_SUPPORTS_CLANG selection
Change-Id: Iced69e0bce345748a43eb1c14bf17a683e26ba60
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81020
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
2024-03-04 18:25:31 +00:00
Mate Kukri
13e2042ff5 mb/dell: Add OptiPlex 7020/9020 port
The OptiPlex 7020 and 9020 use physically identical motherboards.

WARNING: PWM fan control doesn't work via the EC and the fan runs at a
fixed speed. There is likely more EC init to reverse engineer.

Each model comes in the following form factors:
- 7020: SFF, MT
- 9020: USFF (not currently supported), SFF, MT

(7020 SFF) Boots Linux and Windows 10:
- Tested with an i3-4160 and i5-4460
- DRAM init works using the MRC (4G, 4G+4G)
- iGPU init works using libgfxinit (VGA, 2x DP)
- PCIe 16x: tested, ok
- PCIe 4x: tested, ok
- All USB2 and USB3 ports work
- SMSC SCH5555 Super I/O: serial works, PS/2 untested
- Audio: back and front output works, internal speaker works,
         mic inputs untested
- Ethernet: tested, works

(9020 MT)
- Tested by Michael Büchler (thanks for the overridetree)

Change-Id: Ie7c7089f443aef9890711c4412209bceb1f1e96a
Signed-off-by: Mate Kukri <kukri.mate@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/55232
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nicholas Chin <nic.c3.14@gmail.com>
2024-03-04 18:24:40 +00:00
Leah Rowe
1e2821882f nb/haswell: Disable iGPU when dGPU is used
This is usually is handled by Haswell mrc.bin, disabling VGA
decode on the iGPU when a dGPU is installed. However, Broadwell
mrc.bin does not, so the iGPU and dGPU are both enabled.

This patch disables legacy VGA cycles for iGPU, under such
conditions. It has been tested on Broadwell mrc.bin when
using a graphics card on Dell OptiPlex 9020 SFF (currently
under review at this time of writing, submitted by Mate
Kukri).

This patch has also been tested when Haswell mrc.bin is used,
and there are seemingly no breaking changes caused by it.

Change-Id: I1df0a3aa42f8475b7741007bf3e28c2e089d916b
Signed-off-by: Leah Rowe <info@minifree.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80717
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2024-03-04 15:22:21 +00:00
Kapil Porwal
787b2b44af mb/google/brya: Enable CSE telemetry for ADL-N
BUG=none
TEST=Verify CSE telemetry data in boot time data on Yahiko.

Before:
```
yahiko-rev9 ~ # cbmem -t
71 entries total:

   0:1st timestamp                                     197,583 (0)
```

After:
```
yahiko-rev9 ~ # cbmem -t
76 entries total:

 990:CSME ROM started execution                        0
 944:CSE sent 'Boot Stall Done' to PMC                 49,000
 945:CSE started to handle ICC configuration           49,000 (0)
 946:CSE sent 'Host BIOS Prep Done' to PMC             51,000 (2,000)
 947:CSE received 'CPU Reset Done Ack sent' from PMC   168,000 (117,000)
   0:1st timestamp                                     195,861 (27,861)
```

Signed-off-by: Kapil Porwal <kapilporwal@google.com>
Change-Id: I3f90d0462cb766655bf8e59a90bc550ceefb2256
Reviewed-on: https://review.coreboot.org/c/coreboot/+/79768
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-04 15:13:39 +00:00
Tim Crawford
b1ed9f4f87 mb/system76/adl,rpl: Add 50ms timeout for PCIe 3.0 RPs
The FSP may fail to detect PCIe 4.0 devices in PCIe 3.0 slots on S3
resume. This issue has only been experienced on lemp12, and only with
Samsung drives, but implies it could happen on other systems or with
other drives as well. A timeout of 50ms is arbitrarily chosen.

Tested on lemp12 with Samsung 980 PRO (FW: 3B2QGXA7, 5B2QGXA7) and 990
PRO (FW: 4B2QJXD7) drives.

Change-Id: I4f44fc429c52e407b7566d6bb6dd31b2cf85c48d
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80756
Reviewed-by: Jeremy Soller <jeremy@system76.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-04 14:54:09 +00:00
Tim Crawford
a78388508c mb/system76/adl: Remove duplicate PchHdaAudioLinkHdaEnable
This UPD is hooked up in devicetree since commit 854bd492fcfa
("mb/{system76,msi}: Enable PchHdaAudioLinkHdaEnable via devicetree").

As these boards were in development when the change happened, they still
had the UPD set via romstage. Remove them now so they are only set in
devicetree.

Change-Id: I393e2c7b0134a31feae20f8992d7fd447ff7ee59
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80755
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jeremy Soller <jeremy@system76.com>
2024-03-04 14:53:42 +00:00
Tim Crawford
daa4fb2ca2 mb/system76/adl,rpl: Enable PchHdaSdiEnable
Commit 4a58d14506ef ("soc/intel/alderlake: Hook up UPD PchHdaSdiEnable")
and commit 2d482386182e ("soc/intel/alderlake: Set PchHdaSdiEnable for
Alder Lake") hooked up this UPD in devicetree, causing the FSP default
to be overridden (now disabled by default).

Enable SDI to fix the following error:

    [DEBUG]  PCI: 00:00:1f.3 init
    [DEBUG]  azalia_audio: base = 0xbfbcc000
    [DEBUG]  azalia_audio: No codec!
    [DEBUG]  PCI: 00:00:1f.3 init finished in 5 msecs

Tested on gaze17-3050: Speaker output works again.

Change-Id: Iceac1faec939ce9eea68c335929f96ec5f2bd132
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80754
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Jeremy Soller <jeremy@system76.com>
2024-03-04 14:53:18 +00:00
Dan Campbell
8b495c2706 mb/system76/rpl: Add TCSS ACPI for all boards
Fixes ACPI errors about missing methods:

    ACPI BIOS Error (bug): Could not resolve symbol [_SB.PCI0.TDM0], AE_NOT_FOUND (20230628/dswload2-162)
    ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20230628/psobject-220)
    ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0010)
    ACPI BIOS Error (bug): Could not resolve symbol [_SB.PCI0.TRP0], AE_NOT_FOUND (20230628/dswload2-162)
    ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20230628/psobject-220)

Tested on lemp12: ACPI errors in dmesg are gone.

Change-Id: I9b79cb04f57a27af2a6c8f3118e573f7ac0041e5
Signed-off-by: Dan Campbell <dan@compiledworks.com>
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80791
Reviewed-by: Jeremy Soller <jeremy@system76.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-04 14:52:35 +00:00
poornima tom
d45f6ea35f mb/google/brox: Update Verbtable for beep functionality
For boot beep functionality, relevant register values are
required to be updated.

BUG=b:324528901
BRANCH=None
TEST=Build & verified Boot Beep functionality on Brox

Change-Id: If236c8ac173a279db676af412377fa4e4122c1cd
Signed-off-by: poornima tom <poornima.tom@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80416
Reviewed-by: Krishna P Bhat D <krishna.p.bhat.d@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-04 14:51:44 +00:00
Zheng Bao
92a9d93144 amdfwtool: Move the functions to handle_file.c
Change-Id: I4cfec13cbc2a86dc352758541cce915a838e0d0f
Signed-off-by: Zheng Bao <fishbaozi@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/78305
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-04 14:50:53 +00:00
Zheng Bao
80b853e626 amdfwtool: Remove the function's dependency to ctx
This is for next CL to move the write_body to another source,
handle_file.c.
https://review.coreboot.org/c/coreboot/+/78305

Removing amdfwtool_cleanup in write_body will not change the
result. Write_body returns to main and amdfwtool_cleanup still ends up
getting called.

Change-Id: I639828498fa45911f430500735e90ddc198b6af5
Signed-off-by: Zheng Bao <fishbaozi@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/78304
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-04 14:50:44 +00:00
Subrata Banik
bcdbb44805 soc/intel/cmn/cse: Use CSE RW partition version directly for CBFS entry
This patch automates the process of determining the CSE RW version used
for the CBFS entry, eliminating the need for manual configuration in
CONFIG_SOC_INTEL_CSE_RW_VERSION.

How to get CSE RW Version:
1. Open CSE RW file as per CONFIG_SOC_INTEL_CSE_RW_FILE
2. Read offset 16 (0x10) to know the CSE version
3. Format:
   - CSE_VERSION_MAJOR : offset 16-17
   - CSE_VERSION_MINOR : offset 18-19
   - CSE_VERSION_HOTFIX: offset 20-21
   - CSE_VERSION_HOTFIX: offset 22-23

Benefits:
 - Removes error-prone manual version updates.
 - Prevents boot loops due to mismatched CSE RW versions (actual vs config)
 - Eliminates the need for SKU-specific CSE version limitations.

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

Example Debug Output:

[DEBUG]  cse_lite: RO version = 18.0.5.2066
[DEBUG]  cse_lite: RW version = 18.0.5.2107

Change-Id: I0165d81b0e4b38e0e097956f250bb7484d774145
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80923
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-04 13:34:03 +00:00
Seunghwan Kim
4efd2e3aae mb/google/brya/var/xol: Update NVMe clock source index to 0
Change ClkSrc index for NVME to 0 from 1 by referring to proto2
schematics.

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

Change-Id: I7ea1cd7d8e16d4cee953e931d2f1829eae7d1978
Signed-off-by: Seunghwan Kim <sh_.kim@samsung.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80768
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-03-04 02:57:30 +00:00
ron minnich
b44a388821 Revert "Revert "mb/sifive: Add Hifive Unmatched mainboard""
This reverts commit ec7b48076009cfe82e5ee91050f5fc66c4850193.

Reason for revert: <Reland>

I made the commit out of order with the fu740 commit; that's now
merged so there should be no problem.

Signed-off-by: ron minnich <rminnich@gmail.com>

Change-Id: I2fb8c2e0a7fcd5f26f4a004e0949332b108b6fcf
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81052
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-by: ron minnich <rminnich@gmail.com>
2024-03-03 22:57:54 +00:00
Maximilian Brune
2ccb8e7891 soc/sifive/fu740: Add FU740 SOC
Signed-off-by: Maximilian Brune <maximilian.brune@9elements.com>
Change-Id: I4a8fe02ef0adcb939aa65377a35874715c5ee58a
Reviewed-on: https://review.coreboot.org/c/coreboot/+/76689
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: ron minnich <rminnich@gmail.com>
2024-03-03 21:20:03 +00:00