Commit Graph

47748 Commits

Author SHA1 Message Date
Vidya Gopalakrishnan 596d5bc0fd soc/intel/alderlake: add power limits for Alder Lake-N SKUs
This patch adds support for the ADL-N SKUs based on the PCH ID.
Document reference: 645548 (ADL-N EDS Volume 1).

BUG=None
BRANCH=None
TEST=Build FW and test on adln_rvp board

Change-Id: I24c18a27a4a2c68c78bc3dc728c45ba04f57205d
Signed-off-by: Vidya Gopalakrishnan <vidya.gopalakrishnan@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64472
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Sumeet R Pawnikar <sumeet.r.pawnikar@intel.com>
2022-06-02 15:59:36 +00:00
Vidya Gopalakrishnan 60c519ee87 mb/intel/adlrvp: Enable DPTF for ADL-N RVP
BUG=None
BRANCH=None
TEST=Build FW and test on adln_rvp board
Verified thermal throttling successfully when participant reaches temp threshold as per Passive Policy.
Verified fan control successfully when participant reaches temp threshold as per Active Policy.
Also, verified system shutdown when Temperature of participants are reaching threshold as per Critical policy.

Signed-off-by: Vidya Gopalakrishnan <vidya.gopalakrishnan@intel.com>
Change-Id: Icafacfca6a026ec3b42906790831f11fd2f1b085
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64570
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Sumeet R Pawnikar <sumeet.r.pawnikar@intel.com>
2022-06-02 15:59:16 +00:00
Vidya Gopalakrishnan 7870a353df mb/intel/adlrvp: Set power limits dynamically for ADL-N SKUs
This patch adds support for the ADL-N SKUs based on the PCH ID.
Document reference: 645548 (ADL-N EDS Volume 1).

BUG=None
BRANCH=None
TEST=Build FW and test on adln_rvp board

Signed-off-by: Vidya Gopalakrishnan <vidya.gopalakrishnan@intel.com>
Change-Id: Ie49398b8a7de8d8cff3536eae6a5e893980f9c26
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64569
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Reviewed-by: Sumeet R Pawnikar <sumeet.r.pawnikar@intel.com>
2022-06-02 15:59:02 +00:00
Subrata Banik 37a55d16fc soc/intel/common/cpu: Use SoC overrides to set CPU privilege level
This patch implements a SoC overrides to set CPU privilege level
as the MSR is not consistent across platforms. For example:
On APL/GLK/DNV, it's MSR 0x120 and CNL onwards it's MSR 0x151.

BUG=b:233199592
TEST=Build and boot google/taeko to ChromeOS.

Signed-off-by: Subrata Banik <subratabanik@google.com>
Change-Id: I4584516102560e6bb2a4ae8c0d036be40ed96990
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64806
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
2022-06-02 15:58:46 +00:00
Arthur Heymans 0024678d17 cpu/intel/model_fxx: Select SSE2
Starting from Intel Pentium 4, cpus featured SSE2.
This will be used in the follow-up patches to determine whether to use
mfence as this instruction was introduced with the SSE2 feature set.

Change-Id: I8ce37d855cf84a9fb9fe9e18d77b0c19be261407
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64666
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
2022-06-02 15:58:34 +00:00
Arthur Heymans 346db92f8c cpu/x86/smm_module_loader: Drop superfluous checks
Checking if the stack encroaches on the entry points is done in other
parts of the code.

Change-Id: I275d5dda9c69cc89608450ae27dd5dbd581e3595
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63480
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
2022-06-02 15:58:19 +00:00
Tyler Wang 3b9f715183 mb/google/nissa/var/craask: Disable PCIe WLAN pins
Craask uses CNVi WLAN, so disable the PCIe-related GPIOs.

BUG=b:229040345
Test=emerge-nissa coreboot

Signed-off-by: Tyler Wang <tyler.wang@quanta.corp-partner.google.com>
Change-Id: I7bcf041503dcee448758dac46b1c9711d0b02ba3
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64461
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Reka Norman <rekanorman@chromium.org>
Reviewed-by: Kangheui Won <khwon@chromium.org>
2022-06-02 15:42:39 +00:00
Arthur Heymans 46e93f91af nb/intel/i440bx: Use PARALLEL_MP
The ramstage size is decreased by roughly 5K, but the compressed size
increased by ~1K.

Change-Id: Ic8d2582b353069eecea8561cfe01b2dd8221779b
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/59693
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-02 05:49:15 +00:00
Arthur Heymans e771b9a65f cpu/x86/mp.h: Implement a pre-SSE2 mfence
Taken from the Linux Kernel.

Tested: Qemu using '-cpu pentium3' now boots.

Change-Id: I376f86f4d7992344dd68374ba67ad3580070f4d8
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/59766
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
2022-06-02 05:48:08 +00:00
Martin Roth 7235cc19d6 Documentation: Update coreboot 4.17 release notes
These are the final release notes before the release.  They will be
updated immediately following the release with final numbers and
the commit ids that the release spans.

Signed-off-by: Martin Roth <gaumless@gmail.com>
Change-Id: Id9491ad9aa6ab3eb5504bee85591f3b1d9bf6cc2
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64846
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
2022-06-02 00:13:49 +00:00
Martin Roth 7b739f016b Documentation: Update index.md and add 4.18 release notes
Signed-off-by: Martin Roth <gaumless@gmail.com>
Change-Id: I52814ebbae804ea0ff24a7cec0618054029b8b47
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64843
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
2022-06-02 00:13:17 +00:00
Peter Lemenkov cb6377ed71 mb/lenovo/w541/Kconfig: sort alphabetically
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
Change-Id: I9cefa29738b42dd08cb00489ad6e8644e3fc405e
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63997
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2022-06-01 21:05:59 +00:00
Peter Lemenkov 287500d2a6 mb/lenovo/t440p/Kconfig: remove duplicates and sort alphabetically
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
Change-Id: I47fded50377ab624e4bceb320a5e069a7f36c2fb
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63996
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2022-06-01 21:05:50 +00:00
Peter Lemenkov b1eda091a3 mb/lenovo/t440p/hda_verb: Whitespace
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
Change-Id: I92c167bf95e605e098324b9e80cfaab8f589dcab
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63995
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2022-06-01 21:05:37 +00:00
Peter Lemenkov 6e807c12a2 mb/lenovo/w541/hda_verb: Whitespace
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
Change-Id: I284a5e39ca4b0032ed0c8e3a92c095db319d1691
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63994
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2022-06-01 21:05:26 +00:00
Felix Singer 2883305888 mb/lenovo/w541/dsdt.asl: Remove redundant comment
Signed-off-by: Felix Singer <felixsinger@posteo.net>
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
Change-Id: Ide938a40ed1f6869ee248ed46f6bf29f95649490
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63993
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2022-06-01 21:05:18 +00:00
Peter Lemenkov 11a2d15e6c mb/lenovo/t440p/cmos: Remove unused options
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
Change-Id: I9bf95ed74468e283bab79a5f25aee758d37d926a
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63992
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2022-06-01 21:05:13 +00:00
Julius Werner af20fd748b cbfs: Add CBFS_TYPE_INTEL_FIT and exclude it from CBFS verification
The Intel Firmware Interface Table (FIT) is a bit of an annoying outlier
among CBFS files because it gets manipulated by a separate utility
(ifittool) after cbfstool has already added it to the image. This will
break file hashes created for CBFS verification.

This is not actually a problem when booting, since coreboot never
actually loads the FIT from CBFS -- instead, it's only in the image for
use by platform-specific mechanisms that run before coreboot's
bootblock. But having an invalid file hash in the CBFS image is
confusing when you want to verify that the image is correctly built for
verification.

This patch adds a new CBFS file type "intel_fit" which is only used for
the intel_fit (and intel_fit_ts, if applicable) file containing the FIT.
cbfstool will avoid generating and verifying file hashes for this type,
like it already does for the "bootblock" and "cbfs header" types. (Note
that this means that any attempt to use the CBFS API to actually access
this file from coreboot will result in a verification error when CBFS
verification is enabled.)

Signed-off-by: Julius Werner <jwerner@chromium.org>
Change-Id: I1c1bb6dab0c9ccc6e78529758a42ad3194cd130c
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64736
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2022-06-01 19:45:22 +00:00
Julius Werner 0057262b38 cbfs: Rename TYPE_FIT to TYPE_FIT_PAYLOAD
There are too many "FIT" in firmware land. In order to reduce possible
confusion of CBFS_TYPE_FIT with the Intel Firmware Interface Table, this
patch renames it to CBFS_TYPE_FIT_PAYLOAD (including the cbfstool
argument, so calling scripts will now need to replace `-t fit` with `-t
fit_payload`).

Signed-off-by: Julius Werner <jwerner@chromium.org>
Change-Id: I826cefce54ade06c6612c8a7bb53e02092e7b11a
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64735
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
2022-06-01 19:45:08 +00:00
Sudheer Kumar Amrabadi cc4dd88d2b sc7180: Trogdor to support 2 dcb
BUG=b:227946776
TEST=Validated on sc7180 Lazor board

Signed-off-by: Sudheer Kumar Amrabadi <quic_samrabad@quicinc.com>
Change-Id: Ie4d7f7f0b24aee06ffb272b21b74fea4160fe87c
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64244
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
2022-06-01 18:05:38 +00:00
Tony Huang cc6a766764 mb/google/brya/var/agah: Enable EC keyboard backlight
BUG=b:210970640
TEST=emerge-draco coreboot chromeos-bootimage

Change-Id: I90d9f2e298e54832bc077eae1c8be0e39c151d90
Signed-off-by: Tony Huang <tony-huang@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64808
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
2022-06-01 15:34:17 +00:00
Elyes Haouas a4b8e5ff94 soc/mediatek/mt8186/pll.c: Fix typo in log message
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: Ied8eb0fb51d0521eedd8ff77b1083813d3843570
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64811
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
2022-06-01 15:34:04 +00:00
Dtrain Hsu e18e1f9af5 mb/google/brya/var/kinox: Set memory SMBus addresses based on board rev
Starting with id 2, boards switched the memory SMBus slave address, and
use 0x50, 0x52.

BUG=b:233975373
TEST=Build and boot to Chrome OS

Signed-off-by: Dtrain Hsu <dtrain_hsu@compal.corp-partner.google.com>
Change-Id: I5e683ffdbc0727259ee796610cd97a6e378bf335
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64810
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Ricky Chang <rickytlchang@google.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
2022-06-01 15:33:48 +00:00
Arthur Heymans fdf6d121f5 driver/intel/fsp2_0: Disable NULL deref code when calling FSP
FSP needs interrupts disable so also disable generating exceptions
around debug registers.

Change-Id: Ia49dde68d45b71e231aaf32a0e6fd847f0e06146
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64426
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Reviewed-by: Uwe Poeche <uwe.poeche@siemens.com>
Reviewed-by: Sean Rhodes <sean@starlabs.systems>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-01 13:40:20 +00:00
Zanxi Chen c055f35314 mb/google/corsola: Add new board 'steelix'
Add a new kingler follower 'steelix'.

BUG=b:232195941
TEST=make # select steelix

Change-Id: Idd2ed1404cde72ecdb6cc3a262e793a6272aa871
Signed-off-by: Zanxi Chen <chenzanxi@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64789
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
2022-06-01 13:28:06 +00:00
Arthur Heymans 4db2e8e88a mb/emulation/qemu-q35: Support PARALLEL_MP with SMM_ASEG
Tested with SMI_DEBUG: SMM prints things on the console.

Change-Id: I7db55aaabd16a6ef585c4802218790bf04650b13
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61494
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-06-01 10:43:07 +00:00
Arthur Heymans 460936567f Revert "cpu/x86/mtrr: Make useful MTRR functions available for all boot stages"
This code is only meant to be used in early stages so move it back to
earlymtrr.c.

This reverts commit 3ad00d0c89.

Change-Id: I9bc1ac4b863eb43d3e398e6462ee139a7751bf62
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64804
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-01 09:49:05 +00:00
Arthur Heymans 481599f2c8 soc/intel/fast_spi: Use smarter mtrr code in ramstage
mtrr_use_temp_range is a lot smarter than the plain set_var_mtrr. It
will compute a new optimal solution with the temp ranges included
while also taking care of the cleanup before loading the payload/s3
resume.

Change-Id: I283ba07fc12c410be39dfdc828657598237247c1
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63550
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-01 09:48:54 +00:00
Arthur Heymans 29aa1e1567 Revert "cpu/x86: Add function to set `put_back_original_solution` variable"
Now that mtrr_use_temp_range() can deal with multiple ranges there is no
need to expose this to restore the MTRR solution.

This reverts commit 00aaffaf47.

Change-Id: Ib77a0f52228cd2f19f3227824f704ac690be4aba
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64803
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-01 09:48:44 +00:00
Arthur Heymans 4ed2260136 cpu/x86/mtrr: Allow for multiple TEMP MTRR ranges
Temporary MTRR setup usually covers the memory mapped flash. On recent
Intel hardware the mapping is not coherent. It uses an external window
for parts of the BIOS region that exceed 16M.

This now allows up to 10 temporary memory ranges.

TESTED: Qemu with multiple MTRR temporary MTRR ranges sets up a valid
and optimized temporary MTRR solution.

Change-Id: I23442bd2ab7602e4c5cbd37d187a31413cf27ecc
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63555
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2022-06-01 09:48:37 +00:00
Julius Werner d99a311a8a Update qc_blobs submodule to upstream master
Updating from commit id 9ab0f0b:
	sc7280: Update AOP firmware to version 379

to commit id e8efa5d:
	sc7180/boot: Update qclib blobs binaries from 44 to 46

This brings in 7 new commits.

Signed-off-by: Julius Werner <jwerner@chromium.org>
Change-Id: I5f0a9075cde90991e927f3bfb75246bdb9877837
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64844
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Shelley Chen <shchen@google.com>
2022-06-01 02:57:42 +00:00
Won Chung 7303e3dec8 mb/google/brya/var/craask: Add ACPI _PLD custom values
This patch uses ACPI _PLD macros to add custom values for USB ports.

   +----------------+
   |                |
   |     Screen     |
   |                |
   +----------------+
C0 |                | C1
A0 | MLB         DB | A1
   |                |
   +----------------+

BUG=b:232256907
TEST=emerge-brya coreboot

Signed-off-by: Won Chung <wonchung@google.com>
Change-Id: Ia288937ef3a4229088b60d87d31ea88057377a71
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64731
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kangheui Won <khwon@chromium.org>
Reviewed-by: Reka Norman <rekanorman@chromium.org>
2022-06-01 01:44:34 +00:00
Won Chung 5cfd750899 mb/google/brya/var/nivviks: Add ACPI _PLD custom values
This patch uses ACPI _PLD macros to add custom values for USB ports.

   +----------------+
   |                |
   |     Screen     |
   |                |
   +----------------+
C0 |                | C1
A0 | MLB         DB | A1
   |                |
   +----------------+

BUG=b:232256907
TEST=emerge-brya coreboot

Signed-off-by: Won Chung <wonchung@google.com>
Change-Id: If2a77c0239646759e0192b72ba1991d334dd15aa
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64730
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kangheui Won <khwon@chromium.org>
Reviewed-by: Reka Norman <rekanorman@chromium.org>
2022-06-01 01:44:08 +00:00
Won Chung 8305593875 mb/google/brya/var/nereid: Add ACPI _PLD custom values
This patch uses ACPI _PLD macros to add custom values for USB ports.

   +----------------+
   |                |
   |     Screen     |
   |                |
   +----------------+
C0 |                | C1
A0 | MLB         DB | A1
   |                |
   +----------------+

BUG=b:232256907
TEST=emerge-brya coreboot

Signed-off-by: Won Chung <wonchung@google.com>
Change-Id: I47b069377046652ba4d278733a15bbca98bdb739
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64729
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kangheui Won <khwon@chromium.org>
Reviewed-by: Reka Norman <rekanorman@chromium.org>
2022-06-01 01:43:54 +00:00
Dtrain Hsu 850925ff00 mb/google/brya/var/kinox: Add delay time for BH799BB rtd3
This CL adds the delay time into the RTD3 sequence, which will turn
off the eMMC controller (a true D3cold state) during the RTD3 sequence.
We checked power on sequence requires enable pin prior to reset pin
delay of 50ms and add delay of 20ms to meet the sequence on various
eMMC SKUs. Based on BH799BB_Preliminary_DS_R079_20201124.pdf in
chapter 7.2.

BUG=b:232327947
TEST=Build and suspend_stress_test -c 2500 pass

Signed-off-by: Dtrain Hsu <dtrain_hsu@compal.corp-partner.google.com>
Change-Id: I42cde5336f73a446cf5157e78f955fef8d70ae7e
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64686
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
2022-06-01 01:41:22 +00:00
Teddy Shih fef198f302 mb/google/dedede/beadrix: Add fw_config probe for ALC5682-VD & VS
ALC5682-VD/ALC5682I-VS load different kernel driver by different hid
name. Update hid name depending on the AUDIO_CODEC_SOURCE field of
fw_config. Define FW_CONFIG bits 41 - 43 (SSFC bits 9 - 11) for codec
selection.

ALC5682-VD: _HID = "10EC5682"
ALC5682I-VS: _HID = "RTL5682"

BRANCH=dedede
BUG=b:226910787,b:232057623
TEST=on beadrix, verified by FW_NAME=beadrix emerge-dedede coreboot.

Signed-off-by: Teddy Shih <teddyshih@ami.corp-partner.google.com>
Change-Id: I059b750743ab3b29d17c50d0d4301fbae4873acc
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64025
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Super Ni <super.ni@intel.corp-partner.google.com>
Reviewed-by: Ivan Chen <yulunchen@google.com>
2022-06-01 01:40:39 +00:00
Sudheer Kumar Amrabadi 58f6031b61 qclib common code clean up changes
BUG=b:227946776
TEST=Validated on sc7180 and sc7280 hardware

Signed-off-by: Sudheer Kumar Amrabadi <quic_samrabad@quicinc.com>
Change-Id: I211e132d1728cf14bdd201b71618af89b339cbc1
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64245
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
2022-06-01 01:32:00 +00:00
Sudheer Kumar Amrabadi dfe817e451 sc7280: Improve performance by removing delays in cpucp init
As cpucp prepare takes 300 msec moving to before ramstage

BUG=b:218406702
TEST=Validated on qualcomm sc7280 development board observed
total timestamp as 1.73 sec from 1.97 sec

Change-Id: I1a727514810a505cd1005ae7f52e5215e404b3bb
Signed-off-by: Sudheer Kumar Amrabadi <quic_samrabad@quicinc.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63085
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Shelley Chen <shchen@google.com>
2022-06-01 00:54:08 +00:00
Shelley Chen 363202b435 soc/qualcomm: Increase SPI frequency to 75 MHz
Increase frequency of sc7280 to 75 MHz.  Setting the delay to 1/8 of
a cycle as a result of experimentation.

BUG=b:190231148
BRANCH=None
TEST=Make sure that herobrine board boots
     HW Engineer measured SPI frequency and verified running at 75 MHz

Signed-off-by: Shelley Chen <shchen@google.com>
Change-Id: I3cf5a7c85f12800a11ece397a354349f2a0a235f
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64673
Reviewed-by: Julius Werner <jwerner@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-05-31 22:19:02 +00:00
Sean Rhodes 84d54d40b8 mb/starlabs/lite/glk: Don't configure GPIO's 147 through 156
These are configured by the TXE, so they do not need to be configured.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: Ia1bf4e32aa156a0e1a74df2f62eb31cdadb376a9
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64454
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@tutanota.com>
2022-05-31 20:47:28 +00:00
Sean Rhodes 1288832ddc mb/starlabs/lite/glk: Simplify GPIO macros
Use shorter macros to configure GPIOs.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: I91961658dca0902080576134e63e6d8a7c78d711
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64453
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@tutanota.com>
2022-05-31 20:46:36 +00:00
Sean Rhodes 642c6b1620 mb/starlabs/lite/glk: Disconnect unused GPIOs
Disconnect GPIOs that are unused or not connected.

Also, update comments that are vague or have errors.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: Ic83797b8a8e05eed99db0356f360a329f6fbf347
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64452
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@tutanota.com>
2022-05-31 20:45:11 +00:00
Elyes Haouas ec56d6f69e x86/include/arch/boot: Fix header guard
While on it, reformat code and remove unused macro.

Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: I63e413820cb3f4dfa21d1692301348ecdb3190b9
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64784
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
2022-05-31 13:47:29 +00:00
Tyler Wang c71fa97038 mb/google/nissa/var/craask: Generate SPD ID for supported memory part
Add supported memory parts in mem_parts_used.txt, and generate SPD id
for this part.

K3LKLKL0EM-MGCN

BUG=b:229938024
TEST=emerge-nissa coreboot

Signed-off-by: Tyler Wang <tyler.wang@quanta.corp-partner.google.com>
Change-Id: Ie022dd95929549ddd403d4c1d1c52174fd3fd721
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64678
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Reka Norman <rekanorman@chromium.org>
2022-05-31 13:45:19 +00:00
Tyler Wang df03dec7f5 spd: Add new LP5 part Samsung K3LKLKL0EM-MGCN
Samsung K3LKLKL0EM-MGCN will be used by the nissa variant craask. Add
it to the LP5 parts list and regenerate the SPDs using spd_gen.

BUG=b:229938024
TEST=util/spd_tools/bin/spd_gen spd/lp5/memory_parts.json lp5

Signed-off-by: Tyler Wang <tyler.wang@quanta.corp-partner.google.com>
Change-Id: I5648f297130eaf8541d99b2db7777774a0b1d8fc
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64439
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kangheui Won <khwon@chromium.org>
Reviewed-by: Reka Norman <rekanorman@chromium.org>
2022-05-31 13:45:09 +00:00
Elyes HAOUAS 32727823b5 soc/qualcomm: Replace <cbfs.h> with <program_loading.h>
Change-Id: I0cd9960be80330b0b0bf476213bdc242db647e98
Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61035
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@tutanota.com>
2022-05-31 13:44:34 +00:00
Elyes Haouas 0a38395715 arch/arm{64}/include: Remove unused 'boot.h' file
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: Ibcbaa39ee3922e1f7add8694d8c7c491881d7124
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64783
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
2022-05-31 13:44:18 +00:00
Matt DeVillier c636142b02 drivers/i2c/generic: Add support for i2c device detection
Add 'detect' flag which can be attached to devices which may or may not
be present at runtime, and for which coreboot should probe the i2c bus
to confirm device presence prior to adding an entry for it in the SSDT.

This is useful for boards which may utilize touchpads/touchscreens from
multiple vendors, so that only the device(s) present are added to the
SSDT. This relieves the burden from the OS to detect/probe if a device
is actually present and allows the OS to trust the ACPI _STA value.

Change-Id: I1a4169ed6416d544773a37d29cdcc154d3c28519
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63211
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@tutanota.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
2022-05-31 13:44:02 +00:00
Matt DeVillier ee849ba625 dev/i2c_bus: Add declaration, implementation of i2c_dev_detect()
This patch adds the I2C equivalent of an SMBus quick write to an I2C
device, which is used by some I2C drivers as a way to probe the
existence (or absence) of a certain device on the bus, based on
whether or not a 0-byte write to an I2C address is ACKed or NACKed.

i2c_dev_detect() is implemented using the existing i2c bus ops transfer()
function, so no further work is needed for existing controller drivers
to utilize this functionality.

Change-Id: I9b22bdc0343c846b235339f85d9f70b20f0f2bdd
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64537
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@tutanota.com>
2022-05-31 13:43:39 +00:00
Matt DeVillier 57097130d5 drivers/i2c/dw_i2c: Adjust to handle 0-byte transfers
0-byte writes can be used as a way to probe/check presence of an i2c
device, so adjust _dw_i2c_transfer() to immediately set the STOP bit
and raise logger level for TX abort messages when the segment length
is zero. Adjust dw_i2c_transfer() to allow zero-segment-length
messages to be passed thru to _dw_i2c_transfer().

Tested as part of entire i2c-detect patch train.

Change-Id: I518e849f4c476c264a1464886b1853af66c0b29d
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63561
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@tutanota.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
2022-05-31 13:43:09 +00:00