Commit Graph

157 Commits

Author SHA1 Message Date
Lean Sheng Tan e98dd0aad8 mb/prodrive/atlas: Enable GPP_B14 buzzer support
Per Intel doc 621483, 26.1.1 - NMI_STS_CNT, 8254 timer is required
for Speaker Data output (buzzer) at GPP_B14 NF1, as it is using
8254 timer counter 2 output. However when 8254 timer is used, S0ix
will not work as 8254 has to be gated instead. For further info on
s0ix requirements, refer to Intel doc 610002 (Modern Standby Unified
Checklist).

This CL also disables s0ix because it is not required by the
platform.

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: Ib5e7787a47509ed09818d8515d21a80196fb1ec6
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67553
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-12-02 14:47:36 +00:00
Lean Sheng Tan 998fdc06cb mb/prodrive/atlas: Add DP++ support
Update VBT configurations for DP++ and DP dongles support.

Tested working on customer's side.

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: I7aa34297a10bf16b9043140bff91fd3a8c4009d4
Reviewed-on: https://review.coreboot.org/c/coreboot/+/70154
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-12-02 14:46:39 +00:00
David Milosevic 0f5b87cf95 mb/prodrive/atlas: add unique DIMM locators in smbios type17
This patch adds unique device-locators, bank-locators and
asset-tags to the smbios type17 tables by making use of a
DIMMs controller-ID. This way we avoid name clashes when,
for example, two DIMMs share the same channel-ID and DIMM-ID
but have a distinct controller-ID.

Signed-off-by: David Milosevic <David.Milosevic@9elements.com>
Change-Id: I8aef79faa43f2475485f581c675ee152e580f678
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68632
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
2022-11-17 17:52:18 +00:00
Arthur Heymans 2dc59e6e08 mb/prodrive/hermes: Fix format mismatch
Change-Id: I2a6947c1a39b115a7c7f5da1c9becfd51f45fad9
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/69239
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-11-09 14:25:27 +00:00
Maximilian Brune 0925bdaeb2 mb/prodrive/atlas: Add IBECC Kconfig option
Add an option on Atlas to enable IBECC (In Band Error Correction Code),
which is currently needed for endurance testing.

Test: start atlas mainboard with Linux. See in dmesg that
IBECC (EDAC igen6) driver is loaded. Inject a fake error via debugfs
and see in dmesg that Linux handles it.

Signed-off-by: Maximilian Brune <maximilian.brune@9elements.com>
Change-Id: I71ee2401136e2dc70b3164db6c99af03a3e1f346
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68783
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
2022-11-04 15:17:49 +00:00
Elyes Haouas 1bd23e3922 mainboard: Include <cpu/cpu.h> instead of <arch/cpu.h>
Also sort includes.

Change-Id: Iccb7f28a2c913ae0983bf224a03610d7fdd13c68
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/69030
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2022-11-04 01:02:44 +00:00
Maximilian Brune 401fd381bb mb/prodrive/atlas: Disable S3
The Atlas board has currently the problem that suspending the System
causes the System to freeze. Therefore disable S3, until the cause is
figured out and fixed.

Change-Id: I5b28787df9b01683fcd4a1de8267840a80bb4fe6
Signed-off-by: Maximilian Brune <maximilian.brune@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68591
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-10-26 14:10:40 +00:00
Arthur Heymans f5575315fd mb/prodrive/hermes: Allow using the Intel iGPU as primary
Configure the Intel iGPU as primary video adapter if enabled according
to EEPROM settings. The default is to use the ASPEED BMC as primary
video adapter, which only has a VGA output and the remote KVM output.

For now, use the FSP GOP driver to light up the iGPU. There are several
issues with libgfxinit on the Hermes, probably due to the unusual setup
of the iGPU's display outputs. They are routed to a mezzanine connector
for a piggy-back sub-board, of which there are two models. The Poseidon
piggy-back has two DisplayPort outputs and an HDMI output coming from a
MegaChips LSPCON. The Avalanche piggy-back routes all three DisplayPort
outputs from the iGPU into a FPGA, which acts as a DisplayPort sink.

Note that the FSP GOP only initializes at most 2 iGPU display outputs.
However, all three outputs function properly once OS (Windows, Linux)
graphics drivers take over.

Additionally, update the config file that Prodrive uses to build
coreboot images so that the iGPU can be used as primary.

TEST=Verify that the iGPU's outputs work properly in pre-OS, Windows and
     Linux, on both the Poseidon and Avalanche piggy-backs.

Change-Id: I24d9ebc2055dc246e7f257aa2f3853b22c8af370
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/62649
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-10-20 14:49:36 +00:00
Elyes Haouas c35f281934 mb/*/*/gpio.h: Remove unused <soc/gpe.h>
Change-Id: I9b03ccc1100307e3c24393903600d18f6cc9abdc
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68378
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Frans Hendriks <fhendriks@eltan.com>
Reviewed-by: Erik van den Bogaert <ebogaert@eltan.com>
2022-10-17 13:40:55 +00:00
Maximilian Brune 97a86734d2 mb/prodrive/atlas: Print HSID
Signed-off-by: Maximilian Brune <maximilian.brune@9elements.com>
Change-Id: Ibb7aac1204bc297d16797cac5b32b119d0a9204b
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68224
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-10-14 11:55:35 +00:00
Angel Pons bf541422e9 mb/prodrive/hermes: Use `snprintf()` to handle strings
Strings in C are highly cursed. Use `snprintf()` to minimize the
potential of running into undefined behavior in the future.

Change-Id: I3caef25bc7676ac84bb1c40efe6d16f50f8f4d26
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68323
Reviewed-by: Patrick Georgi <patrick@coreboot.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
2022-10-13 06:46:23 +00:00
Angel Pons cdc156ebd1 mb/prodrive/hermes: Harden `eeprom_read_serial()`
The `eeprom_read_serial()` function could return a non-NULL terminated
string if the serial in EEPROM has `HERMES_SN_PN_LENGTH` (32) non-NULL
characters. Make this impossible by adding an additional character for
a NULL byte in the static buffer, which always gets set to 0 (NULL).

Change-Id: I306fe1b6dd3836156afca786e352d2a7dca0d77c
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68322
Reviewed-by: Patrick Georgi <patrick@coreboot.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
2022-10-13 06:46:12 +00:00
Angel Pons 160e5a963d mb/prodrive/hermes: Make board settings less error-prone
First of all, make sure that `get_board_settings()` never returns NULL.
If there's a problem, return predefined values for board settings.

If the board settings definition differs between coreboot and the BMC,
the CRC will not match. Allow coreboot to use the BMC settings provided
by older BMC firmware revisions which have less settings, if the CRC of
the first N bytes matches the expected CRC.

TEST=Boot coreboot master with BMC FW R04.05, observe board settings
being honored even though coreboot's definition has an extra option.

Change-Id: I0f009b21ef0850a2af6edef1818c770171358314
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67381
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-10-11 14:43:45 +00:00
Angel Pons 373517cdeb mb/prodrive/hermes: Write reset cause regs to EEPROM
Write the value for reset cause registers to the EEPROM for debugging.

Change-Id: I827f38731fd868aac72103957e01aac8263f1cd3
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67483
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-10-08 21:07:46 +00:00
Angel Pons c960564811 mb/prodrive/hermes: Add part numbers to SMBIOS
Adjust the EEPROM layout to account for two new fields: board part
number and product part number. In addition, put them in a Type 11
SMBIOS table (OEM Strings). Also, rename a macro to better reflect
its purpose.

Change-Id: I26c17ab37859c3306fe72c3f0cdc1d3787b48157
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67759
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-10-08 21:06:08 +00:00
Angel Pons b9af5133dd mb/prodrive/hermes: Factor out serial reading logic
Add the `eeprom_read_serial()` function to read serials from the EEPROM.
Note that there's only one buffer now: this means only one serial can be
accessed at the same time, and the buffer needs to be cleared so that it
does not contain old data from other serials. Given that the serials are
copied one at a time into SMBIOS tables, having one shared buffer is not
a problem.

Change-Id: I5c9781e4e599043be756514cfd6dd86dedcf580c
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67275
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-10-07 22:08:11 +00:00
Angel Pons a39a812e40 mb/prodrive/hermes: Prevent SGPIO cross-powering 5V rail
The PCH's SGPIO pads are connected to a buffer chip that is powered from
the always-on +3V3_AUX rail. For some cursed reason, when the SGPIO pads
stay configured as SGPIO when a Poseidon system shuts down, voltage from
the +3V3_AUX-powered buffer chip will leak into the +5V rail through the
SATA backplane. Just pulling the SGPIO pads low before the system powers
off stops the +5V rail from being cross-powered.

This issue has only been observed in S5, but it's very likely other
sleep states are affected as well. Thus, always pull the SGPIO pins
low before entering ACPI S3 or deeper because the power supply will
turn off in these states as well.

TEST=Obtain a Poseidon system, verify that the +5V rail is cross-powered
     after going to S5. We measured 0.17V on our system, but voltages as
     high as 0.6V were measured on other systems. Verify that unplugging
     the SGPIO cable going to the SATA backplane results in the +5V rail
     voltage dropping to 0V, which indicates that the voltage leakage is
     exclusively coming from the SGPIO and SATA backplane. Finally, make
     sure that the +5V rail voltage drops to 0V after going into ACPI S5
     with this patch applied and the SGPIO cable connected.

Change-Id: Ic872903d5fcdd1c17e02b4c06d5ba29889fbc27d
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66616
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
2022-10-07 22:07:08 +00:00
Lean Sheng Tan 2ddcf409c3 mb/prodrive/atlas: Add Kconfig option to enable SaGv
It turns out that one can use Kconfig options to specify values for
devicetree options, as long as the resulting expression is a compile
time constant. Use this to configure SaGv for Atlas: enable it by
default, but allow SaGv to be disabled manually for convenience when
testing. Enabling SaGv makes MRC train the RAM multiple times, which
takes a significant amount of time.

For further info on SAGV on ADL, please refer to Intel Doc 655258
(Alder Lake Datasheet) section 5.1.3.2.

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Change-Id: I3c6ac25d414122c408f2348d12dba8dce909e567
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67412
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-09-30 16:51:00 +00:00
Fabio Aiuto 45aae7f10f treewide: use is_enabled_cpu() on cycles over device list
use is_enabled_cpu() on cycles over device list to check
whether the current device is enabled cpu.

TEST: compile test and qemu run successfully with coreinfo
payload

Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com>
Change-Id: If64bd18f006b6f5fecef4f606c1df7d3a4d42883
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67797
Reviewed-by: Tim Wawrzynczak <inforichland@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2022-09-29 16:47:04 +00:00
Angel Pons f37146de32 Revert "mb/prodrive/hermes: Add part numbers to SMBIOS"
This reverts commit d669562663.

Reason for revert: Was submitted out-of-order and with an unresolved
TODO in the commit message.

Change-Id: Id5a8770226afbfcdf63d451157e4586b6cdd5189
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67284
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-09-20 10:41:36 +00:00
Angel Pons d669562663 mb/prodrive/hermes: Add part numbers to SMBIOS
Adjust the EEPROM layout to account for two new fields: board part
number and product part number. In addition, put them in a Type 11
SMBIOS table (OEM Strings).

TODO: This currently stores the "raw" part numbers, should we add a
prefix to the SMBIOS strings?

Change-Id: I85fb9dc75f231004ccce2a55ebd9d7a4867fcb93
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67276
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-09-19 14:53:01 +00:00
Lean Sheng Tan 9b9a763ca9 mb/prodrive/atlas: Enable legacy S3 support
Enable S3 support as Prodrive doesn't need s0ix for now.

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: I7625c8ac860e1afc60c94b3c51e996531a1f2b15
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67414
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
2022-09-13 14:21:25 +00:00
Lean Sheng Tan 0f08d37d20 mb/prodrive/atlas: Set i225 PCIe RP as built in
Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: I4436a9d75cb06f2f51979f2bc57d48fa3dbb9e00
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67411
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Christian Walter <christian.walter@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-09-09 13:47:58 +00:00
Lean Sheng Tan dfe2ef082f mb/prodrive/atlas: Enable resizable BAR support
Allow up to 4GiB resizable BAR support.

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: I097483ba8b4479211f67f29a42754d1a51379771
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67379
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-09-09 13:47:25 +00:00
Lean Sheng Tan 6435576c46 mb/prodrive/atlas: Configure Acoustic noise mitigation
- Enable Acoustic noise mitigation
- Set slow slew rate to fast/4 for VCCIA and VCCGT
- Disable fast slew rate for deep package C states for VCCIA and VCCGT

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: Ia344d9d939c3323bac82afdf25d5fff81081f9c8
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67380
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Christian Walter <christian.walter@9elements.com>
2022-09-09 12:02:16 +00:00
Lean Sheng Tan 003fe294fe mb/prodrive/atlas: Disable POST codes by default
Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: Ib1dd9826cedfd0a3f1ed719cf2e2927f09f783fe
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67427
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-09-08 21:47:43 +00:00
Lean Sheng Tan d75deb1d22 mb/prodrive/atlas: Update VBT data binary
The previous VBT binary was not properly configured, there were DP
display issues on some of the ports and resulted in hangs when FSP
debug was used. The updated VBT fixes all the issues.

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: I788240e36a9a90a5342ee9761f2c61ebf4caa9a4
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67426
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-09-08 21:47:27 +00:00
Angel Pons 38688519cf mb/prodrive/hermes: Use snake case for identifiers
There's no reason to use camel case for EEPROM region names or local
variables. Use snake case for consistency with coreboot's code style.

Change-Id: Id1200a0c778095b109d824a1ca4e3e69591e4165
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67274
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Reviewed-by: Christian Walter <christian.walter@9elements.com>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
2022-09-04 16:15:55 +00:00
Maximilian Brune e01e9b83f9 mb/prodrive/atlas: Fix SMBUS/SPD addresses
Commit 0e7cf3d81d (soc/intel/alderlake:
Fix DDR5 channel mapping) fixed a bug in SoC code that messed up DDR5
SPD address mapping. Atlas uses the 0x50/0x52 addresses. However, the
SoC code bug required commit 044883615d
(mb/prodrive/atlas: Update correct SPD address) so that at least some
RAM would work. Now that the SoC code bug is fixed, the workaround is
no longer needed, so use the correct SPD address mapping.

TEST=Boot Atlas and verify that both memory channels work

Signed-off-by: Maximilian Brune <maximilian.brune@9elements.com>
Change-Id: I352d8f36eec63cffd3f63ab6e7421db16ca30163
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67075
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-08-29 22:52:36 +00:00
Bora Guvendik 3f6de867e8 soc/intel/alderlake: Rename pcie5 alias
Rename pcie5 alias as pcie5_0 since raptorlake is adding a new pcie5 RC.

BRANCH=firmware-brya-14505.B
TEST=none

Signed-off-by: Bora Guvendik <bora.guvendik@intel.com>
Change-Id: Iee669e68e3607b7ffec9f0800e9f0a916defd498
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67107
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-08-29 14:25:25 +00:00
Angel Pons 621aff9c02 mb/**/dsdt.asl: Drop misleading "OEM revision" comment
It is highly unlikely that the "OEM revision" of the DSDT is 0x20110725
on mainboards with a chipset not yet released on 2011-07-25. Since this
comment is most likely to have been copy-pasted from other boards, drop
it from boards which use a chipset newer than Sandy/Ivy Bridge.

Change-Id: If2f61d09082806b461878a76b286204ae56bf0eb
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66715
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
Reviewed-by: Tarun Tuli <taruntuli@google.com>
Reviewed-by: Frans Hendriks <fhendriks@eltan.com>
2022-08-16 13:33:47 +00:00
Angel Pons c05691af93 mb/**/dsdt.asl: Drop superfluous comments
These comments don't add much value, so remove them.

Change-Id: I7e9692e3fe82345cb7ddcb11c32841c69768cd36
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66713
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Reviewed-by: Tarun Tuli <taruntuli@google.com>
Reviewed-by: Frans Hendriks <fhendriks@eltan.com>
2022-08-16 13:33:17 +00:00
Lean Sheng Tan ec1afc58af mb/prodrive/atlas: Select FSP_TYPE_IOT
Atlas uses IoT FSP.

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: I4c20600e0b62367e6e58908cf9cf916f309e6362
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66368
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Christian Walter <christian.walter@9elements.com>
2022-08-03 13:31:59 +00:00
Felix Singer ff93c93fef soc/intel/cannonlake: Set MAX_CPUS based on the SoC and PCH
Set the default value for MAX_CPUS in the SoC config and drop it from
the mainboards where it is set to those values.

Change-Id: Ib56fdcfe770ef736a2c5e183481d9f9966570e6d
Signed-off-by: Felix Singer <felixsinger@posteo.net>
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/52607
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-07-23 19:48:56 +00:00
Lean Sheng Tan a91821b677 mb/prodrive/atlas: Swtich from EC UART to LPSS UART
Switch x86 uart output from EC to LPSS.

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: I2756d139a72185ba6a5c6d1079d770ce33afdf71
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65985
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-07-20 20:25:46 +00:00
Lean Sheng Tan 354fbef17b mb/prodrive/hermes: Add BIOS menu control via EEPROM
Introduce a new field in the board settings EEPROM region to control
whether BIOS menu is to be enabled. This field will be used in EDK2
payload.

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: I0af81c9e70a0088caea6bc7e2b81eab9a123c0f7
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65128
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Christian Walter <christian.walter@9elements.com>
2022-06-15 08:10:07 +00:00
Lean Sheng Tan 0cc82d6e41 mb/prodrive/atlas: Increase CBFS size to 8MB
Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: I7c50f770c3a7ab261d6ea41f945e2239ba53fd09
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64944
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2022-06-05 21:07:59 +00:00
Lean Sheng Tan cb14e86dd4 mb/prodrive/atlas: Add data.vbt for 4 DPs support
Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: Ia5b6c5c72a1eafe1118e92e4579decb4f4abc9e5
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64943
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2022-06-05 20:02:33 +00:00
Lean Sheng Tan de498a2fff mb/prodrive/atlas: Update pcie config for i225
Enable clk 1, LTR & AER for PCIe-to-i225 bridge.

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: I9593f5d0b70f3d231fd1a8f4758b924645392d63
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64902
Reviewed-by: Christian Walter <christian.walter@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-05 19:57:00 +00:00
Lean Sheng Tan e4998d1cd2 mb/prodrive/atlas: Fix FSP debug boot hang
When device tcss_xhci is disabled, boot hang occurs at FSP-S
TcssInit(): "IomReadyCheck Failed!"

Enabling this device fixes the issue.

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: Ie001bd56b403d511c397737fbc214ed64956910d
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64901
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Christian Walter <christian.walter@9elements.com>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-05 19:53:31 +00:00
Lean Sheng Tan 391de94314 mb/prodrive/atlas: Add display configs for 4 DisplayPorts
Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: Iea5312055305bc3354755607a7bfafa7980c6d21
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64900
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@tutanota.com>
2022-06-05 19:52:37 +00:00
Eric Lai 08b477eadd mb/prodrive/atlas: Fix build error
commit c6b041a12e refactor the TPM Kconfig. MAINBOARD_HAS_LPC_TPM
has changed to MEMORY_MAPPED_TPM.

Signed-off-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Change-Id: Iff7e20ac271eb5b2afc9061819e2cc0cf2264cbf
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63773
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Ivy Jian <ivy.jian@quanta.corp-partner.google.com>
Reviewed-by: Frank Wu <frank_wu@compal.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-04-22 05:29:32 +00:00
Jes B. Klinke c6b041a12e tpm: Refactor TPM Kconfig dimensions
Break TPM related Kconfig into the following dimensions:

TPM transport support:
config CRB_TPM
config I2C_TPM
config SPI_TPM
config MEMORY_MAPPED_TPM (new)

TPM brand, not defining any of these is valid, and result in "generic" support:
config TPM_ATMEL (new)
config TPM_GOOGLE (new)
config TPM_GOOGLE_CR50 (new, implies TPM_GOOGLE)
config TPM_GOOGLE_TI50 (new to be used later, implies TPM_GOOGLE)

What protocol the TPM chip supports:
config MAINBOARD_HAS_TPM1
config MAINBOARD_HAS_TPM2

What the user chooses to compile (restricted by the above):
config NO_TPM
config TPM1
config TPM2

The following Kconfigs will be replaced as indicated:
config TPM_CR50 -> TPM_GOOGLE
config MAINBOARD_HAS_CRB_TPM -> CRB_TPM
config MAINBOARD_HAS_I2C_TPM_ATMEL -> I2C_TPM && TPM_ATMEL
config MAINBOARD_HAS_I2C_TPM_CR50 -> I2C_TPM && TPM_GOOGLE
config MAINBOARD_HAS_I2C_TPM_GENERIC -> I2C_TPM && !TPM_GOOGLE && !TPM_ATMEL
config MAINBOARD_HAS_LPC_TPM -> MEMORY_MAPPED_TPM
config MAINBOARD_HAS_SPI_TPM -> SPI_TPM && !TPM_GOOGLE && !TPM_ATMEL
config MAINBOARD_HAS_SPI_TPM_CR50 -> SPI_TPM && TPM_GOOGLE

Signed-off-by: Jes B. Klinke <jbk@chromium.org>
Change-Id: I4656b2b90363b8dfd008dc281ad591862fe2cc9e
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63424
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
2022-04-21 23:07:20 +00:00
Lean Sheng Tan 9aa7a25c2d mb/prodrive/atlas: Enable SPI TPM 2.0
Enable SPI dTPM using eSPI bus.

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: I18ca41c143ade024ee2840b619ba777b22a2a86a
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63720
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-04-20 19:48:59 +00:00
Lean Sheng Tan f84c8289fe mb/prodrive/atlas: Enable UFS and ISH
The PCI Local Bus Specification Revision 3.0 requires that
multi-function devices always implement function 0. Because of
this, enabling UFS (PCI device 12.7) requires ISH (PCI device 12.0)
to be enabled as well.

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: Ia8b9561973640edc5f7d0f579dd640e805c0af17
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63719
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-04-20 19:48:37 +00:00
Lean Sheng Tan a3e3df02d0 mb/prodrive/atlas: Enable PCH PCIe RP7
Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: I3f438a7b1dff1a44a81edc8adc983d08708fdd57
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63718
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-04-20 19:48:17 +00:00
Lean Sheng Tan bb92a7f6a7 mb/prodrive/atlas: Update Kconfig
Update Kconfig per Atlas usages:
1. Set EC I/O mapped UART as default UART output
2. Add EC IFD region & ACPI support

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: I970de724237bcb08899aed7a4b87a23c5cdb0b48
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63464
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Christian Walter <christian.walter@9elements.com>
2022-04-14 17:15:30 +00:00
Lean Sheng Tan d8bfe12257 mb/prodrive/atlas: Configure eSPI IO decode ranges for EC
This implementation adds eSPI IO decode range for EC.
1. 0x800-0x8FF / 0x200-020F: EC host command range.
2. 0x900-0x9ff: EC memory map range.

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: I787561287025e33a8622eb9b3565fa14d0416c46
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63465
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-04-11 14:01:05 +00:00
Lean Sheng Tan ed74918f4e mb/prodrive/atlas: Disable ASPM for i225 port
I225 doesn’t support ASPM, so disable it at the root port.

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: I61fe3760c1cde60795c9b52c703e521ba4df504a
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63466
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-04-11 14:00:32 +00:00
Lean Sheng Tan faf66f2483 mb/prodrive/atlas: Update GPIOs
Update Atlas GPIOs for GPD11 & E7.

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: I92a0d0797206cdba96d7c6efe264b0356b5157ea
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63411
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-04-11 13:59:04 +00:00