Commit graph

58,090 commits

Author SHA1 Message Date
Jarried Lin
e1bfeeab41 soc/mediatek/common: Increase DEV_MEM memory range to 16GB
Map a proper DRAM range for memory test during calibration.

TEST=memory test passed on Rauru
BUG=b:317009620

Signed-off-by: Jarried Lin <jarried.lin@mediatek.corp-partner.google.com>
Change-Id: I06f31ef14715897ba889076d78b8c2d015dd08ef
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85035
Reviewed-by: Yidi Lin <yidilin@google.com>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-11 07:01:37 +00:00
Kapil Porwal
80a53a8e5a mb/google/var/riven: Optimize the stop delay for touchsreen
Reduce stop delay for touchscreen based on the latest spec (EKTH6915
Product Spec_V1.0). This will optimize the touch response time to keep
the S0ix resume time under 500ms.

BUG=b:378012214
TEST=Verify improvement in resume time on Riven.

Change-Id: Id7dcbc393bfae9bb62b5700bb9042a543152e968
Signed-off-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85039
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-11 04:59:26 +00:00
Jarried Lin
6131d7745c soc/mediatek/mt8196: Increase bootblock size from 70KB to 75KB
Increase the bootblock size to support TPM.

TEST=Build pass
BUG=b:317009620

Change-Id: I11fb505790a85d967032d48d9aa18e22f525a2e5
Signed-off-by: Jarried Lin <jarried.lin@mediatek.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85043
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yidi Lin <yidilin@google.com>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
2024-11-11 03:20:12 +00:00
Anil Kumar
b604d417d5 soc/intel/pantherlake: Update SAF base address
BUG=b:357011633
TEST=build and boot coreboot image on Google/Fatcat board.

Change-Id: I14fa8cf06144f46369cc8cab6087c790280e9859
Signed-off-by: Anil Kumar <anil.kumar.k@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84863
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-11-11 02:45:51 +00:00
Nicholas Sudsgaard
88974d3094 mb/hardkernel/odroid-h4: Correct number of jacks in hda_verb.c
This was found due to the `_Static_assert()` from CB:84360 failing.

Change-Id: I401e94b107612f8b7e8a73b3dbc12d7a5227ef01
Signed-off-by: Nicholas Sudsgaard <devel+coreboot@nsudsgaard.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85076
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
2024-11-10 22:19:35 +00:00
Jeremy Compostella
cd3a2c9843 mb/google/fatcat: Fix typo and missing carriage return character
Change-Id: I2b5042795acee3e261765ca4c392d15ef7f5ca96
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85020
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
2024-11-10 22:07:50 +00:00
Nicholas Chin
1a02eb7c34 device/device.h: Remove static.h include
As per commit 8651731537 ("sconfig: Move config_of_soc from device.h
to static.h") and commit 05a13e7ed9 ("sconfig: Move (WEAK_)DEV_PTR
from device.h to static.h"), sources that require access to the
devicetree should directly include static.h. This allows static.h to be
removed from device.h, eliminating many unnecessary dependencies on the
devicetree for objects that only need the device types and function
declarations.

Now that static.h has been included throughout the tree where necessary,
it can be removed from device.h.

Change-Id: Ie72840c71ffca2ada82456dda6a2c813f6a6c3ad
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84590
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2024-11-10 19:12:30 +00:00
Nicholas Chin
05765c8951 tree: Include static.h for remaining devicetree usages
As per commit 8651731537 ("sconfig: Move config_of_soc from device.h
to static.h") and commit 05a13e7ed9 ("sconfig: Move (WEAK_)DEV_PTR
from device.h to static.h"), sources that use code generated from the
devicetree should directly include static.h. This allows static.h to be
removed from device.h, eliminating many unnecessary dependencies on the
devicetree for objects that only need the device types and function
declarations.

Add static.h to the includes of all remaining files that require static
devicetree access through config_of_soc(), the sconfig generated names,
or DEV_PTR().

Change-Id: I1d35ff2ac22f9ff5e0aa38b7ad707619e50387f3
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84591
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2024-11-10 19:12:22 +00:00
Nicholas Chin
93b4268fb7 mb/google/*: Explicitly include static.h for DEV_PTR
As per commit 05a13e7ed9 ("sconfig: Move (WEAK_)DEV_PTR from device.h
to static.h"), sources that require access to devicetree static devices
should directly include static.h. This allows static.h to be removed
from device.h, eliminating unnecessary dependencies on the devicetree
for objects that only need the device types and function declarations.

The DEV_PTR macro resolves to names declared in static_devices.h, which
is then included in static.h, so include the header whenever the macro
is used.

Change-Id: I05662e601af00866b7f26f4c6c6794b491bf676e
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84678
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Jayvik Desai <jayvik@google.com>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-10 19:12:06 +00:00
Nicholas Chin
7b466fb60b soc/*: Explicitly include static.h for DEV_PTR
As per commit 05a13e7ed9 ("sconfig: Move (WEAK_)DEV_PTR from device.h
to static.h"), sources that require access to devicetree static devices
should directly include static.h. This allows static.h to be removed
from device.h, eliminating unnecessary dependencies on the devicetree
for objects that only need the device types and function declarations.

The DEV_PTR macro resolves to names declared in static_devices.h, which
is then included in static.h, so include the header whenever the macro
is used.

Change-Id: Ie281e9a9c015b19bfc96b83021a6e3afd98abcc3
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84677
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Jayvik Desai <jayvik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-10 19:11:48 +00:00
Nicholas Chin
05a13e7ed9 sconfig: Move (WEAK_)DEV_PTR from device.h to static.h
Similar to commit 8651731537 ("sconfig: Move config_of_soc from
device.h to static.h"), move these macros to static.h to separate
dependencies on device.h and static.h. These macros resolve to device
alises that are declared in the generated static_devices.h header, so
move them to static.h which includes static_devices.h.

Since static.h remains included in device.h, any source that uses these
macros should still compile correctly. Subsequent commits will add
static.h to files that need them, after which static.h can be dropped
from device.h.

Change-Id: I1c76ad749769591da9c102b11eb618e93b68bd7c
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84676
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
2024-11-10 10:35:44 +00:00
Nicholas Chin
2834090e99 soc/intel/mtl to xeon_sp: Explicitly include static.h for config_of_soc
As per commit 8651731537 ("sconfig: Move config_of_soc from device.h
to static.h"), sources that require access to the devicetree should
directly include static.h so that it can be removed from device.h,
eliminating unnecessary dependencies on static.h for files that only
need the types and function declarations in device.h.

Change-Id: I3c118a707dfe7bb8932606f30eae52ef0b4c9efe
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84609
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
2024-11-10 10:35:35 +00:00
Yuchi Chen
f8d4283e78 arch/x86: Define macros for hard-coded HPET registers
HPET General Capabilities and ID Register at offset 0x0 and Timer 0
Configuration and Capability Register at offset 0x100 are used to
determine the generation of HPET ACPI tables. This patch adds
macro definitions for these registers and fields. Definitions are
from IA-PC HPET (High Precision Event Timers) Specification Revision
1.0a.

Change-Id: I31413afcbfc42307e3ad3f99d75f33f87092d7aa
Signed-off-by: Yuchi Chen <yuchi.chen@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84252
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-09 10:21:25 +00:00
Yuchi Chen
60771bfdb1 soc/intel/common/block/imc: Add Integrated Memory Controller driver
Intel common IMC contains an embedded SMBus controller for SPD data
access. This patch implements IMC based SPD access supports through
MMIO.

Register definitons are from Intel Atom Processor C5100, C5300, P5300
and P5700 Product Families EDS, doc No. 575160 rev 2.0.

Change-Id: I3f47ddeda94d3882852d64c0052f8fb42b6b7ad2
Tested-by: Yuchi Chen <yuchi.chen@intel.com>
Signed-off-by: Yuchi Chen <yuchi.chen@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83320
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
2024-11-09 10:21:17 +00:00
Yuchi Chen
7a7b4f05fc include/spd_bin.h: Add SPD IO layer
By default, PCH SMBus codes will be called to retrieve SPD data. This
patch adds a SPD IO layer so that SoC could implement its specific SPD
IO layer functions such as using Integrated Memory Controller to get
SPD data.

Change-Id: I656298aeda409fca3c85266b5b8727fac9bfc917
Signed-off-by: Yuchi Chen <yuchi.chen@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84201
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-09 10:19:38 +00:00
Yuchi Chen
031c078e86 include/device/pci_def.h: Add PCIe SRIOV definitions
Add SRIOV related definitions from section 9.3 of PCI Express Base
Specification Revision 6.2.

Change-Id: Ic4bf76b0e3b20e3d04e8264c6530ab4abb95a013
Signed-off-by: Yuchi Chen <yuchi.chen@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83319
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
2024-11-09 10:19:28 +00:00
Yuchi Chen
239f7f7408 soc/intel/common/systemagent_server: Add server platform system agent
Intel server processors have a different system agent design, it has
some differences with client platform such as (1) no BDSM and BGSM
registers; (2) different alignment size and bit fields in TOLUD,
TOUUD and TSEG registers. Thus this patch adds a new common block for
server platform system agent.

Change-Id: If32c2a6524c9d55ce7f9c3dd203bcf85cab76c2c
Signed-off-by: Yuchi Chen <yuchi.chen@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83318
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
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>
2024-11-09 10:18:50 +00:00
Subrata Banik
7101c166fa mb/google/fatcat: Add ISH support with FW_CONFIG toggle
This patch adds support for the Integrated Sensor Hub (ISH) on the
Fatcat mainboard.

ISH can be enabled or disabled via FW_CONFIG bit 24. This allows for
flexible configuration depending on the system requirements.

The GPIO configuration for ISH is also updated based on CBI settings,
ensuring correct initialization and communication.

Verified that the device tree correctly probes ISH based on the
FW_CONFIG setting:

*   FW_CONFIG with bit 24 set: ISH is probed successfully.
*   FW_CONFIG with bit 24 cleared: ISH is not probed.

BUG=b:370984186
TEST=Verified ISH probing behavior with different FW_CONFIG settings
using CBI.

Change-Id: I1a9734139a49be982a7dd43d5afd92e7fea6b29c
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84998
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2024-11-09 06:50:46 +00:00
Matt DeVillier
cfe1e921dd util/crosfirmware: Add support for parsing from manifest.json
Some ChromeOS recovery images, such as for GRUNT, support multiple
boards / multiple bios/ec images, but do not break them out in a
'models' subdirectory like modern recovery images do. Instead,
they use a manifest.json to map the board name to the correct
bios/ec images. Add support for parsing out the info from here.

TEST=run `util/chromeos/crosfirmware.sh kasumi` and verify
that the correct shellball firmware is extracted from the recovery
image.

Change-Id: I64153ba16cb8328d65a0f088d05f04a969f6810f
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85024
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
2024-11-08 19:22:37 +00:00
Jamie Ryu
7e0c771c50 soc/intel/pantherlake: Update power limits config
This updates power_limits_config for Panther Lake U and H.

Source:
  Intel PTL PDG 813278
  Intel PTL FSP Power limit profiles table

BUG=b:357011633
TEST=Build fatcat and boot with Panther Lake SoC and RVP.

Change-Id: I1b9276af7f1e30b1cda3d8c016524fd6397fa4b2
Signed-off-by: Jamie Ryu <jamie.m.ryu@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85006
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Wonkyu Kim <wonkyu.kim@intel.com>
2024-11-08 19:10:01 +00:00
Jamie Ryu
89e6640bf9 device/pci_ids, soc/intel/pantherlake: Add new PTL-H DID0
This patch adds new DID0 PCI device IDs for Intel PTL-H.

Additionally, updates the System Agent driver's `systemagent_ids`
list and Panther Lake SoC bootblock to support these new IDs.

Source: Intel PTL-FAS. Document Number 812562

BUG=b:347669091
TEST=Build fatcat and boot with Panther Lake SoC with newly added
MCH ID.

With patch, coreboot log:
`[DEBUG]  MCH: device id b004 (rev 00) is Pantherlake H`
`[DEBUG]  MCH: device id b00a (rev 00) is Pantherlake H`

Change-Id: I56e795696f661d88828d7549f856eee19c46c942
Signed-off-by: Jamie Ryu <jamie.m.ryu@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84916
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Wonkyu Kim <wonkyu.kim@intel.com>
2024-11-08 19:09:55 +00:00
Yidi Lin
84527cbb96 mb/google/rauru: Enable ChromeOS EC
1. Configure ChromeOS EC
2. Pass GPIO_EC_AP_INT_ODL to the payload

TEST=build pass
BUG=b:317009620

Change-Id: I20828eee93975e75dfb777fe29d5e1c3454b5059
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84931
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Reviewed-by: Yidi Lin <yidilin@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
2024-11-08 07:38:30 +00:00
Liya Li
4c96f14b3d soc/mediatek/mt8196: Add SPI driver support
Add SPI controller driver code with support for 8 buses (SPI0 to SPI7).

Test=Build pass, verify the wavefroms for SPI0~7 are correct.
BUG=b:317009620

Change-Id: I10dd1105931c4911ce5257803073b7af76115c75
Signed-off-by: Liya Li <ot_liya.li@mediatek.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84930
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Reviewed-by: Yidi Lin <yidilin@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-08 07:38:24 +00:00
Guangjie Song
946b2556f9 soc/mediatek/mt8196: Add PLL and clock init support
Add PLL and clock init code, frequency meter and APIs for raising
little CPU frequency and set tvdpll frequency.

TEST=build pass and driver init ok
BUG=b:317009620

Signed-off-by: Guangjie Song <guangjie.song@mediatek.corp-partner.google.com>
Change-Id: Icac99fb210c87c8b7b14af627fbd2f14e4c47240
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84495
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Reviewed-by: Yidi Lin <yidilin@google.com>
2024-11-08 07:37:29 +00:00
Patrick Rudolph
352d06451b soc/intel/xeon_sp: Reduce stack usage by 18KiB
Reduce stack usage of acpi_fill_srat_memory() by 18KiB.

Directly write the SRAT table entries instead of using a temporary
buffer on the stack.

FIXES: Crash on ocp/tiogapass when writing SRAT table
TEST: Still boots on intel/archercity_crb

Change-Id: I91a6787ade8b465da7837b241c0aab00251f7de4
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84832
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-08 07:34:47 +00:00
Patrick Rudolph
6cdcd3f07d soc/intel/common: sata: Opt out in sata_acpi_fill_ssdt() when not named
When soc_acpi_name() returns NULL do not create the AML code.

This prevents errors on the OS side when it tries to parse the AML
code and doesn't find a name string for the device:

ACPI Warning: Invalid character(s) in name (0x44415F08), repaired: [*_AD]

Change-Id: I72225a975663a1028283437cac3b9231b7c77ead
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84830
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-11-08 07:34:33 +00:00
Lu, Pen-ChunX
bc1e422665 soc/intel/xeon_sp: Create SSDT for Gen6 LPC controller
In coreboot, LPC ACPI objects with its attached devices are
usually provided by static DSDT. For Xeon-SP Gen6 LPC, its logical
attached devices are created from dynamic SSDT (e.g. super IO).
Create a simple SSDT for LPC in dynamic way as well to complete
the device relationship chain.

Fix below issues during Linux OS boot. The issue will block
Windows OS boot as well.

[   22.986142] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.DI00.LPCB], AE_NOT_FOUND (20230628/dswload2-162)
[   22.986792] ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20230628/psobject-220)
[   22.987786] ACPI: Skipping parse of AML opcode: Scope (0x0010)

Change-Id: I08543fc77f0f3e633b05889e921c5183e6e20d8e
Signed-off-by: Lu, Pen-ChunX <pen-chunx.lu@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84842
Reviewed-by: Martin L Roth <gaumless@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-08 07:22:16 +00:00
Shuo Liu
9c7ce22de9 soc/intel/xeon_sp/gnr: Enable IRQ routing
Enable IRQ routing per PCH IRQ usage convention and report domain
_PRT.

Change-Id: I095c7a302894437c90d854ce4e30467357eee2ba
Signed-off-by: Lu, Pen-ChunX <pen-chunx.lu@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84328
Reviewed-by: Martin L Roth <gaumless@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-08 07:21:57 +00:00
David Wu
2c98b3ad23 mb/google/nissa/var/riven: Configure Acoustic noise mitigation
Follow the power team’s recommendation:
- Enable Acoustic noise mitigation
- Set slow slew rate VCCIA and VCCGT to SLEW_FAST_4
- Set FastPkgCRampDisable VCCIA and VCCGT to 1

BUG=b:376165743
TEST=built firmware and verified by power team,
     the acoustic noise can be improved a lot.

Change-Id: Ia71985ef21d634763fc5ae22e4f611f7f5e9652a
Signed-off-by: David Wu <david_wu@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84908
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Jayvik Desai <jayvik@google.com>
2024-11-08 02:49:04 +00:00
Robert Chen
8d3f419cbc mb/google/dedede/var/drawcia: Enable LTR mechanism for PCIe root port 8
Realtek AX generation IC utilizes LTR-issued latency requests to
optimize WiFi latency and power consumption, it requires host
enabling LTR to meet the design requirement. We enabled the host's
LTR by enabling PCIe root port 8, which met resltek's technical
requirements.

BUG=b:377400590
TEST=Tested on Drawman with RTL8852BE
Use command $ lspci -vv, LTR+ is listed on DevCtl2
BRANCH=firmware-dedede-13606.B

Signed-off-by: Robert Chen <robert.chen@quanta.corp-partner.google.com>
Change-Id: I093951f71e971fe83d61d9fcda8bf16cc5f82ffe
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85011
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-08 01:03:02 +00:00
Karthikeyan Ramasubramanian
0714d5cc8a soc/intel/[tiger|cannon|meteor]lake: Fix uninitialized usb_cfg pointer
This patch addresses uninitialized usb_cfg pointer warning which is also
an error - src/soc/intel/meteorlake/fsp_params.c: error: 'usb_cfg' may
be used uninitialized in this function [-Werror=maybe-uninitialized]

BUG=None
TEST=./util/abuild/abuild for GOOGLE_HATCH, GOOGLE_VOLTEER, GOOGLE_KARIS

Change-Id: I169b6d3a979c4db78e7c0932a126d8b0a9306da7
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85026
Reviewed-by: Jon Murphy <jpmurphy@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Julius Werner <jwerner@chromium.org>
2024-11-07 20:00:39 +00:00
Subrata Banik
1c69877328 soc/intel/cmn/block/cse: Add API to check the current boot partition
This patch introduces an API to check whether CSE is booting from
the RW slot.

This information can be used to determine if a CSE firmware update is
pending, which would help to optimize the boot flow by knowing if any
reset is expected due to CSE sync.

TEST=Able to build google/brox.

Change-Id: I1a63ae9992d83b439a0f995d599ee475f7abd75b
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84995
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
2024-11-07 18:38:51 +00:00
Ronak Kanabar
fdf6114829 soc/intel/alderlake: select Kconfig MRC_CACHE_USING_MRC_VERSION
This patch introduces support for storing the MRC cache based on the
MRC version for RPL platforms. This patch selects the
MRC_CACHE_USING_MRC_VERSION option when client SOC_INTEL_RAPTORLAKE is
chosen.

BUG=b:281846937
TEST=Able to build and boot google/brox and verify MRC version in CBMEM.

Change-Id: I8adf519c7f27b30d69c19f1c37cf410ac8ae54db
Signed-off-by: Ronak Kanabar <ronak.kanabar@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84724
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
2024-11-07 16:25:12 +00:00
Felix Held
c6f60b1ddf drivers/spi/spi_flash: introduce 'spi_flash_cmd_multi'
A following patch that adds some support for reading the serial flash
discoverable parameters (SFDP) data structures needs to send more than
just the one command byte that 'spi_flash_cmd' supports. To be able to
do this, introduce the 'spi_flash_cmd_multi' function which supports
sending multiple bytes before reading back some bytes. The prototype is
added to drivers/spi/spi_flash_internal.h since only other files in the
same directory are supposed to be using that function.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I1f3872463249240c0a32e2825e4302894e856b2e
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84789
Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-07 15:09:48 +00:00
Felix Held
ade5b9dc48 soc/amd/common/psp/rpmc: bring debug output in line with fmap section
Call the PSP RPMC NVRAM 'PSP RPMC NVRAM' instead of 'PSP NVRAM' in the
debug console output to not be misleading, since the RPMC feature uses
the 'PSP_RPMC_NVRAM' fmap section and not the 'PSP_NVRAM' fmap section.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: Ie89dfcfe4b8780f422c222477bb627e03bd3662d
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85007
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
2024-11-07 15:09:40 +00:00
Yang Wu
6327e4f348 mb/google/rauru: Add new board variant Hylia
Add a new Rauru follower 'Hylia'.

BRANCH=rauru
BUG=b:376357839
TEST=emerge-rauru coreboot chromeos-bootimage

Change-Id: I79c4525347fd7b1ecea6df05e1a6b726b78e946f
Signed-off-by: Yang Wu <wuyang5@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84924
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yidi Lin <yidilin@google.com>
2024-11-07 10:31:31 +00:00
Mate Kukri
7c198550fb mb/dell: OptiPlex 3050 Micro port (Intel KabyLake)
- Boots Linux 6.11 (Debian)
- GRUB and SeaBIOS payloads work
- SMSC SCH5553 SIO/EC
  + Serial port works
  + PWM fan control works
- Realtek Gigabit LAN works
- WiFi slot works
- NVMe SSD slot works
- Extra: LPSS UART0
  + Stock FW sets undocumented power gating bit, RTC battery needs to
    be pulled for it to work.
  + Signals exposed on test points on the back of the board.
    FIXME: add documentation about this
- Needs 'deguard' to bypass BootGuard
  + See https://review.coreboot.org/admin/repos/deguard,general
- Audio works
- All USB ports work
- Currently limited to the Micro form factor, but others are very
  similar
- HDA verbs and VBT by Leah Rowe

Change-Id: I8d443e39ee684a4eaa19c835a945cfe569c051e2
Signed-off-by: Mate Kukri <kukri.mate@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/82053
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2024-11-07 10:21:58 +00:00
Lu, Pen-ChunX
f214acd6e5 soc/intel/xeon_sp: Add acpigen_write_PRT_pre_routed
acpigen_write_PRT_pre_routed writes _PRT covering all direct
subordinate child devices based on interrupt line/pin info from
their PCI configuration spaces. It is required that IRQ routing
and PCI configuration space update to be done ahead of time.

TEST=Build and boot on intel/archercity CRB

Change-Id: Ic54888f76d2ec9804442bec5aec54267d9a16d7c
Signed-off-by: Lu, Pen-ChunX <pen-chunx.lu@intel.com>
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/+/82253
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
2024-11-07 10:01:18 +00:00
Yidi Lin
a80461f84b soc/mediatek/common: Use write32p and read32p for tracker
TEST=emerge-geralt coreboot

Change-Id: I9ee64677e9126789a07db1963a2c17a504cb4d9c
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84959
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-07 09:38:37 +00:00
Yidi Lin
d9b0f5a577 soc/mediatek/common: Refactor struct tracker
Rather than using a static array size for the `offset` variable, use a
pointer named `offsets` that points to a dynamically allocated array. A
separate variable called `offset_size` stores the size of this array.

TEST=emerge-corsola coreboot && emerge-geralt coreboot

Change-Id: I4b89c27fd693ee08e670c1a9ab4cbdbec220bee7
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84958
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
2024-11-07 09:38:31 +00:00
Arthur Heymans
6efc32b6c6 mb/cwwk/ald: Remove DIMM_MAX
For ADL DIMM_MAX is a soc property and not a mainboard property.

Change-Id: I834b631ffb9b7b2272ec631122de61136e55651a
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84207
Reviewed-by: Alicja Michalska <ahplka19@gmail.com>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-07 05:06:35 +00:00
Xue Yao
478be8a228 Documentation: Update Protectli fw6b documentations
Update documentations:
- ME cleaner has been tested on the fw6b.
- More observations on the stock firmware is documented.
- Compatible boards are listed along with the original manufacturer.

Signed-off-by: Xue Yao <xueyao@xyte.ch>
Change-Id: I4938d81d57fc8172fefcc00222806fff0735d503
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63016
Reviewed-by: Martin L Roth <gaumless@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
2024-11-07 04:21:52 +00:00
Rui Zhou
d8c2f92f6c mb/google/nissa/var/rull: Add Fn key scancode
The Fn key on rull emits a scancode of 94 (0x5e).

BUG=b:372211281
TEST=Flash rull, boot to Linux kernel, and verify that KEY_FN is
generated when pressed using `evtest`.

Change-Id: Idb02d7013fa78233abff556bc6fa1d224c434338
Signed-off-by: Rui Zhou <zhourui@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85014
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lei Cao <caolei6@huaqin.corp-partner.google.com>
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-11-07 04:15:28 +00:00
Rui Zhou
e019a41d8a mb/google/nissa/var/rull: Change padbased_override to rtd3 of wifi
The previous method made cnvi wifi6 configuration cumbersome
and unusable. And delete unused pins. We abandoned the
fw_config judgment method and changed to the better rtd3.

BUG=b:374629673
BRANCH=None
TEST=1. emerge-nissa coreboot chromeos-bootimage
     2. wifi7&wifi6 function is normal

Change-Id: Ia95dc9f6b707db63840de9b15b38bdaea48ea192
Signed-off-by: Rui Zhou <zhourui@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85000
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jayvik Desai <jayvik@google.com>
2024-11-07 04:15:20 +00:00
Rui Zhou
4cd22efff8 mb/google/nissa/var/rull: add touchpad init config of Synaptics&PIXART
Add Synaptics&PIXART init cpnfig, enable touchpad function

BUG=b:374629673
BRANCH=None
TEST=1. emerge-nissa coreboot chromeos-bootimage
     2. touchpad function normal

Change-Id: Iacf09cd46d4a97fb79f91043c84452f76689462f
Signed-off-by: Rui Zhou <zhourui@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84999
Reviewed-by: Lei Cao <caolei6@huaqin.corp-partner.google.com>
Reviewed-by: Jayvik Desai <jayvik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-11-07 04:15:13 +00:00
Rui Zhou
77f6682b95 mb/google/nissa/var/rull: add ssd timing and modify ssd GPIO pins of rtd3
The previous GPIO config will cause the SSD device to not be recognized. Based on schematics NB7559_MB_SCH_V1_2024_1010.pdf. So we adjust the position of the enable and reset pins.

BUG=b:374629673
BRANCH=None
TEST=1. emerge-nissa coreboot chromeos-bootimage
     2. power on proto board successfully

Change-Id: Idb36f67206450612655cb3efd3cce240475ef3ab
Signed-off-by: Rui Zhou <zhourui@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84997
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-11-07 04:15:06 +00:00
Fabian Groffen
7d8e105420 mb/gigabyte/ga-h77m-d3h: Add Sandy/Ivy Bridge board GA-H77M-D3H
This board is based off ga-b75m-d3h, which uses the same SuperIO chip.
It doesn't have the ASMedia SATA3 controller, the H77 chipset comes with
2 SATA3 ports next to the 4 SATA2 ports.

Flashing notes:
  These boards come with dual-BIOS feature.  This is set of two
  unremovable what appears to be identical chips marked M_BIOS and
  B_BIOS.  Flash the B_BIOS chip, and boot the system.  Ensure you have
  a payload and setup ready to boot a Linux system with iomem=relaxed or
  similar.  Immediately use flashrom -p internal to flash the same
  firmware again.  If you skip this step your next boot will show weird
  exception traces in either coreboot or your payload.  Flashing from
  there via the chip is very difficult (you have to try many times in
  order to get a booting run), which can all be remedied by doing a
  flash from internal.  I suppose the dual-BIOS feature is somewhat in
  the way here.

Tested with:
- CPU Core i7-3770S
- RAM single bank 4GB CL11, two banks 4+4GB CL11
- OS Gentoo Linux LiveUSB, KDE desktop (Linux 5.15.72)

Working:
- GRUB2 payload
- Intel ME stripped
- Integrated graphics with libgfxinit
- (boot from) SATA2, SATA3 ports
- Rear and mainboard connector USB ports, supporting boot
- Atheros GbE NIC
- 2.0 channel audio via lineout jack output
- ACPI (power button triggers OS events)
- S3 suspend/resume
- PWM FAN control, FAN speed readings
- Temperature sensor readings

Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Change-Id: Icb3e74326a0a7aaf770d1917a2a0931feadd7eab
Reviewed-on: https://review.coreboot.org/c/coreboot/+/77046
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-07 03:44:19 +00:00
Maxim Polyakov
c1caa33a2d mb/asrock: Add Asrock Industrial IMB-1222 motherboard
ASRock IMB-1222 Intel Comet Lake-S Q470E industrial thin mini-ITX
motherboard [1].

Working:
- Dual Channel DDR4 2933/2666/2400 MHz;
- Intel UHD Graphics (VGA Option ROM, libgfxinit, GOP driver);
- DP (both), HDMI;
- PCIe x16 Slot (Gen3);
- SATA ports;
- USB 2.0 ports;
- USB 3.2 ports;
- M.2 Key-E 2230 slot for Wireless (PCIe x1, USB 2.0 and CNVi);
- M.2 Key-B 3042/3052 slot for 4G/5G modem (PCIe x1);
- M.2 Key-M 2242/2260/2280 for SSD/NVMe (PCIE x4, SATA3);
- LAN1 Intel I225LM/I225V, 10/100/1000/2500 Mbps;
- LAN2 Intel I219LM, 10/100/1000 Mbps;
- Realtek ALC887 HD Audio (line-out, mic-in);
- COM 1/2/3/4 ports;
- onboard speaker;
- HWM/FANs control (fintek f81966);
- S3 suspend and wake;
- TPM;
- disabling ME with me_cleaner [2];

Payload:
- Linux as payload;
- LinuxBoot;
- SeaBIOS;
- edk2 [3].

Bootable OS:
- Ubuntu 22.04 (Linux 6.5.0-15-generic);
- Ubuntu 24.04 (Linux 6.8.0-41-generic);
- Microsoft Windows 10 Pro (10.0.19045.4780, 22H2 2022);
- Andoid 13, Bliss OS x86_64 (16.9.7, Linux 6.1.112-gloria-xanmod1).

Unknown/untested:
- USB3.0 in M.2 Key-B 3042/3052 slot;
- eDP/LVDS;
- PCIe riser cards;
- SPDIF.

There is no schematic/boardview, reverse engineering only.
This port is based on system76/bonw14 because it has a similar topology.

[1] https://web.archive.org/web/20220924171403/https://
www.asrockind.com/en-gb/IMB-1222

[2] XutaxKamay's me_cleaner fork,
https://github.com/XutaxKamay/me_cleaner, v1.2-9-gf20532d

[3] MrChromebox's edk2 fork, https://github.com/mrchromebox/edk2
uefipayload_2408 branch

Change-Id: Id2b4c903546f9174b5e7dd26e54a0c5aaa09e1f8
Signed-off-by: Maxim Polyakov <max.senia.poliak@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83107
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-07 03:18:00 +00:00
Karthikeyan Ramasubramanian
1d9bddf163 soc/intel/alderlake: Fix uninitialized usb_cfg pointer
This patch addresses uninitialized usb_cfg pointer warning which is also
an error - src/soc/intel/alderlake/fsp_params.c:936:48: error: 'usb_cfg'
may be used uninitialized in this function [-Werror=maybe-uninitialized]

BUG=None
TEST=./util/abuild/abuild

Change-Id: I764fed561dfe2a571f3404fe505997edd7aa5ff7
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84939
Reviewed-by: Jayvik Desai <jayvik@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-06 22:43:16 +00:00
Karthikeyan Ramasubramanian
2ba74b8c18 mb/google/brox: Hint romstage init about upcoming reset
Add support for the mainboard to check for any potential firmware
component update and hence the assosicated reset. This indication can be
used to avoid any redundant resets during the boot flow.

BUG=b:375444631
TEST=Build Brox BIOS image and boot to OS. Ensure that the hints are
provided correctly and 2 redundant resets are filtered out.

Change-Id: Ieed3f9013dee9aa501a3f0403f3a28722a3878f1
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84937
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-11-06 22:43:10 +00:00