Commit Graph

49383 Commits

Author SHA1 Message Date
Felix Held 78ba98a797 soc/amd/stoneyridge/fch: use read[16,32]p to avoid typecasts
Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I6372741284ad5f0453f0d4dfd8ebaddd7385f8ea
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67977
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
2022-09-30 14:49:07 +00:00
Tim Van Patten 73a0d0af64 mb/google/skyrim/Kconfig: Enable DPTC and No Battery Mode
Enable DPTC and No Battery Mode for Skyrim. This allows Skyrim to boot
without a battery or with a critically low battery.

DPTC remains disabled for the Winterhold and Morthal variants until it
can be tested on those boards.

BRANCH=none
BUG=b:217911928
TEST=Boot skyrim with low & no battery

Signed-off-by: Tim Van Patten <timvp@google.com>
Change-Id: Icc4084476916cc8e142908d8e58baf7124568b8b
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67211
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-09-30 13:19:43 +00:00
Reka Norman d9cb72559f mb/google/nissa: Change TPM I2C freqeuncy to 1 MHz
Change the TPM I2C freqeuncy to 1 MHz for nivviks and nereid, and in
the baseboard. Other nissa devices will be changed after verification.

This saves 11 ms of boot time on nivviks and nereid.

400 kHz:
504:finished TPM initialization                       272,304 (35,730)
...
512:finished TPM PCR extend                           526,250 (23,729)
513:starting locking TPM                              526,250 (0)
514:finished locking TPM                              535,106 (8,855)
  6:end of verified boot                              543,927 (8,821)

1 MHz:
504:finished TPM initialization                       266,293 (30,747)
...
512:finished TPM PCR extend                           513,711 (20,108)
513:starting locking TPM                              513,711 (0)
514:finished locking TPM                              521,311 (7,599)
  6:end of verified boot                              528,893 (7,581)

BUG=b:249201598
TEST=On nivviks and nereid, all timing requirements in the spec are met.
Frequencies:
nivviks - 972.01 kHz
nereid  - 968.99 kHz

Change-Id: I9dd783527d4215ed7d79d69853a1f321ea2d8a28
Signed-off-by: Reka Norman <rekanorman@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67942
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kangheui Won <khwon@chromium.org>
2022-09-30 13:19:05 +00:00
V Sowmya a88d5e3bca mb/intel/adlrvp_n: Disable the External 1.05v VR in S0
Disable the external 1.05v VR in S0 as a fix for the
display flicker issue in ADL-N.
Please refer the Doc with ID 742988 for more details.

BUG=b:248249033, b:245970842
TEST=Verified that the display flicker issue is fixed.

Signed-off-by: V Sowmya <v.sowmya@intel.com>
Change-Id: If9f40e6c37e80caceb726a8e5f4d4b14dc479858
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67654
Reviewed-by: Vidya Gopalakrishnan <vidya.gopalakrishnan@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Reka Norman <rekanorman@chromium.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Kangheui Won <khwon@chromium.org>
2022-09-30 13:16:13 +00:00
V Sowmya 662bbcfe72 mb/google/nissa: Disable the External 1.05v VR in S0
Disable the external 1.05v VR in S0 as a fix for the
Display flicker issue in ADL-N.
Please refer the Doc with ID 742988 for more details.

BUG=b:248249033, b:245970842
TEST=Verified that the display flicker issue is fixed.

Signed-off-by: V Sowmya <v.sowmya@intel.com>
Change-Id: Iaa53bfd99a550b2cffcdaee640ee3a429e93aef7
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67653
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Vidya Gopalakrishnan <vidya.gopalakrishnan@intel.com>
Reviewed-by: Reka Norman <rekanorman@chromium.org>
Reviewed-by: Kangheui Won <khwon@chromium.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-09-30 13:15:59 +00:00
Matt DeVillier fcfa4addd1 mb/google/guybrush: enable display backlight in ramstage
Commit c7204b5a4 [mb/google/guybrush: Enable backlight in the OS]
disabled the GPIO for the display backlight in favor of using ACPI
to enable it, but this breaks display output for payloads which do
not/can not enable the backlight GPIO themselves (edk2, grub, SeaBIOS).

Re-enable the GPIO for display backlight so that payloads other than
depthcharge work properly.

TEST=build/boot google/dewatt with Tianocore payload, verify payload
display visible.

Change-Id: I2519d779954ed89486045aa7de0b18f1c31a4374
Signed-off-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67246
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martin.roth@amd.corp-partner.google.com>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
2022-09-30 13:15:22 +00:00
Michał Żygowski 283e5876b5 drivers/crb: Add SMBIOS hook to generate type 43 TPM Device
Example for Alder Lake PTT:

Handle 0x004C, DMI type 43, 31 bytes
TPM Device
	Vendor ID: INTC
	Specification Version: 2.0
	Firmware Revision: 600.18
	Description: Intel iTPM
	Characteristics:
		TPM Device characteristics not supported
	OEM-specific Information: 0x00000000

TEST=Execute dmidecode and see the type 43 is populated with PTT
on MSI PRO Z690-A WIFI DDR4

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Change-Id: I05289f98969bd431017aff1aa77be5806d6f1838
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64049
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Christian Walter <christian.walter@9elements.com>
2022-09-30 08:21:01 +00:00
Michał Żygowski e779523193 smbios: Add API to generate SMBIOS type 43 TPM Device
Based on DMTF SMBIOS Specification 3.1.0.

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Change-Id: Ia2db29f8bc4cfbc6648bb2cabad074d9ea583ca9
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64048
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Christian Walter <christian.walter@9elements.com>
2022-09-30 08:20:23 +00:00
Elyes Haouas 7ac796c7b2 mb/ocp/{deltalake,tiogapass}: Replace comma with semicolon
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: Ie564d080955097b416943e772de6c62708ce5764
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67971
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2022-09-30 06:17:38 +00:00
Robert Zieba de6ecd0101 util/spd_tools: Change Mendocino to use 0x13 for LP5x memory type
Mendocino supports LP5x but currently doesn't support SPDs that use the
LP5x memory type, 0x15. This commit updates set 1 SPDs, which are
currently only used for mendocino, to use 0x13 for their memory type.

BUG=b:245509394
TEST=Generated SPDs, verified that only set 1 have changed to 0x13

Change-Id: I46606cb5ff871296d0214e1f781c3b22e93d24ea
Signed-off-by: Robert Zieba <robertzieba@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67747
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
2022-09-29 17:12: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
Fabio Aiuto c5573d62b7 include/device/path.h: use functions for enabled cpu selection
Add function defs and prototypes of functions checking whether
a device is {a cpu,an enabled cpu}

TEST: compile test and qemu executed successfully with
coreinfo payload

Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com>
Change-Id: Iabc0e59d604ae4572921518a8dad47dc3d149f81
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67502
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2022-09-29 16:46:41 +00:00
Elyes Haouas 712c70b357 nb/intel/i945/raminit.c: Use read32p()
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: Ic0361e5d928c24cfe7dc0a8b0385fbe73d906b15
Reviewed-on: https://review.coreboot.org/c/coreboot/+/62365
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Petr Cvek <petrcvekcz@gmail.com>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2022-09-29 13:41:46 +00:00
Elyes HAOUAS 3cd00dbb3e arch/x86/idt.S: Use 'iretq' for ENV_X86_64
Fix the warning below when building GA-945GCM-S2L with 64-bit:
src/arch/x86/idt.S:216: Warning: no instruction mnemonic suffix given and no register operands; using default for `iret'

Change-Id: Ibbc106714e25293951a71d84fea0a660f41f9c02
Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61336
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-09-29 13:41:06 +00:00
Subrata Banik 0d3e3f54c5 mb/google/rex: Enable EC SW Sync
This patch de-selects EC software sync config and enable early
EC Software Sync.

BUG=b:248775521
TEST=Able to perform EC sync on Google/Rex.

Signed-off-by: Subrata Banik <subratabanik@google.com>
Change-Id: I6bf8018e8a3fd06bb98c82a27d12883fc8d3a5db
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67817
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tarun Tuli <taruntuli@google.com>
2022-09-29 13:40:10 +00:00
Matt DeVillier cfec5ddc16 mb/google/skyrim: Rename pcie_gpio_table to romstage_gpio_table
Rename so table more indicative of when GPIOs are set, and so it can
be used for more than just setting PCIe GPIOs.

Rename the getter function to match.

Change-Id: I285602209072247895c2cb0830f3faf675328757
Signed-off-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67810
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2022-09-28 21:29:59 +00:00
Matt DeVillier 4236e2a23a mb/google/skyrim: rename baseboard GPIO table getter for clarity
Rename variant_base_gpio_table() to baseboard_gpio_table(), since the
GPIO table comes from the baseboard, and is overridden by a separate
table from the variant.

Drop the __weak qualifier as this function is not overridden.

Change-Id: Icebf7e11736929389227063039575a4c5ecf3840
Signed-off-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67809
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2022-09-28 21:28:59 +00:00
Denis 'GNUtoo' Carikli b82486496d intelmetool: Add PCI ID for Bay Trail
Tested on a Dell Venue 8 Pro tablet

Change-Id: Ic8f162ea82b910082af4b4e05fa1408fd24f2c88
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66141
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-09-28 18:22:27 +00:00
Sergii Dmytruk 68eef53ead payloads/external/skiboot/Makefile: fix output on `make clean`
skiboot's Makefile always executes $(CC) to determine whether its clang
or GCC and not setting CROSS for clean target results in this annoying
output (assuming `powerpc64-linux-gcc` isn't available):

    make[2]: powerpc64-linux-gcc: No such file or directory

Change-Id: I242b2d7c1bdf1bbd70fd4e4e0605341fe8301ca5
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67053
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Krystian Hebel <krystian.hebel@3mdeb.com>
2022-09-28 17:35:37 +00:00
Daniel Kang 84656e15c9 mb/google/rex: Set up MIPI cameras via ACPI
This patch adds ACPI configurations of 8MP YHUX and 2MP CJFKF28-1
as world- and user-facing cameras of Rex.

BUG=b:246413264
TEST=Verified world- and user-facing cameras using Chrome Camera App on
Google/rex device.

Signed-off-by: Daniel Kang <daniel.h.kang@intel.com>
Change-Id: Iaaa16e491a66500606b3a9eb1d87f396641778e0
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67085
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tarun Tuli <taruntuli@google.com>
2022-09-28 16:13:26 +00:00
Elyes Haouas bdef1cdebd include/reg_script.h: Remove trailing semicolon
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: Ib2c1738b7b6a6db1fa57ea34fb50588388140a51
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67911
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
2022-09-28 16:12:24 +00:00
Elyes Haouas 5899b0d2b9 include/memrange.h: Remove trailing semicolon
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: Ia0c4fd6d20c92caea379ef02e020ab9294ed0ffe
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67910
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
2022-09-28 16:12:04 +00:00
Shon Wang e30695dbe1 mb/google/brya/vell: Add PS1/PS2 cutoff point
According intel Doc#634254 and Doc#608715
PS2/PS1 cross point = 5
PS1/PS0 cross point = 10
PS2 cutoff = 1.4*(PS2/PS1 cross point) = 7

1.3 is better magnification, it obtain by test
PS1 cutoff = 1.3*(PS1/PS0 cross point) = 13

BUG=b:241850120
BRANCH=brya
TEST='FW_NAME=vell emerge-brya coreboot'

Change-Id: I83e9682004e2c3644ad4a5565e6ab85be48ba22f
Signed-off-by: Shon Wang <shon.wang@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67394
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Sumeet R Pawnikar <sumeet.r.pawnikar@intel.com>
2022-09-28 15:10:00 +00:00
Ian Feng 738a385b66 mb/google/nissa/var/xivu: Disable CNVi WLAN/BT
Xivu uses PCIE WLAN, so disable the CNVi WLAN/BT.

BUG=b:247120749
TEST=Boot to OS on xivu and check that WLAN/BT still works.

Change-Id: I968d383278bd50268d899cff82067ceb7c3ba5ed
Signed-off-by: Ian Feng <ian_feng@compal.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67829
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Reka Norman <rekanorman@chromium.org>
Reviewed-by: Ben Kao <ben.kao@intel.com>
2022-09-28 15:09:46 +00:00
Matt DeVillier 52a22fa7e6 mb/google/octopus: rename baseboard GPIO table getter for clarity
Rename variant_base_gpio_table() to baseboard_gpio_table(), since the
GPIO table comes from the baseboard, and is overridden by a separate
table from the variant.

Drop the __weak qualifier as this function is not overridden.

Change-Id: I17db734784ce96cdf5e0486dc2ad057d73bfb15f
Signed-off-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67804
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
2022-09-28 15:09:29 +00:00
Matt DeVillier bbf2706fb4 mb/google/octopus/ampton: Use variant_override_gpio_table
Rather than duplicating the entire set of GPIOs from the baseboard, use
the variant_override_gpio_table() method like all other octopus
variants do.

TEST=build/boot ampton, dump GPIOs and verify unchanged.

Change-Id: I36aa25bbee7c21a51d9fdd40405f492082455d9c
Signed-off-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67803
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-09-28 15:09:15 +00:00
Venkat Thogaru 209efccba6 sc7180: Update correct path of reset.h header file
Updated reset.h header file path and sorted alphabetically

BUG=b:236990316
TEST=Validated on qualcomm sc7180 development board.

Signed-off-by: Venkat Thogaru <quic_thogaru@quicinc.com>
Change-Id: Ibf92df160a6f8ba588310508812a5601e68a887e
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67835
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-by: Shelley Chen <shchen@google.com>
2022-09-27 23:13:27 +00:00
Nick Vaccaro 9bf8f6bd90 mb/google/brya/variant/brya0: Add two new memory parts
Add support for the following two new memory parts to support a new
SKU that has two memory options that brya0 does not have:
  MT53E2G32D4NQ-046 WT:C
  MT53E512M32D1NP-046 WT:B

BUG=b:248126749
TEST="emerge-brya coreboot chromeos-bootimage", flash a skolas with
an image-brya0.serial.bin and verify it boots successfully to kernel.

Change-Id: I28667918e5a183339febdc054465effeac8bddbe
Signed-off-by: Nick Vaccaro <nvaccaro@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67879
Reviewed-by: Tarun Tuli <taruntuli@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-09-27 21:52:41 +00:00
Angel Pons c6df44b959 ec/lenovo/h8: Add Kconfig option for Fn-Ctrl swap
Having to use a runtime configurable option backend like CMOS just to
specify the value of the "fn_ctrl_swap" option is annoying. Introduce
a new Kconfig option to allow specifying the fallback value, which is
only used when the option backend cannot provide a value.

Change-Id: I00bb3cd60c443fc0c8adb82e8e0c436dfc5de24b
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67836
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2022-09-27 16:19:09 +00:00
Matt DeVillier acc91c335b mb/google/dedede: rename baseboard GPIO table getter for clarity
Rename variant_base_gpio_table() to baseboard_gpio_table(), since the
GPIO table comes from the baseboard, and is overridden by a separate
table from the variant.

Drop the __weak qualifier as this function is not overridden.

Change-Id: I11814016d654bc2c2e6d24b3d18fb30d5b843fe9
Signed-off-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67805
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
2022-09-27 15:16:49 +00:00
Matt DeVillier 6b8728f3ad mb/google/volteer: rename baseboard GPIO table getter for clarity
Rename variant_base_gpio_table() to baseboard_gpio_table(), since the
GPIO table comes from the baseboard, and is overridden by a separate
table from the variant.

Drop the __weak qualifier as this function is not overridden.

Change-Id: Id1e1a67608454466dc65bf4c4985cf4eba84c97d
Signed-off-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67807
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
2022-09-27 15:16:15 +00:00
Matt DeVillier 2f4b31f5a0 mb/google/guybrush: rename baseboard GPIO table getter for clarity
Rename variant_base_gpio_table() to baseboard_gpio_table(), since the
GPIO table comes from the baseboard, and is overridden by a separate
table from the variant.

Drop the __weak qualifier as this function is not overridden.

Change-Id: Ib8439e664defeafd2d08cffb74c997ab69230231
Signed-off-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67806
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
2022-09-27 15:15:51 +00:00
Matt DeVillier 4a16be91dd mb/google/zork: rename baseboard GPIO table getter for clarity
Rename variant_base_gpio_table() to baseboard_gpio_table(), since the
GPIO table comes from the baseboard, and is overridden by a separate
table from the variant.

Drop the __weak qualifier as this function is not overridden.

Change-Id: Iaa3c9404919fd6c43596d7b27cfab43a1a5b0b21
Signed-off-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67808
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
2022-09-27 15:15:39 +00:00
Fabio Aiuto fdcf698a89 acpi/acpi_pm.c: refactor acpi_pm_state_for_* functions
Use just one function to get the chipset powerstate and add an argument
to specify the powerstate claimer {RTC,ELOG,WAKE} and adjust the
failure log accordingly.

TEST: compile tested and qemu emulation successfully run

Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com>
Change-Id: I8addc0b05f9e360afc52091c4bb731341d7213cf
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67618
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2022-09-27 14:19:01 +00:00
V Sowmya e6d6d3620e drivers/intel/mipi_camera: Remove IPU ES support entry for ADL-N
The current IPU ES entry value is always set to true for ADL-N and
kernel picks the ES version of the main IPU FW even for the production
bootloader but loading is not successful due to the authentication
failure.

Alderlake-N silicon has the same CPU id for all the SKU's and
also the production binaries are backward compatible with ES parts.
This change removes the IPU ES support ACPI entry since the
kernel needs to load the production IPU main firmware on both the
ES/QS parts.

BUG=b:248249032
TEST=Verify the Camera functionality by enabling the IPU secure mode
on ADL-N variants with both ES/QS silicon.

Signed-off-by: V Sowmya <v.sowmya@intel.com>
Change-Id: I75b222e6f2b1ccdc5b6c448eb60afff3c1da3a8b
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67813
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Reka Norman <rekanorman@chromium.org>
2022-09-27 14:18:27 +00:00
zhaojohn ff69f5cb3f mb/google/rex: Allocate resources for PCIe TBT root port
This patch selects the SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES to allocate
TBT/USB4 root port resources for PCIe tunneling.

BUG=b:248328015
TEST=Built image and verified TBT/USB4 tunneling functions on Rex.

Change-Id: I69f4d26bb7b3d74dbda068add284a69f1bbeff40
Signed-off-by: zhaojohn <john.zhao@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67781
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2022-09-26 14:23:09 +00:00
Matt DeVillier 0208b51215 Documentation/drivers: Add section for i2c detect feature
Add a section explaining how the detect feature works and when it should
be used.

Change-Id: Ife5178d4565e76d0ff436c835c9c47525015c3ed
Signed-off-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67763
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2022-09-26 14:21:54 +00:00
Tim Wawrzynczak 72bae5b9bd mb/google/brya/var/agah: Explicitly program GPP_H13 in ramstage
In order that GPP_H13 not use the GPIO override programming from its
baseboard (brya), explicitly program GPP_H13 to a output HIGH instead
of relying on the 20K pullup from the baseboard.

BUG=b:240617195
TEST=SSD still functional

Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Change-Id: Iddedebe2d5cfc0123932b14980d1268bcb147703
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67766
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tarun Tuli <taruntuli@google.com>
2022-09-26 14:21:37 +00:00
Tim Wawrzynczak 25cc4a210d mb/google/brya/var/agah: Update PEXVDD enable GPIO for next board rev
The next rev of this board will move the dGPU PEXVDD enable pin from
GPP_E10 to GPP_F12. This patch handles both the old and newer revisions
by using an ACPI Name to hold the GPIO # for PEXVDD enable. It also
cleans up the GPIO handling a little bit between board revs.

BUG=b:242752623
TEST=dGPU is functional and power sequencing tests still pass on board
rev 2

Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Change-Id: Icc7968777f86ab07561b0a861b7d22ec714d1c34
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67765
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tarun Tuli <taruntuli@google.com>
2022-09-26 14:21:18 +00:00
Ricardo Ribalda e7b54bfc36 mb/google/brya/var/banshee: Remove privacy_gpio
On Banshee, when the privacy switch is toggled the camera is
disconnected. Which means that we will never be able to tell the user
that the privacy switch is enabled when the camera is on, making the
virtual control unusable.

Remove the description.

BUG=b:248219472
BRANCH=firmware-brya-14505.B
TEST=none

Change-Id: I1a241bd889c0c1aae039510a0620748b2f7a6806
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67773
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
2022-09-26 14:19:51 +00:00
EricKY Cheng 849d57a8e6 mb/google/skyrim/var/winterhold: Bug fix, modify GXTP7863 irq setting
Modify GXTP7863 generic.irq to generic.irq_gpio.

BUG=b:245082617
TEST=emerge-skyrim coreboot

Signed-off-by: EricKY Cheng <ericky_cheng@compal.corp-partner.google.com>
Change-Id: Iaf6cc6010132d5b33b06909ceb1069115a911b48
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67771
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
2022-09-26 14:19:06 +00:00
Selma Bensaid eb1725971a vendorcode/intel/fsp: Add Raptor Lake FSP headers for FSP v3361_03
The headers added are generated as per FSP v3361.03

In the future, when Alder Lake and Raptor Lake fsp align, Raptor Lake
fsp headers can be deleted and Raptor Lake soc will also use headers
from alderlake/ folder.

BUG=b:247855492
BRANCH=firmware-brya-14505.B
TEST=Boot to OS

Signed-off-by: Selma Bensaid <selma.bensaid@intel.com>
Change-Id: I267a0aefca18492bcbcfbf7acbe271887f0a39cf
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67748
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Bora Guvendik <bora.guvendik@intel.com>
2022-09-26 14:18:31 +00:00
Runyang Chen ff7ac271c0 soc/mediatek/mt8186: Allow SCP to access H264 encoder
Issue:
Camera APP is not functional after CB:67434 applied.

Root cause and solution:
SCP hardware needs to access H264 encoder registers, so we need to
remove the DEVAPC protection of H264 encoder for SCP.

BUG=b:247743696
TEST=camera APP is functional.

Signed-off-by: Runyang Chen <runyang.chen@mediatek.corp-partner.google.com>
Change-Id: I95946346018bff6a8f2dc02b1ff3e24ad079fc90
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67787
Reviewed-by: Yidi Lin <yidilin@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
2022-09-26 14:18:18 +00:00
Subrata Banik 9122d67a24 Revert "mb/google/rex: Create 64MB AP Firmware binary for Proto 0"
This reverts commit 1a8eb6c021.

Reason for revert: migrating to the 32MB AP Firmware hence, need to
revert this CL.

Signed-off-by: Subrata Banik <subratabanik@google.com>
Change-Id: Ibea1ad0cff008f9391cbda9e51899557b1e9c979
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67282
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tarun Tuli <taruntuli@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2022-09-26 05:32:54 +00:00
Felix Held 4e04776a1b cpu/x86/smm/smihandler: use lapicid()
Replace nodeid() function in cpu/x86/smm/smihandler.c with calling
lapicid() from include/cpu/x86/lapic.h.

TEST=Timeless build for lenovo/g505s which includes this file in the
build results in identical firmware image.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I336ca9888e24e4d6f10a81cc4f3760c9d7c8f4bc
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67777
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Martin Roth <martin.roth@amd.corp-partner.google.com>
2022-09-24 19:39:26 +00:00
Felix Held a0405b84ca cpu/x86/mp_init: drop unused MAX_APIC_IDS define
Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I599e26a40ab584232614440612e95c91a698df27
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67775
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martin.roth@amd.corp-partner.google.com>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
2022-09-24 19:39:05 +00:00
Felix Held 9b2d1d8f61 include/cpu/x86/mtrr: define NUM_FIXED_MTRRS once in mtrr.h
Instead of defining NUM_FIXED_MTRRS in both cpu/x86/mp_init.h and
cpu/x86/mtrr/mtrr.c in two different ways that will evaluate to the same
value, define it once in include/cpu/x86/mtrr.h which is included in
both C files.

TEST=Timeless build for amd/mandolin results in identical firmware image

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I71cec61e22f5ce76baef21344c7427be29f193f8
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67774
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Martin Roth <martin.roth@amd.corp-partner.google.com>
2022-09-24 19:38:44 +00:00
Reka Norman ee63b44c47 drivers/mrc_cache: Compare hashes instead of full data
The current MRC cache update process is slow (28 ms on nissa), because
cbmem is not cached in romstage. Specifically, the new MRC data returned
by the FSP is stored in the FSP reserved memory in cbmem, so operations
on the new data (computing the checksum, comparing to the old data) are
slow.

Replace the data checksum in the MRC header with a hash, and compare
hashes instead of comparing the full data. This has two benefits:
1. The xxhash function is faster than computing an IP checksum (4 ms vs
   14 ms on uncached data on nissa).
2. There's no need to memcmp() the full MRC data, which takes 14 ms on
   nissa.

Before:
550:starting to load ChromeOS VPD                     867,930 (4,664)
  3:after RAM initialization                          896,020 (28,090)
  4:end of romstage                                   906,274 (10,254)

After:
550:starting to load ChromeOS VPD                     864,820 (4,649)
  3:after RAM initialization                          869,652 (4,831)
  4:end of romstage                                   879,909 (10,257)

BUG=b:242667207
TEST=Check that MRC caching still works as expected on nissa. Corrupt
the MRC cache and check that memory is retrained.

Change-Id: I1b7848d1d05e555b61e0f1cb605550dfe3449c6d
Signed-off-by: Reka Norman <rekanorman@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67670
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-09-24 01:23:09 +00:00
Eddie Vas 1df1cf994a commonlib/fsp_relocate: add PE32 section support
Recently published Intel CedarIslandFSP binary contains PE images in
FSP-M and FSP-S. This causes coreboot boot hang on DeltaLake servers.
PI spec PI_Spec_1_7_final_Jan_2019 on uefi.org talks about FV files
requiring to support SECTION_PE32 sections and FSP specification
states that FSP images are created in alignment with PI specification.

FSP images are relocated at build time and run time using the func
fsp_component_relocate. That code only supported TE image relocation
so far.

The change required to add support for pe_relocate in fsp-relocate.c
I had to move a few functions to top of file as they need to be used
by pe_relocate but were placed below the te_relocate function. I chose
to place pe_relocate function next to te_relocate.
The code supports PE32 format, not PE32+, at this time.

Links for PE and FSP specs are provided below for reference.

Link= https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/fsp-architecture-spec-v2.pdf
Link= https://uefi.org/sites/default/files/resources/PI_Spec_1_7_final_Jan_2019.pdf

TESTED=
This code is tested with FSP version 33A for DeltaLake boot which has
FSP-M and FSP-S as PE32 sections. This FSP version does not boot on
DeltaLake without this change.

Change-Id: I01e2c123d74f735a647b994aa66419c9796f193e
Signed-off-by: Eddie Sharma <aeddiesharma@fb.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66819
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Nathaniel L Desimone <nathaniel.l.desimone@intel.com>
2022-09-24 01:19:13 +00:00
Felix Held 1f5c5da812 cpu/x86/smm/smihandler: use existing LAPIC ID register definition
Instead of redefining the register address in smihandler.c, use the
existing definitions from include/cpu/x86/lapic_def.h.

TEST=Timeless build for lenovo/g505s which includes this file in the
build results in identical firmware image.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: Id22f9b5ce53c7bced6bbcc3f5026d4c793b34f78
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67776
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-09-23 20:25:31 +00:00