Commit graph

58,225 commits

Author SHA1 Message Date
Jeremy Compostella
67dff1b2b1 drivers/wifi: Support Bluetooth Dual Chain Mode
This feature provides ability to provide dual chain setting.

The implementation follows document 559910 Intel Connectivity
Platforms BIOS Guideline revision 9.2 specification.

BUG=b:346600091
TEST=BDCM method is added to the bluetooth companion device and
     return the data supplied by the SAR binary blob

Change-Id: Iebe95815c944d045f4cf686abcd1874a8a45e220
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84943
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
2024-11-27 21:28:05 +00:00
Jeremy Compostella
3f535d3a0d drivers/wifi: Support Bluetooth BiQuad Bypass Filter
This feature provides ability to identify non-LTE platform and disable
BiQuad Bypass filter logic in hardware for Bluetooth usecases reducing
device power consumption.

The implementation follows document 559910 Intel Connectivity
Platforms BIOS Guideline revision 9.2 specification.

BUG=b:346600091
TEST=BBFB method is added to the bluetooth companion device and
     return the data supplied by the SAR binary blob

Change-Id: Iebe95815c944d045f4cf686abcd1874a8a45e213
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84942
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2024-11-27 21:27:59 +00:00
Jeremy Compostella
354cba21a4 drivers/wifi: Support Bluetooth Per-Platform Antenna Gain
The ACPI BPAG method provide information to controls the antenna gain
method to be used per country.

The antenna gain mode is a bit field (0 - disabled, 1 -enabled)
defined as follow:
- Bit 0 - Antenna gain in EU
- Bit 1 - Antenna gain in China Mainland

The implementation follows document 559910 Intel Connectivity
Platforms BIOS Guideline revision 9.2 specification.

BUG=b:346600091
TEST=BPAG method is added to the bluetooth companion device and return
     the data supplied by the SAR binary blob

Change-Id: Iebe95815c944d045f4cf686abcd1874a8a45e210
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84941
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2024-11-27 21:27:53 +00:00
Yidi Lin
8943e40b18 mb/google/rauru: Add configuration for SD card detect pin
Pass SD card detect GPIO to payloads for SD card detection.

BUG=b:317009620
TEST=build pass

Change-Id: I1901fd45833f2415c61b61f9e04ebb54440df80a
Signed-off-by: Jarried Lin <jarried.lin@mediatek.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85250
Reviewed-by: Yidi Lin <yidilin@google.com>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-27 15:49:38 +00:00
Yuchi Chen
0f80bfd460 mainboard/intel/frost_creek: Add support for Intel CRB Frost Creek
The Frost Creek CRB is a reference platform for Intel Atom P5300 and
P5700 (known as Snow Ridge NS and Snow Ridge NX) SoC.

Change-Id: If3b387a6a4a567415aef21e520056c23b8cfa013
Signed-off-by: Yuchi Chen <yuchi.chen@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83322
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-27 09:32:32 +00:00
Yuchi Chen
78fa36d050 soc/intel/snowridge: Add support for Intel Atom Snow Ridge SoC
This change adds support for Intel Atom Processors P5300, P5700
product families (known as Snow Ridge NS and Snow Ridge NX).

Change-Id: I32ad836dfaaff0d1816eac41e5a7d19ece11080f
Signed-off-by: Yuchi Chen <yuchi.chen@intel.com>
Tested-by: Vasiliy Khoruzhick <vasilykh@arista.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83321
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
2024-11-27 09:31:52 +00:00
Yu-Ping Wu
d2deb14fb0 commonlib/bsd/mem_chip_info: Add mem_chip_info_entry_density_bytes
Add a helper function to get the mem_chip_info entry size.

Change-Id: Ibf2a2006fb3e7772688b80807589e8f2d64d1147
Signed-off-by: Yu-Ping Wu <yupingso@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85312
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yidi Lin <yidilin@google.com>
2024-11-27 07:41:35 +00:00
Vidya Gopalakrishnan
80caf690d0 mb/google/brya/var/trulo: Remove overriding of PL1 value to 20W
The RAPL PL1 limit and MMIO PL1 max values should be set as per
silicon TDP as specified in the PDG doc#646929.

BUG=b:378623372
TEST=Build and boot on Trulo board.
Verified PL1 value is updated in DTT and sysfs interfaces.
Output with 15W silicon as below:
cd /sys/class/powercap/
cat intel-rapl/intel-rapl\:0/constraint_0_max_power_uw
15000000
cat intel-rapl/intel-rapl\:0/constraint_0_power_limit_uw
15000000
cat intel-rapl-mmio/intel-rapl-mmio\:0/constraint_0_max_power_uw
15000000
cat intel-rapl-mmio/intel-rapl-mmio\:0/constraint_0_power_limit_uw
15000000

Change-Id: I798c4f10e10a579f470e00dbdb77a84619ad796a
Signed-off-by: Vidya Gopalakrishnan <vidya.gopalakrishnan@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85184
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
2024-11-26 05:51:19 +00:00
Vidya Gopalakrishnan
73a1f02592 mb/google/brya/var/trulo: Enable Charger participant in Passive Policy
Update the TSR1 target's source to CHARGER in Passive Policy.

BUG=b:378623372
TEST=Build and boot on Trulo board.
Verified the source for TSR1 is updated to  Charger in Passive Policy

Change-Id: I43db616fd48fc4659dcba359f17854e14adb6039
Signed-off-by: Vidya Gopalakrishnan <vidya.gopalakrishnan@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85227
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-11-26 05:50:59 +00:00
Tongtong Pan
e9f2365838 mb/google/fatcat/var/felino: Add initial GPIOs config
Configure GPIOs according to schematics revision 20241120.

BUG=b:379797598
TEST=abuild -v -a -x -c max -p none -t google/fatcat -b felino

Change-Id: I4e9e81af9c3d8807e65ecd552e73305c1d109a2d
Signed-off-by: Tongtong Pan <pantongtong@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85234
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Weimin Wu <wuweimin@huaqin.corp-partner.google.com>
2024-11-26 04:14:21 +00:00
John Su
c4b59bfcbb mb/google/brya: Create uldrenite variant
Create the uldrenite variant of the brya reference board
by copying the template files to a new directory named
for the variant.

BUG=b:376781355
TEST=util/abuild/abuild -p none -t google/brya -x -a
make sure the build includes GOOGLE_ULDRENITE

Change-Id: Ife666c6f2fe69643033e2ce3b299e7414e16eef1
Signed-off-by: John Su <john_su@compal.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85207
Reviewed-by: Dtrain Hsu <dtrain_hsu@compal.corp-partner.google.com>
Reviewed-by: Amanda Hwang <amanda_hwang@compal.corp-partner.google.com>
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-26 04:13:44 +00:00
Cliff Huang
35741f35ee soc/intel/ptl: Change ACPI name for IPU
Change IPU name to 4 characters: IPU0

While the ACPI device name is 'IPU', some part of generated SSDT looks
for 'IPU_', since by convention, the names less than 4 characters is
padded with underscope ("_"). Please see APCI spec 5.3 ACPI Namespace.

BUG=none
TEST=Boot fatcat board to OS and check that IPU device name is IPU0 in
the SSDT.

Signed-off-by: Cliff Huang <cliff.huang@intel.com>
Change-Id: I60ce2998cb1d97589c0f7544ce8dc92c12a2b8c9
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85274
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-25 04:35:35 +00:00
Rui Zhou
4084e8f9d8 Revert "mb/google/nissa/var/telith: Add 6W and 15W power limit parameters"
This reverts commit c89ccaf281.

Reason for revert: b:378775630#comment11
Intel believes that the AC only issue should be addressed head-on and
the previous power limit default settings should be maintained.

BUG=b:378775630
TEST=emerge-nissa coreboot chromeos-bootimage

Change-Id: I9f8344288a1811bddce702c16a244e3d4a59f195
Signed-off-by: Rui Zhou <zhourui@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85276
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
2024-11-25 04:12:17 +00:00
Subrata Banik
bb7e2befa3 mb/google/fatcat: Move CSE sync at payload
The CSE sync in the payload would allow CrOS devices to render the user notification when updating. Currently, CrOS devices typically take 8-20 seconds to do a CSE sync.

BUG=b:380220737
TEST=Able to build and boot google/fatcat.

Change-Id: I8f1dd2e153ed0f1e671699002cf34a58d758ce2f
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85233
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-23 02:21:42 +00:00
Stanislaw Kardach
2cc9eb16e2 mb/google/brya/var/redrix: Add ACPI fan definitions
Add entries in overridetree.cb required for exposing fan control via
ACPI, which is used then by acpi-fan driver in Linux kernel. This
includes:
1. Fan duty-cycle/rpm table. The RPM numbers were adjusted to the values
   reported by ACPI on different duty cycle levels.
2. Dummy Active DPTF policy. This is required to mark the TFNx devices
   as active and therefore let the acpi-fan driver probe.

BUG=b:358089775
TEST=Build and flash on redrix and check /sys/class/thermal for TFN1

Change-Id: Iaeffe8bc48cd8cd800efa7be29ec81447ecf2935
Signed-off-by: Stanislaw Kardach <skardach@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85175
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
2024-11-22 02:52:35 +00:00
Roger Wang
51e3838c78 mb/google/nissa/var/pujjoga: Turn off camera during S0ix
Add a variant specific S0ix hook to fill the SSDT table to disable and
enable camera during suspend and resume respectively. For safety concern, 
our client LENOVO want us to follow the Boten project to create the function.

BUG=b:378525209
TEST=Build Pujjoga BIOS image. Ensure that camera is disabled during
suspend and enabled during resume. Do the powerd_dbus_suspend and 
measure the camera power 3.3V which is disable. And resume will recover.

Change-Id: I7c7f5d314e8b2a4d5f72c452128f6c4b57c45993
Signed-off-by: Roger Wang <roger2.wang@lcfc.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85133
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-22 02:52:06 +00:00
Ian Feng
307801d8dc mb/google/fatcat/var/francka: Add memory DQ map
Follow latest schematics MB_SCH_1102A to add the DQ map.

BUG=b:372395010
TEST=emerge-fatcat coreboot

Change-Id: I2ea0c5a07d83df108e41fc838e702b793c878096
Signed-off-by: Ian Feng <ian_feng@compal.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85205
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Pranava Y N <pranavayn@google.com>
2024-11-22 02:51:44 +00:00
Amanda Huang
2d4f196ca7 mb/google/fatcat/var/francka: Use RAM ID 1 for MT62F2G32D4DS-020 WT:F
Change the ram_id to 1 for MT62F2G32D4DS-020 WT:F based on the
hardware schematic MB_SCH_1102A.

BUG=b:372395010
TEST=Run part_id_gen tool and check the generated files.

Change-Id: I8cf0e65036c2da7641f29b2975dece718f7c83e3
Signed-off-by: Amanda Huang <amanda_hwang@compal.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85206
Reviewed-by: Pranava Y N <pranavayn@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Dtrain Hsu <dtrain_hsu@compal.corp-partner.google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-11-22 02:51:38 +00:00
Subrata Banik
dc534e2153 mb/google/fatcat/var/fatcat: Enable UFS controller
This commit enables the UFS controller on the Google Fatcat mainboard
based on FW_CONFIG.

This change allows the system to utilize the UFS storage device.

TEST=Built google/fatcat with UFS enabled.

Change-Id: Ib32523e7865b2ea23d990b2cf9b7406a4d6ecde3
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85192
Reviewed-by: Pranava Y N <pranavayn@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2024-11-22 02:49:31 +00:00
Subrata Banik
acbde33513 soc/intel/pantherlake: Add option to enable UFS controller
This patch adds a Kconfig option to enable the UFS controller for
mainboards using the Intel Panther Lake-UH SoC.

By default, the UFS controller is disabled as it is not supported by
other SoC configurations. This prevents accidental enabling of the
UFS controller on unsupported platforms.

BUG=b:379828045
TEST=Built google/fatcat with and without UFS enabled.

Change-Id: Ica89ae85582367809128fc6cf0cd5fe5d40a2235
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85191
Reviewed-by: Pranava Y N <pranavayn@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-22 02:49:25 +00:00
Subrata Banik
e7264110a6 soc/intel/cmn/acpi: Use Kconfig guards for UFS workarounds
This change introduces Kconfig guards around the UFS workaround code
in the common ACPI ASL file. This ensures that these workarounds are
only applied when necessary, allowing future SoCs with UFS controllers
to reuse the common ASL file without modification.

By using Kconfig, we can enable or disable the workarounds based on
the specific SoC configuration, providing greater flexibility and
maintainability.

BUG=b:379828045
TEST=Able to compile google/fatcat.

Change-Id: I968b8811e508378a36648bd8234ff0fd7237b00d
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85208
Reviewed-by: Pranava Y N <pranavayn@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-22 02:49:19 +00:00
Jeremy Compostella
43ce2c0023 vc/google/chromeos/sar: Use size_t instead of int for size function
BUG=b:346600091
TEST=Compilation successful

Change-Id: Iebe95815c944d045f4cf686abcd1874a8a45e225
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85178
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-11-21 17:46:07 +00:00
Yu-Ping Wu
37d4d7ab11 soc/mediatek: Rename FREQ_*MHZ to PMIF_TARGET_FREQ_MHZ
Enum is useful for improving readability because of the meaningful enum
names. Names such as "FREQ_260MHZ = 260", however, don't provide any
extra information of the value itself. Therefore, rename those enums to
PMIF_TARGET_FREQ_MHZ to better reflect its usage.

Change-Id: I420b909a76973a040b96feb2bcb93d3640b086b5
Signed-off-by: Yu-Ping Wu <yupingso@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85204
Reviewed-by: Yidi Lin <yidilin@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-21 16:13:48 +00:00
Yu-Ping Wu
4ed67d92eb soc/mediatek: Rename pmif_ulposc_* function arguments
Rename the arguments of pmif_ulposc_check() and pmif_ulposc_cali()
to make the frequency unit clearer.

Change-Id: I7719fd4dc43edd47bf014af13fb57ad38f43778c
Signed-off-by: Yu-Ping Wu <yupingso@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85203
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yidi Lin <yidilin@google.com>
2024-11-21 16:13:42 +00:00
Alicja Michalska
3d79bced95 mb/topton/adl: Add initial support for X2F N100 FW appliance
X2F-N100 is an embedded device/firewall with Intel N100 SoC and
4x 2.5Gb Intel I226-V NICs.

Currently tested and working:
- Payload (EDK2)
- Suspend (S3 state)
- All USB ports
- 4x NICs
- M.2 NVME
- mPCI-E (WiFi/modem)
- 4G USB modem in mPCI-E slot
- PCI-E passtrough to VMs (NICs)
- HDMI/DP output + HDA audio

OS:
- Alpine Linux
- Windows 11 Pro (from USB)

Untested, looks sane:
- Internal USB port on M.2 slot marked as "5G_USB"

Broken/TODO:
- SATA EDK2 reports "Unsupported", drive's not detected.
- Suspend in Windows (statements dreamed up by the utterly deranged)

Change-Id: Ic5cd2060c1635b79cb28ffe294220b63ad2bab65
Signed-off-by: Alicja Michalska <alicja.michalska@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84175
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Alicja Michalska <ahplka19@gmail.com>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
2024-11-21 15:49:22 +00:00
Alicja Michalska
0c43a65550 superio/ite: Add support for IT8625E
Found on tiny firewall appliance from Chinese company named "Topton"
with Intel N100 SoC. This system is fanless so all we need is the
ability to use serial output (RS232 in RJ45 form-factor, called
"Cisco-style" at address 0x3f8), which is working.

Change-Id: I9c27f52785d294a6f7c315b8df47d4dd5b389414
Signed-off-by: Alicja Michalska <ahplka19@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84176
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Alexander Goncharov <chat@joursoir.net>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
2024-11-21 15:49:12 +00:00
Jarried Lin
5f3a7d098e mb/google/rauru: Initialize DPM in ramstage
Add initialization of DPM drvier for DRAM low power mode. This DPM flow
adds 3ms to the boot time, making the total boot time 860ms.

coreboot logs:
CBFS: Found 'dpm.dm' @0x19880 size 0x5b7 in mcache @0xfffdd1fc
mtk_init_mcu: Loaded (and reset) dpm.dm in 0 msecs (1888 bytes)
CBFS: Found 'dpm.pm' @0x19ec0 size 0x7fb5 in mcache @0xfffdd258
mtk_init_mcu: Loaded (and reset) dpm.pm in 3 msecs (43844 bytes)

TEST=Build pass. Check with cbmem -1.
BUG=b:317009620

Change-Id: Ib855e133a30067fc89c88d5c0fb454cc78504ff3
Signed-off-by: Crystal Guo <crystal.guo@mediatek.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85122
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Reviewed-by: Yidi Lin <yidilin@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-21 13:47:09 +00:00
Crystal Guo
feddd37297 soc/mediatek: Rename dpm to dpm_v1
MT8196 equips new DPM hardware which is different from precedent SoCs.
Therefore, we need implement a new DPM loader (said version 2) to run
the blob. Considering the version iteration, rename the original dpm to
dpm_v1.

TEST=Build pass.
BUG=b:317009620

Change-Id: I07afb8f5c23e96aad3c6cb0887cb7efd16ebf296
Signed-off-by: Crystal Guo <crystal.guo@mediatek.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85211
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Reviewed-by: Yidi Lin <yidilin@google.com>
2024-11-21 13:46:47 +00:00
Jarried Lin
992e09a1d5 soc/mediatek/mt8196: Add version two DPM driver
Add version two of the DPM driver for DVFS and DRAM low power feature.

MT8196 equips new DPM hardware which is different from precedent SoCs.
Therefore, we implement a new DPM loader (said version 2) to run the
blob. The new DPM driver includes following features.
- Simplify the DPM loading flow without the needs of waking DPM SRAM up
  and initializing bootargs.
- Use the broadcast function to ensure that the DPM load and reset
  operations performed on channel A will be synchronized to the other
  three channels.

TEST=Full calibration pass.
BUG=b:317009620

Change-Id: I77e1ac252b00ab9c4864cc308f20da4a79714e4c
Signed-off-by: Crystal Guo <crystal.guo@mediatek.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85121
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yidi Lin <yidilin@google.com>
2024-11-21 13:46:24 +00:00
Jarried Lin
8bada5dcb0 mb/google/rauru: Fully calibrate DRAM
Initialize and calibrate DRAM in romstage.

DRAM full calibration logs:
dram_init: dram init end (result: 0)
DRAM-K:
Fast calibration passed in 1119 msecs

TEST=Full calibration pass.
BUG=b:317009620

Change-Id: Ibb18675caa11a828d27860eeab48c49acf6b938d
Signed-off-by: Jarried Lin <jarried.lin@mediatek.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85120
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yidi Lin <yidilin@google.com>
2024-11-21 13:46:05 +00:00
Jarried Lin
e8c7be5394 soc/mediatek/mt8196: Set DRAMC_PARAM_HEADER_VERSION to 3
Set DRAMC_PARAM_HEADER_VERSION to 3 for aligning with DRAM blob.

Test=Bootup pass
BUG=b:317009620

Change-Id: I17062bc3b79f60552981d7c604bb5350d8f6199f
Signed-off-by: Crystal Guo <crystal.guo@mediatek.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85119
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yidi Lin <yidilin@google.com>
2024-11-21 13:45:58 +00:00
Felix Singer
8bbcc0eb1e nb/via/cx700/romstage: Include missing static.h header
Commit 755ecc259c ("nb/via/cx700: Implement raminit") is missing an
include for static.h and breaks the main branch. Fix it.

Change-Id: I836ab03b4eba6f32a2ae576eafc465543179cd05
Signed-off-by: Felix Singer <felixsinger@posteo.net>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85232
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2024-11-21 12:25:19 +00:00
Daniel Peng
9a769a86d0 mb/google/nissa/var/glassway: Support HDMI Feature
1. Add DB_HDMI_LTE 5 on DB_USB fw_config .
2. Due to refer Nivviks, used GPP_A20/GPP_E20/GPP_E21 as default
   to set for NF1. Moreover, set to disable HDMI to NC when
   fw_config not for DB_HDMI_LTE.
3. Set related DB_USB fields to probe correct devices.

BUG=b:369509276
BRANCH=firmware-nissa-15217.B
TEST=emerge-nissa coreboot chromeos-bootimage

Change-Id: Ic5e3b596ff3681f79f31c262e9e59d163e471e3c
Signed-off-by: Daniel Peng <Daniel_Peng@pegatron.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85176
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2024-11-21 10:12:29 +00:00
Nico Huber
14f544092f nb/via/cx700: Scan PCI bus and probe resources
Change-Id: I1268a8f886ff395ff822b14a5427a5031260c541
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83389
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-21 09:26:24 +00:00
Nico Huber
68ddc60123 cpu/via/c7: Compress ramstage with LZ4 by default
It's a slow CPU.

Change-Id: I0bf75f410c1d9134f05a2d11b8d011499a7cf794
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/82772
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-21 09:26:17 +00:00
Nico Huber
1fd7c5a0ed cpu/via/c7: Use the simple p4-netburst CAR teardown
Change-Id: Icba7586145fbfd859d738ecd7a407739a7024ebb
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/82771
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-21 09:25:54 +00:00
Nico Huber
755ecc259c nb/via/cx700: Implement raminit
This brings the old raminit implementation for CX700 back. It was
removed in commit e99f0390b9 (Remove VIA CX700 northbridge sup-
port). The code is mostly unchanged, three minor issues are fixed:

* A shift (>>= 2) was missing when reading tRRD from SPD byte 28.
  The fixed value matches  what the vendor BIOS of a VIA EPIA-EX
  board programs. The code also suggests that we are looking for
  a small value (<= 19 for DDR2-533).

* We allow the board port to specify which clock outputs should
  be enabled now.  This is necessary for the VIA EPIA-EX, which
  needs the ALL_MCLKO setting  (instead of the previously hard-
  coded MCLKO2.

* When programming the DQS output delays, we considered the 1~2
  rank values only for single-rank configurations. Changing the
  `< 2` to `<= 2`  brings us closer to the vendor values on the
  VIA EPIA-EX.

Otherwise a lot of cosmetics changed. Partly because the original
code was to be #included into another C file, but also to satisfy
checkpatch. Also, all the #if'd code was removed (32-bit width
option, ECC, etc.).

Change-Id: Ibc36b4f314cdf47f18c8be0fcb98218c50938e94
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/82770
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2024-11-21 09:25:47 +00:00
Nico Huber
60f388f984 nb/via/cx700: Implement FSB tuning
This northbridge provides a lot of knobs for fine-grained tuning of the
FSB drivers. The programming manual calls this "Host AGTL+ I/O Driving
Control". We program the known good values for use with a VIA C7 CPU,
and warn about use with different CPUs.

The numbers were pulled out of raminit of the original CX700 port.
Originally, there was a write to 0x83 as well, to set bit 1 which
triggers a soft reset of the CPU.  It was amidst a table, so it
seems unclear if it was put there intentionally.

Change-Id: I24ba6cfaab2ca3069952a6c399a065caea7b49f2
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/82769
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2024-11-21 09:25:04 +00:00
Nico Huber
cae704d236 nb/via/cx700: Perform early bootblock init
Disable a timer (GP3) that is always running by default. And enable
SMBus, which is useful this early as a console. The SMBus controller
is mostly compatible to the Intel one.

Change-Id: I77f179433b280d67860fc495605b5764ed081a6c
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/82768
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2024-11-21 09:24:24 +00:00
Patrick Rudolph
22fc6d10d5 soc/intel/xeon_sp: Fix SRAT debug prints
- Drop duplicated fields
- Drop fields filled with constant values
- Drop SRAT prefix for sysmemmap entries
- Print all zeros when concatenating two hex numbers

Change-Id: I379aeb6fcd2e28665c7d592b0639db3c1b4caa9b
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85189
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-21 08:37:07 +00:00
Rui Zhou
c89ccaf281 mb/google/nissa/var/telith: Add 6W and 15W power limit parameters
The power limit parameters were defined for 378775630#comment5
by the power team.

BUG=b:378775630
TEST=emerge-nissa coreboot chromeos-bootimage

Change-Id: I069869fa01dc157cf2544e72468f43ce1bb64035
Signed-off-by: Rui Zhou <zhourui@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85209
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lei Cao <caolei6@huaqin.corp-partner.google.com>
2024-11-21 06:16:16 +00:00
Rui Zhou
7564a0c57c mb/google/nissa/var/rull: add RAM ID MT62F1G32D2DS-023 WT:B
Add RAM ID for DDR MICRON MT62F1G32D2DS-023 WT:B

BUG=b:378821948
BRANCH=None
TEST=boot to kernel success

Change-Id: I22e00cffaf6007c64d0c9ffa5f5dde528e3d8952
Signed-off-by: Rui Zhou <zhourui@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85202
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Lei Cao <caolei6@huaqin.corp-partner.google.com>
Reviewed-by: Eric Lai <ericllai@google.com>
2024-11-21 06:16:00 +00:00
Elyes Haouas
a12c8de14b tree: Remove unused <bootstate.h>
Remove "include <bootstate.h>" when it is not used.

Change-Id: Ic27acf9f8dfbbccb8f48a139032b1463e7185030
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85216
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-21 04:27:13 +00:00
Michał Zieliński
f30d11ccd7 mb/hp: Add HP Compaq 8300 Elite SFF
* Add initial board commit based on HP 8200 SFF and HP Z220 SFF.
* Add documentation.

Tested on HP 8300 SFF.

Change-Id: Ib5322acc0210f000b53954e2925549358f86d5c8
Signed-off-by: Michał Zieliński <michal.zielinski@posteo.net>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67666
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Alicja Michalska <ahplka19@gmail.com>
2024-11-20 22:14:18 +00:00
Patrick Rudolph
1c75aa7d00 mb/ocp/tiogapass: Only advertise C-states C1C6
Only advertise C-state C1 and C6.

TEST: On ocp/tiogapass Linux no longer complains about advertised
      but unsupported C-states.
Change-Id: I184c337478f97e2d36f6e89b764dbe1da1b91697
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85190
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-20 14:15:21 +00:00
Bora Guvendik
73d1980d23 soc/intel/pantherlake/acpi: Update camera_clock_ctl.asl
Fix ISCLK register definitions

Reference: 813032 - Panther Lake H I/O Registers

BUG=b:357011633
TEST=check camera functionality on fatcat

Change-Id: Ie9f1f639970344eb359dee37914ee26a02dcfb4b
Signed-off-by: Bora Guvendik <bora.guvendik@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85058
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Pranava Y N <pranavayn@google.com>
2024-11-20 10:25:05 +00:00
Pranava Y N
7d44e341b5 soc/intel/ptl: Update ME specification version to 21
This patch updates Kconfig that selects ME specification version for
Pantherlake SoC from version 18 to version 21.

BUG=b:362647201
TEST=Able to build fatcat with SOC_INTEL_COMMON_ME_SPEC_21 selected.

Change-Id: Ibfebd7c093240aa7f1d6337f3e4dd6e5d34bed1d
Signed-off-by: Pranava Y N <pranavayn@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85187
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2024-11-20 10:24:45 +00:00
Pranava Y N
d44ccf841b common/block/cse: Add Kconfig to support ME specification version 21
This patch introduces Kconfig support for Intel's Management Engine
(ME), version 21. When 'SOC_INTEL_COMMON_BLOCK_ME_SPEC_21' is selected
it sets the ME_SPEC configuration to 18 because ME version 21 is
compatible with version 18 in terms of Host Firmware status registers.

BUG=b:362647201
TEST=Able to build fatcat after selecting SOC_INTEL_COMMON_ME_SPEC_21

Change-Id: I90c946751ac530dac1af4ff9c3c921b5faf82448
Signed-off-by: Pranava Y N <pranavayn@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85186
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Dinesh Gehlot <digehlot@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-11-20 10:24:40 +00:00
Shuo Liu
8214eeb212 device: Add const qualifier for input of dev_is_active_bridge
Add const qualifier for input of dev_is_active_bridge so that
dev_is_active_bridge could be used for both struct device * input
and const struct device * input.

TESTED=Build and boot on intel/avenuecity CRB

Change-Id: Ia4231534c87cd13d4e6e4d606733f9eb11221ac1
Signed-off-by: Shuo Liu <shuo.liu@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85150
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
2024-11-20 04:32:02 +00:00
Subrata Banik
d22078a3c3 soc/intel/pantherlake: Enable CPU feature programming in coreboot
This patch enables coreboot to perform CPU feature programming for both
the Boot Strap Processor (BSP) and Application Processors (APs) on
Intel Panther Lake platforms.

This change eliminates the need for the following FSP modules:

- CpuMpPpi
- CpuFeature

By handling CPU feature programming within coreboot, we reduce reliance
on external FSP binaries and improve code maintainability.

BUG=b:376092389, b/364822529
TEST=Built and booted google/fatcat successfully. Verified CPU features
are correctly programmed.

Change-Id: I73321485327f6a02ec8338fcfa1faf1e71008ba6
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85193
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Ronak Kanabar <ronak.kanabar@intel.com>
2024-11-20 03:55:00 +00:00