Commit graph

57,602 commits

Author SHA1 Message Date
Michał Żygowski
b14ec5fbab 3rdparty/open-power-signing-utils: add SecureBoot utility for OpenPOWER
Signing is performed with test keys by default, set
CONFIG_SIGNING_KEYS_DIR to a non-empty value to use other keys.

Depending on the version of the Talos II firmware this alone might not
allow booting because coreboot replaces only part of the stock firmware
and its newer versions enable secure boot by default (not to be confused
with SecureBoot in EFI).  The signing performed in this commit is still
a prerequisite and might as well be done on its own.  Fixing operation
with newer stock firmware will be done in a follow-up change.

Change-Id: Id88baef5ecb1f8ffd74a7f464bbbaaaea0ca643d
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67065
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Krystian Hebel <krystian.hebel@3mdeb.com>
2024-09-06 13:55:50 +00:00
Sean Rhodes
30394db475 mb/starlabs/byte_adl: Add Alder Lake N Byte Mk II
Tested using `edk2` from
`github.com/starlabsltd/edk2/tree/uefipayload_vs`:
* Windows 11
* Ubuntu 22.04
* Manjaro 22

No known issues.

https://starlabs.systems/pages/byte-specification

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: Idff2d883a8c29f0fee9d633708aac92061a45132
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80705
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2024-09-06 13:54:14 +00:00
Cliff Huang
216d8e1965 soc/intel/common/gpio: vm index changes as PTL vm entries are not continuous
Add specific virtual wire mapping structure for:
- First pad group does not starts with bit position 0.
- vw_index and position are not continuous in between groups within a
  community.

BUG=
TEST=boot to OS and use iotools to read the registers that use 16-bit
port ID such as IOM AUX Bias Ctrl register to verify the 16-bit group
ID field.

Signed-off-by: Cliff Huang <cliff.huang@intel.com>
Change-Id: I986d4f4fe59b110e5075cab8742dfe8b336d034b
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83997
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-09-06 13:36:57 +00:00
Shon
516a31551e mb/google/brask/var/bujia: Add PSYS setting
According to the Intel OPS spec, the DC power from display is
12~19V@8A max. It can't set PsysPmax by unknown voltage, so get
voltage by ec command "ectool adcread 4" then calculate PsysPmax value.
The OPS display can supply 90W power, configure psys_pl2 to limit
the system power to 90W.

BUG=b:329037849
BRANCH=firmware-brya-14505.B
TEST= USE="fw_debug" LOCALES="en"  emerge-brask chromeos-bmpblk
intel-rplfsp intel-adlfsp coreboot chromeos-bootimage

Check adcread value by ectool adcread 4. If get 19540, PsysPmax
should be 19540 * 8000 ~= 156 W.

Check FSP debug log have the following message.
PsysPmax = 156W

Change-Id: Ic6e9c6ce9f3179c7d63c1169695fbc23188456dd
Signed-off-by: Shon <shon.wang@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83593
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Derek Huang <derekhuang@google.com>
2024-09-06 13:34:28 +00:00
Dinesh Gehlot
93db775bf7 vc/google/chromeos: Skip boot info logging if cse sync at payload
This patch skips event logging for current boot information at ramstage
if CSE sync is scheduled at payload. Given that CSE sync could initiate
a system reset, resulting in redundant boot information logs, the
payload should handle the logging of boot information following CSE
sync.

BUG=b:360082747
TEST=Verified elog boot info is not logged at ramstage

Change-Id: Ia29ec350facc6850c04bb988027ecb146e648a50
Signed-off-by: Dinesh Gehlot <digehlot@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84120
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-09-06 13:33:12 +00:00
Yidi Lin
e7a4515b5b soc/mediatek/mt8196: Add EINT support
Add support to configure GPIOs to pull for external interrupts (EINT).

BUG=b:334723688
TEST=Talk with Ti50 TPM using IRQ flow.

Change-Id: Ibeb2dafcd9909b4afbfa81728700718f01d3818f
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84026
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-09-06 13:31:25 +00:00
Wisley Chen
4258b8bb3d mb/google/nissa/var/yavilla: Add 1.2V enable pin in VCM
Add control for the 1.2V enable pin in VCM to comply the mipi camera
power sequence.

2.8V enable --> 1.2V enable --> reset

BUG=b:362386165
TEST=Run ITS test

Change-Id: I495b2e266ee3d24ed3334bb9c173b3993d095e8e
Signed-off-by: Wisley Chen <wisley.chen@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84211
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
2024-09-06 13:30:30 +00:00
Michał Żygowski
6c8b0e430f Makefile.mk: compile ECC tools and inject ECC to final image
$ build/cbfstool build/coreboot.rom print
FMAP REGION: COREBOOT
Name                           Offset     Type           Size   Comp
cbfs_master_header             0x0        cbfs header        32 none
fallback/romstage              0x80       stage           18495 LZ4  (30096 decompressed)
fallback/ramstage              0x4940     stage           24288 LZMA (61240 decompressed)
config                         0xa880     raw              1324 LZMA (3308 decompressed)
revision                       0xae00     raw               726 none
build_info                     0xb100     raw               122 none
(empty)                        0xb1c0     null           347108 none
header_pointer                 0x5fdc0    cbfs header         4 none

Change-Id: I8541aa6f1429ed6143830ed11c47c150183ddf0d
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67064
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
2024-09-06 13:27:18 +00:00
Jian Tong
19922cb366 mb/google/brox/var/lotso: remove unused cam enable_gpio
Based on schematics NB7228A_LOTSO_INTEL_MB_PROTO_20240521A_BOM.pdf update devicetree settings.

BUG=b:333494257
TEST=emerge-brox coreboot chromeos-bootimage and boot on

Change-Id: Id8f30597ef9bceb9bdd4a3267266f1d189aa6fd8
Signed-off-by: Jian Tong <tongjian@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84198
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-09-06 13:15:15 +00:00
Jian Tong
d1243fcaad mb/google/brox/var/lotso: disable RTS5227 PCIE L0s support
Power consumption according to RTS5227 datasheet section 6.4, L0s is not supported, so set it to ASPM_L1.

lspci -vvvv -s 01:00 to verify LnkCtl: ASPM L1 Enabled.

BUG=b:359409425
TEST=emerge-brox sys-boot/coreboot sys-boot/chromeos-bootimage

Change-Id: I87bb0d195566d273951dee6eeb54c9b388dd7607
Signed-off-by: Jian Tong <tongjian@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84177
Reviewed-by: Kun Liu <liukun11@huaqin.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
2024-09-06 13:15:05 +00:00
Sumeet Pawnikar
4e1ed767ab mb/google/brox/variants/brox: Update PL1 Min
Update PL1 Min value from 6W to 15W based on the brox thermal cooling
capacity and hardware design.

BUG=None
BRANCH=None
TEST=Build and boot on brox board

Signed-off-by: Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
Change-Id: I266a78806e065bf7af0d5fcad9b22ab63aa892e2
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83661
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-09-06 13:14:40 +00:00
Sean Rhodes
9f6cb3e611 drivers/i2c/generic: Remove erroneous acpigen_pop_len
There are one too many acpigen_pop_len calls in the code
to generate the ROTM; remove one to fix an EMERG warning:
    [EMERG] ASSERTION_ERROR: file `src/acpi/acpigen.c`, line 38

The extra acpigen_pop_len() call was added commit
45d2c3d543 ("i2c/drivers/generic: Return ROTM in a package").

Change-Id: I913022144813f7f65eac1bcb7c97656f2c513c0b
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84197
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2024-09-06 13:03:53 +00:00
Jeremy Compostella
14292729e8 soc/intel/pantherlake: Hardcode IOM_BASE_ADDR_MAX value
iasl refuses to perform an arithmetic computation in a QWordMemory
parameter and fails with the following error.

dsdt.asl   2149: 0x4010800000, ((0x4010800000 + 0x10000) - 1), 0x0,
Error    6051 -            ^ Address Min is greater than Address Max

This commit replaces the arithmetic with the result to define
IOM_BASE_ADDR_MAX.

BUG=b:348678529
TEST=Build for google/fatcat mainboard.

Change-Id: Ia5cf899b049cb8eb27b4ea30c7f3ce7a14884f16
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84216
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-09-05 18:28:21 +00:00
David Wu
f6b1585cbd mb/google/nissa/var/riven: Update GPIO pins for 3rd dmic support
When world-facing camera is absent, coreboot need to enable
GPP_R6(DMIC_WCAM_CLK) and GPP_R7(DMIC_WCAM_DATA) for 3rd dmic support

BUG=b:333973512
TEST=Boot google/riven to OS and verify 3rd dmic working properly.

Change-Id: I6c8780ce37b5d3987f5cdf6e6e6d0b4896b33230
Signed-off-by: David Wu <david_wu@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84141
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Jayvik Desai <jayvik@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-09-05 15:29:46 +00:00
Yuchi Chen
0d4ce45dca soc/intel/common/systemagent: Fix grammer in comments
Change-Id: I62d0e324329fdde599e67efb23f813e3b3c650ef
Signed-off-by: Yuchi Chen <yuchi.chen@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84199
Reviewed-by: Nicholas Chin <nic.c3.14@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
2024-09-05 15:28:59 +00:00
Karthikeyan Ramasubramanian
3cb75c50b8 mb/google/brox/var/jubilant: Remove STORAGE_UNKNOWN fw_config option
With `probe unprovisioned` fw_config rule, there is no need to define an
explicit STORAGE_UNKNOWN option. Hence remove it.

BUG=None
TEST=Build Jubilant FW image.

Change-Id: I4f6ace4b39a1ee0b63486d3872b20c8da719ae4a
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84095
Reviewed-by: Bob Moragues <moragues@google.com>
Reviewed-by: Ren Kuo <ren.kuo@quanta.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-09-05 13:33:21 +00:00
Cliff Huang
1ef8da2f5b soc/intel/common/block/acpi: Add GPE1 blocks to ACPI FADT table
Use CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_HAVE_GPE1 to enable GPE1 block.
This will include GPE1 blocks to FADT with their info.

BUG=362310295
TEST=boot to OS and check that FADT table include GPE1.
FADT should have:
GPE1 Block Address : 00001810
GPE1 Block Length : 18
GPE1 Base Offset : 80

Signed-off-by: Cliff Huang <cliff.huang@intel.com>
Change-Id: Ia6928c35b86f4a2243d58597b17b2a3a5f54271e
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84103
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-09-05 07:53:10 +00:00
Saurabh Mishra
640d1c456c src/include: Introduce a new BIT_FLAG_32(x) macro
Introduces the BIT_FLAG_32(x) macro to create a 32-bit mask with the
designated bit set. This ensures compatibility with the 32-bit
'GEN_PMCON_A' register on 64-bit systems, where 1ul is 64 bits wide and
could potentially cause an overflow when shifted beyond 31 bits.

Change-Id: I70be1ccba59d25af2ba85a2014232072abf2f87d
Signed-off-by: Saurabh Mishra <mishra.saurabh@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84142
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Pratikkumar V Prajapati <pratikkumar.v.prajapati@intel.com>
2024-09-04 18:31:25 +00:00
Subrata Banik
8db1dfb9cb soc/intel: Refactor ITSS macros
This patch refactors ITSS related SoC specific macros by consolidating
them into a common itss.h file. This improves code maintainability and
reduces redundancy as each SoC previously defined the same macros.

Specific changes include:

- Move SoC specific ITSS macros into intelblocks/itss.h.
- SoC code now includes intelblocks/itss.h instead of the SoC-local
  soc/itss.h.
- Drop soc/itss.h from static ASL files.
- Delete soc/itss.h from all SoC locals except Apollo Lake and
  Sky Lake.

TEST=Able to build and boot google/hatch, google/xol and google/karis.

Change-Id: I6461dc93b0d21bec5429075bc26435bae3754d74
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84183
Reviewed-by: Jayvik Desai <jayvik@google.com>
Reviewed-by: Dinesh Gehlot <digehlot@google.com>
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Sean Rhodes <sean@starlabs.systems>
2024-09-04 12:54:55 +00:00
Ren Kuo
13cee3c195 mb/google/brox/jubilant: Tune I2C timing
Tune I2C2 timing:
Set falling time to 250ns from 400ns to meet spec: "THIGH>0.6us"

BUG=b:362685374
TEST= Build jubilant firmware
      Measure the i2c signal on jubilant to meet spec:
      I2C2 THIGH from 0.494 us to 0.76 us

Change-Id: I42a60edc0b361bfabacf5376ef89f436efedb356
Signed-off-by: Ren Kuo <ren.kuo@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84143
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Bob Moragues <moragues@google.com>
Reviewed-by: Kenneth Chan <kenneth.chan@quanta.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
2024-09-04 04:47:40 +00:00
Saurabh Mishra
174755f555 soc/intel/common/block: Include register offsets for POWER_CTL
Details:
- Add (POWER_CTL) – Offset 0x1fc required bits.

Change-Id: Ief7f514c5837cb2f7c3158b67c4f6fed86796e71
Signed-off-by: Saurabh Mishra <mishra.saurabh@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84178
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Pratikkumar V Prajapati <pratikkumar.v.prajapati@intel.com>
2024-09-04 04:38:51 +00:00
Saurabh Mishra
2e1b7d3a15 include/cpu/x86: Add Misc Enable and Thermal Interrupt Register Macro
Details:
- Add (TM1_TM2_EMTTM_ENABLE_BIT) - Offset 0x1a0 required bits
- Add (IA32_PACKAGE_THERM_INTERRUPT) – Offset 0x1b2 required bits

Change-Id: I7be9a43a51bc52300e66cbf736c3e3275714b13b
Signed-off-by: Saurabh Mishra <mishra.saurabh@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84174
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Pratikkumar V Prajapati <pratikkumar.v.prajapati@intel.com>
2024-09-04 04:38:43 +00:00
Subrata Banik
500b335b10 soc/intel: Remove unused GPIO_IRQ_xxx definitions
This patch removes the GPIO_IRQ_START and GPIO_IRQ_END definitions
from itss.h for Alder Lake, Cannon Lake, Elkhart Lake, Jasper Lake,
Meteor Lake and Tiger Lake. These definitions are no longer needed.

TEST=Able to build and boot google/xol and google/karis.

Change-Id: I60a08ba2c894fd1c1af6c6aef3ddc4a33ec63e76
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84182
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-09-04 03:43:12 +00:00
Subrata Banik
17888bf4de soc/intel/meteorlake: Remove unused pch_handle_sideband() function
This change removes the unused pch_handle_sideband() function from the
Meteor Lake platform code.

TEST=Able to build and boot google/rex.

Change-Id: Idd14748aa1d917d6e88d738541a737c04a2c6a15
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84189
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Pratikkumar V Prajapati <pratikkumar.v.prajapati@intel.com>
2024-09-04 03:42:55 +00:00
Elyes Haouas
589d34732b tree: Use boolean for emmc_enable_hs400_mode
Change-Id: I41a877ed7f5f3d02904dc939b32996a7f6d45373
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84165
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
2024-09-04 01:19:40 +00:00
Elyes Haouas
db380e53ed tree: Use boolean for disable_package_c_state_demotion
Change-Id: I80ad02ca016ad2c8d0bfeb33e8309002dfe723c0
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84164
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
2024-09-04 01:19:20 +00:00
Elyes Haouas
ae6b01970f tree: Use boolean for disable_c1_state_auto_demotion
Change-Id: If1cb63847ffbfed9bb09679931cfb23289bf59f0
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84163
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
2024-09-04 01:18:59 +00:00
Elyes Haouas
f344afb670 tree: Use boolean for skip_ext_gfx_scan
Change-Id: I569b9a69add341bcefe6bd5356b01a95a4e97286
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84154
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jakub Czapiga <czapiga@google.com>
2024-09-04 01:17:08 +00:00
Elyes Haouas
2f8b77b76b tree: Drop unnecessary "true/false" comments
Change-Id: I5cd04972936c14d92295915fad65c7a45a8108d9
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84152
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jakub Czapiga <czapiga@google.com>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2024-09-04 01:16:40 +00:00
Alexander Couzens
37c85f0cf5 util/inteltool: Fix format for PCI vendor/device IDs
PCI vendor/device IDs are 16 bit.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
Change-Id: I87804a63f04b7461d348a245531542776575eb7a
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84186
Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2024-09-03 21:18:43 +00:00
Ren Kuo
bf9080742a mb/google/brox/jubilant: Generate RAM IDs
Generate RAM IDs of lp5 memory:
1)Hyinx   4GB*4  H58G56BK8BX068
2)SAMSUNG 4GB*4  K3KL8L80CM-MGCT

BUG=None
TEST=Run part_id_gen tool and check the generated files.

Change-Id: I6b6e351ceaacfd65eae7b1db14c195b34359689a
Signed-off-by: Ren Kuo <ren.kuo@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84193
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Kenneth Chan <kenneth.chan@quanta.corp-partner.google.com>
Reviewed-by: Tyler Wang <tyler.wang@quanta.corp-partner.google.com>
2024-09-03 05:04:21 +00:00
Ren Kuo
8cfe1b3302 mb/google/brox/jubilant: Modify FP IRQ pin to GPP_D13
Modify the FP IRQ pin to GPP_D13 from GPP_F15 from HW change on EVT.
The design change to follow the brox's GPE0 routing, and the
FP wake source can be routed.

BUG=b:363166664
TEST= Build jubilant firmware

Change-Id: Ic4a7ca07eab0dab234ab025cf77bbb8093b6b9d1
Signed-off-by: Ren Kuo <ren.kuo@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84124
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Kenneth Chan <kenneth.chan@quanta.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-09-03 02:23:15 +00:00
KunYi Chen
b9a12911af mb/lattepanda: Add support for LattePanda Mu
Add initial support for the LattePanda Mu board, which features:
  - Intel Alder Lake-N N100 processor
  - Samsung K3LK7K70BM-BGCP, 8GB LPDDR5 memory
  - Samsung KLMCG2UCTA-B041, 64GB eMMC storage
  - SO-DIMM 260-pin connector for function expansion

This commit includes:
  - Basic board configuration
  - Memory initialization
  - Essential I/O setup
  - Used UEFITool NE alpha 68 (Nov 4 2023) to extract data.vbt file
    from original BIOS
  - BIOS download link: https://github.com/LattePandaTeam/LattePanda-Mu
    located at "./Softwares/BIOS/DFLT/LP-BS-S70NC1R200-SR-A.bin.zip"

Test Environment:
  - Carrier Board: Lite
  - Payload: mrchromebox/edk2
  - EDK2 Version: uefipayload_202309

Test result
Passed:
  - Windows 11 boot from eMMC
  - Install Ubuntu 24.04 on NVMe SSD
  - Ubuntu 24.04 boot from NVMe SSD
  - USB 3.0/2.0 functionality
  - Realtek RTL8111H-CG-RH Ethernet
  - HDMI Display
    - Audio over HDMI work in Ubuntu 24.04

Known Issues:
  - S3 sleep mode non-functional
  - Power-on after shutdown requires power removal
  - SuperIO UART not detected in Windows 11
  - Audio over HDMI not work in Windows 11
  - Windows 11 BSOD occurs with NVMe SSD installed:
    - Stop code: Machine Check Exception
  - NVMe SSD not working on Windows 11, except when:
    - KDNet Debugging enabled on NIC during boot
    - SSD becomes functional in this scenario

Change-Id: I79696bdd837a221860b32f54629212c3346dca66
Signed-off-by: KunYi Chen <kunyi.chen@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83719
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2024-09-02 12:09:25 +00:00
Arthur Heymans
070561a295 drivers/intel/gma: Fix mismatching types for fb_add_framebuffer_info
GCC LTO found this.

Change-Id: I2d5a9a86dbb91a5505891a30c6e9072b1b4dfc92
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84056
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-09-02 09:33:59 +00:00
Yidi Lin
3d5ff65b27 mb/google/cherry: Complete PCIe reset in romstage
De-assert PERST# at romstage to reduce the waiting time in ramstage.

Before
```
[INFO ]  wait_perst_done: PCIe early PERST# de-assertion is not done,
de-assert PERST# now
[INFO ]  mtk_pcie_domain_enable: PCIe link up success (47 tries)
```
After
```
[INFO ]  wait_perst_done: PCIe early PERST# de-assertion is not done,
de-assert PERST# now
[DEBUG]  wait_perst_asserted: 457568 us elapsed since assert PERST#
[DEBUG]  wait_perst_done: 163413 us elapsed since de-assert PERST#
[INFO ]  mtk_pcie_domain_enable: PCIe link up success (1 tries)
```

BUG=none
TEST=boot from NVMe

Change-Id: I3a73bd574ae8f9f4e624846ce8b901a7d2209e78
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84118
Reviewed-by: Jianjun Wang <jianjun.wang@mediatek.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
2024-09-02 09:16:59 +00:00
Yidi Lin
cea84e2536 soc/mediatek: Add mtk_pcie_deassert_perst for early PCIe reset
Even we assert PRSET# early to save the delay between PERST# assertion
and de-assertion. MediaTek PCIe driver still takes 47ms waiting for PCIe
link up. (1ms delay for each try)

```
[INFO ]  mtk_pcie_domain_enable: PCIe link up success (47 tries)
```

Refactor common/pcie.c and add mtk_pcie_deassert_perst for early PCIe
reset. So we can de-assert PERST# at early stage to improve the boot
time.

BUG=b:361728592
TEST=emerge-cherry coreboot

Change-Id: I008e95263bfaf0119353382c2d2ce5ce29c6a382
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84117
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jianjun Wang <jianjun.wang@mediatek.com>
2024-09-02 09:16:34 +00:00
Sean Rhodes
5665bcac4f drivers/usb/acpi: Add DSM for Intel Bluetooth
Add support for creating a DSM Method for Intel Bluetooth that
is outlined in Intel's connectivity integrated guide (which has
no document number).

It supports two GUIDs:

Set Tile Activaction (2d19d3e1-5708-4696-bd5b-2c3dbae2d6a9)
BIT(0)  Indicates whether the device supports other functions
BIT(1)  Set Tile Activation

Check/Set Reset Delay (aa10f4e0-81ac-4233-abf6-3b2ac50e28d9)
BIT(0)  Indicates whether the device supports other functions
BIT(1)  Set Bluetooth reset timing

Change-Id: Icc18f867604876b27ced2ee4356e47b3aa6b4f74
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84133
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-09-02 09:12:20 +00:00
Matt DeVillier
dfd5411ea0 mb/google/zork: Ensure eSPI GPIOs programmed w/o vboot
On the non-vboot boot path, eSPI is configured as part of
fch_pre_init(), and we need to ensure that the mainboard sets the
eSPI GPIOs properly before the common SoC code performs eSPI init.
Use the mb_set_up_early_espi() function to set the eSPI GPIOs at
the correct time.

TEST=build/boot google/zork (morphius), verify keyboard functional.

Change-Id: I03efe6def37a018c3de410523be21bf008174e94
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84148
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-09-02 09:11:05 +00:00
Matt DeVillier
7600132ec6 mb/google/zork: Ensure early GPIOs programmed w/o vboot
Now that zork can boot without vboot, ensure that the GPIOs set in
verstage are programmed in bootblock on the non-vboot path.

The eSPI GPIOs will be set in a subsequent patch using
mb_set_up_early_espi() since setting them in
bootblock_mainboard_early_init() would be too late given when the
SoC eSPI init takes place.

TEST=build/boot google/zork (morphius) w/o vboot

Change-Id: I0bb49678b2d913c447d5bc761a6f0e00fca6334f
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84147
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2024-09-02 09:10:55 +00:00
cengjianeng
0c0663b5e8 mb/google/nissa/var/teliks: Add fw_config fields for rtl8852be
Add a new fw config field for wifi category as WIFI_6_8852, which is
PCIe based. Also, enable WIFI_6_8852 for existing PCIe based wifi port
as well as bluetooth port.

BUG=b:356434907
BRANCH=NONE
TEST=Verified Wifi6 module detection

Change-Id: Ib6ba641c23cce7f1253022c9bb78b986b323bcaa
Signed-off-by: Jianeng Ceng <cengjianeng@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84138
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Qinghong Zeng <zengqinghong@huaqin.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-09-02 09:10:26 +00:00
cengjianeng
f6bca6b649 mb/google/nissa/var/teliks: Force audio mute to avoid screen flick
Panel CSOT MNB601LS1-3 will flicker once during enter Chrome login
screen, it is because it inserts 12 blank frames if it receives the
unmute in VB-ID.

Always override the mute in VB-ID to avoid Tcon EC detected the
audiomute_flag change.

BUG=b:360243615
BRANCH=firmware-nissa-15217.B
TEST:Verfied on Teliks and cannot reproduce the issue

Change-Id: Iff488f6844c717ef24069c7176e7b8dfb07d8abc
Signed-off-by: Jianeng Ceng <cengjianeng@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84137
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Qinghong Zeng <zengqinghong@huaqin.corp-partner.google.com>
2024-09-02 09:09:22 +00:00
Yuchi Chen
a76640b9ab soc/intel/common/systemagent: read sa resources only from domain 0
Change-Id: Ida4461de6275bdd314f5cba441d3ff631d570305
Signed-off-by: Yuchi Chen <yuchi.chen@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84109
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
2024-09-02 09:07:22 +00:00
Yuchi Chen
2b0b2ef9a2 soc/intel/common/systemagent: select CAPID_A, BDSM and BGSM by Kconfig
CAPID_A, BDSM and BGSM registers may not exist on specific platform,
this patch add `HAVE_CAPID_A_REGISTER` and `HAVE_BDSM_BGSM_REGISTER`
to select them.

Change-Id: I4d1197b8b1071aefc2ea1ed2f707d769aabab5e4
Signed-off-by: Yuchi Chen <yuchi.chen@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84108
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
2024-09-02 09:07:02 +00:00
Yidi Lin
53be20d37b soc/mediatek: Add EARLY_INIT_PCIE_RESET to early_init_type
Add EARLY_INIT_PCIE_RESET for early PERST# de-assertion.

BUG=b:361728592
TEST=emerge-cherry coreboot

Change-Id: I7ab85694e85a4c3f77fefc22efe16734c347a716
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84116
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Reviewed-by: Jianjun Wang <jianjun.wang@mediatek.com>
2024-09-02 09:04:45 +00:00
Yidi Lin
62632ebf24 soc/mediatek/common: Move mtk_pcie_reset to common/pcie.c
mtk_pcie_reset can be shared with MT8196. So move it to common/pcie.c.

BUG=b:361728592
TEST=emerge-cherry coreboot

Change-Id: Ib540cf9cc568206a1e78306624f4df7c5631c128
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84115
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jianjun Wang <jianjun.wang@mediatek.com>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
2024-09-02 09:04:27 +00:00
Yidi Lin
7c71b94984 soc/mediatek/common/pcie: Use clr/setbits32p
Use clr/setbits32p to make code cleaner.

BUG=none
TEST=emerge-cherry coreboot

Change-Id: Id99d5aafdf4d687dbe3a0bef29b148537cf58dd8
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84114
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Reviewed-by: Jianjun Wang <jianjun.wang@mediatek.com>
2024-09-02 09:03:36 +00:00
Yidi Lin
d86c5bf83b soc/mediatek/common/pcie: Add DEVTREE_CONST qualifier
Currently pcie.c is built into ramstage only, where DEVTREE_CONST is an
empty macro, so there's no problem with that. However, if we would like
to include that file in pre-ramstage, then DEVTREE_CONST would be
'const', leading to the following build error:

```
src/soc/mediatek/common/pcie.c:104:26: error: assignment discards
'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
104 |                 root_dev = pcidev_path_on_root(devfn);
    |                          ^
```

BUG=none
TEST=emerge-cherry coreboot

Change-Id: Ia7c95424019ec0dca50bbc6be7f81b6180d06d6e
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84113
Reviewed-by: Jianjun Wang <jianjun.wang@mediatek.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
2024-09-02 09:02:19 +00:00
Karthikeyan Ramasubramanian
a6b42b6c33 mb/google/brox: Remove ACPI Power Resource for Bluetooth device
Bluetooth driver in kernel requires reset-gpio in current resource
settings (_CRS) and device specific data (_DSD) ACPI objects. Hence
remove ACPI Power Resource for Bluetooth device so that the concerned
ACPI objects get populated.

BUG=b:362817900
TEST=Build Brox Firmware image and boot to OS. Ensure that the _CRS and
_DSP ACPI objects are filled in the SSDT with the required data.

Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
{
    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
        "\\_SB.PCI0.GPIO", 0x00, ResourceConsumer, ,
        )
        {   // Pin list
            0x004D
        }
})
Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
{
    ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
    Package (0x01)
    {
        Package (0x02)
        {
            "reset-gpio",
            Package (0x04)
            {
                \_SB.PCI0.XHCI.RHUB.HS10,
                Zero,
                Zero,
                One
            }
        }
    }
})

Change-Id: If6e679aa3f4181e7963ac53d0847b1512959b3a7
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84135
Reviewed-by: Bob Moragues <moragues@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Ren Kuo <ren.kuo@quanta.corp-partner.google.com>
2024-09-02 09:02:00 +00:00
Ren Kuo
c4762af6e0 mb/google/brox/jubilant: Update dptf settings
Update dptf settings from thermal design:
1) Remove fan control and active policy,
   since fan is controlled by EC.
2) Modify TSRs to 0:DRAM, 1:SOC, 2:Charger
3) Update Pl2 min&max values

BUG=None
TEST= Build jubilant firmware
      Generate and check ACPI SSDT.dsl
      $ cat /sys/firmware/acpi/tables/SSDT > SSDT
      $ iasl -d SSDT

Change-Id: I2d59eedea9fb25565709e118abc1a14b4c2a64e7
Signed-off-by: Ren Kuo <ren.kuo@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84123
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Reviewed-by: Kenneth Chan <kenneth.chan@quanta.corp-partner.google.com>
Reviewed-by: Bob Moragues <moragues@google.com>
2024-09-02 09:01:33 +00:00
Felix Singer
cfcb3620ac soc/intel/meteorlake: Hook up microcode from repository
Change-Id: I46021accacbb911d7a7ecfdbb52973a7da78f36e
Signed-off-by: Felix Singer <felixsinger@posteo.net>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84125
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Dinesh Gehlot <digehlot@google.com>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2024-09-02 09:01:18 +00:00