Commit graph

58,660 commits

Author SHA1 Message Date
Yu-Ping Wu
b229c120f7 soc/mediatek: Allow specifying multiple EINT base registers
Unlike MT8186/MT8188/MT8192/MT8195, MT8196 has 5 EINT base registers,
each with a different number of EINT bits. In preparation for the
upcoming MT8196 EINT unmasking support, replace the `eint_event_reg`
struct (which has a hardcoded register number) with an array
`eint_event` to specify the EINT base register(s).

BUG=none
TEST=emerge-geralt coreboot
BRANCH=none

Change-Id: I86fd3109c9ff72f33b9fea45587d012b003a34ba
Signed-off-by: Yu-Ping Wu <yupingso@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/86033
Reviewed-by: Yidi Lin <yidilin@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-01-18 13:09:40 +00:00
Agogo Huang
c5f6daba81 soc/mediatek/mt8196: Initialize MCUPM
Load MCUPM firmware and boot up MCUPM in ramstage.

It takes 54 ms to load mcupm.bin.

coreboot logs:
CBFS: Found 'mcupm.bin' @0x37a80 size 0xdbda in mcache @0xfffdd308
mtk_init_mcu: Loaded (and reset) mcupm.bin in 54 msecs (486931 bytes)

TEST=Build pass and we can see the mcupm logs after reset releases.
BUG=b:317009620

Change-Id: I223f245d384f32d54f6170a28b29573638f77296
Signed-off-by: Agogo Huang <agogo.huang@mediatek.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85888
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yidi Lin <yidilin@google.com>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
2025-01-18 04:32:13 +00:00
Nicolas Kochlowski
928189fd04 soc/amd/phoenix/pci_irq_routing.c: Populate PCI IRQ routing table
Populate the PCI bridge IRQ routing table for Phoenix from the SMN
registers to replace the stub implementation. The base addresses are
copied from Genoa OpenSIL headers, which also correspond to Phoenix.

TEST=Successful build and boot. There are no longer warnings about not
being able to write PCI IRQ assignments.

Before applying patch:

[NOTE ] get_pci_routing_table stub: returning empty IRQ routing table
[WARN ] Can't write PCI IRQ assignments because 'mainboard_pirq_data' structure does not exist

After applying patch:

[DEBUG] 01.1: group: 0, swizzle: 0, irq: 0
[DEBUG] 01.2: group: 1, swizzle: 0, irq: 0
[DEBUG] 01.4: group: 0, swizzle: 2, irq: 2
[DEBUG] 01.5: group: 3, swizzle: 0, irq: 0
[DEBUG] 01.6: group: 4, swizzle: 0, irq: 0
[DEBUG] 02.5: group: 5, swizzle: 0, irq: 0
[DEBUG] 02.4: group: 0, swizzle: 1, irq: 2
[DEBUG] 01.3: group: 1, swizzle: 1, irq: 2
[DEBUG] 02.1: group: 2, swizzle: 2, irq: 3
[DEBUG] 02.2: group: 1, swizzle: 2, irq: 2
[DEBUG] 02.3: group: 3, swizzle: 2, irq: 1
[DEBUG] 02.6: group: 4, swizzle: 2, irq: 1
[DEBUG] 03.1: group: 2, swizzle: 0, irq: 0
[DEBUG] 03.2: group: 5, swizzle: 0, irq: 1
[DEBUG] 03.3: group: 5, swizzle: 2, irq: 1
[DEBUG] 03.4: group: 5, swizzle: 2, irq: 1
[DEBUG] 04.1: group: 2, swizzle: 2, irq: 1
[DEBUG] 08.1: group: 3, swizzle: 2, irq: 4
[DEBUG] 08.2: group: 4, swizzle: 2, irq: 4
[DEBUG] 08.3: group: 5, swizzle: 2, irq: 4
[DEBUG] PCI_CFG IRQ: Write PCI config space IRQ assignments
[DEBUG] PCI_CFG IRQ: Finished writing PCI config space IRQ assignments

Change-Id: Id014ff3e675831eec42bc46c0a76271341e0e3e4
Signed-off-by: Nicolas Kochlowski <nickkochlowski@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85195
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-01-17 17:52:54 +00:00
Jeremy Compostella
8f0b0f7f95 cpu/x86/topology: Fix FSP-S crash caused by shared core ID
This resolves a crash issue observed on Meteor Lake and introduced by
commit 70bdd2e1fa ("cpu/x86/topology:
Simplify CPU topology initialization"). This commit simplifies the
code and provides more detailed CPU topology information by
generalizing the use of the Extended Topology Enumeration Leaves
0x1f. As a result, the coreboot APIC core_id field does not provide
the fully detailed path information.

It turns out that the topology core identifier is used by the coreboot
MP service mp_get_processor_info() implementation. But the MP Service
EFI_CPU_PHYSICAL_LOCATION data structure only captures information
about the package, core, and thread. The core identifier returned to
the MP service caller must incorporate the full hierarchical path (die
group, die, module, tile, module and core).

This commit adds a new field to the cpu topology structure to
represent the core ID within the package.

For reference, here is that signature of the crash:

   LAPIC 0x40 in X2APIC mode.
   CPU Index 2 - APIC 64 Unexpected Exception:13 @ 10:69f3d1e4 - Halting
   Code: 0 eflags: 00010046 cr2: 00000000
   eax: 00000001 ebx: 69f313e8 ecx: 0000004e edx: 00000000
   edi: 69f38018 esi: 00000029 ebp: 69aeee0c esp: 69aeedc0
   [...]

The crash occurred when FSP attempted to lock the Protected
Processor Inventory Number Enable Control MSR (IA32_PPIN_CTL
0x4e).

   69f3d1d3:	8b 43 f4             	mov    -0xc(%ebx),%eax
   69f3d1d6:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
   69f3d1d9:	89 45 dc             	mov    %eax,-0x24(%ebp)
   69f3d1dc:	8b 55 c4             	mov    -0x3c(%ebp),%edx
   69f3d1df:	8b 45 c0             	mov    -0x40(%ebp),%eax
   69f3d1e2:	8b 4d dc             	mov    -0x24(%ebp),%ecx
   69f3d1e5:	0f 30                	wrmsr
   69f3d1e7:	e9 ee fd ff ff       	jmp    0xfffffe39

FSP experiences issues due to attempting to lock the same register
multiple times for a single core. This is caused by an inconsistency
in the processor information data structure, where multiple cores
share the same identifier. This is not permitted and triggers a
General Protection Fault Exception.

TEST=Executing CpuFeaturesPei.efi in FSP-S does not crash on a rex
     board.

Change-Id: I06db580cddaeaf5c452fa72f131d37d10dbc5974
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/86004
Reviewed-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-by: Cliff Huang <cliff.huang@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Zhixing Ma <zhixing.ma@intel.com>
2025-01-17 16:50:31 +00:00
Jayvik Desai
759dd5379e ec/google/chromeec: Add debug timestamp for host EC commands
Improve host EC command debugging with timestamps and duration for
better analysis, this feature can be enabled by selecting the config
EC_GOOGLE_CHROMEEC_HOST_CMD_DEBUG.

BUG=none
TEST=Brox/lotso device successfully built and booted. Debug messages
confirmed in device logs only when the specific configuration is
selected. Sample print: "EC HOST CMD Duration: 661 us, Command: 0x4b,
version: 0x0"

Change-Id: I8ab89830ede940d2237ad21187b137dca9689fb0
Signed-off-by: Jayvik Desai <jayvik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85326
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2025-01-17 07:54:14 +00:00
Jayvik Desai
b64baff331 mb/google/fatcat: Select DRIVER_INTEL_ISH_HAS_MAIN_FW for fatcat
This patch selects the ISH main firmware Kconfig to prevent
google/fatcat from trying to retrieve a dummy ISH SHIM firmware version,
since ISH FW in google/fatcat will be part of the kernel firmware image.

BUG=b:370984186
TEST=Build and boot google/fatcat, config exists in coreboot.config

Change-Id: Id24394cb6c6dbaed13c87612da341e47eb69895f
Signed-off-by: Jayvik Desai <jayvik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85920
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-01-17 07:54:00 +00:00
Ian Feng
13a808749f mb/google/fatcat/var/francka: Fix incorrect memory ram_id
Fix ram_id index is always "0".

Memory configuration board straps:
 GPIO_MEM_CONFIG_0	GPP_D08
 GPIO_MEM_CONFIG_1	GPP_D07

BUG=b:372395010, b:381992696
TEST=emerge-fatcat coreboot

Change-Id: I24ba06bc8d61ac5bd372ff4611d3ea876ac9bb92
Signed-off-by: Ian Feng <ian_feng@compal.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/86011
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Dtrain Hsu <dtrain_hsu@compal.corp-partner.google.com>
2025-01-17 06:59:58 +00:00
Nicholas Chin
94247e93a2 util/find_usbdebug: Fix lsusb -t parsing for usbutils v016 and newer
Commit e24294ff9ade ("lsusb -t: print ports and busses and devices with
same width") [1] in the usbutils repository changed the format of the
lsusb -t output, breaking the find_usbdebug.sh script. This commit is
present in usbutils version 016 and later.

Use the output of lsusb -V to set the parsing patterns based on the
version in order to maintain compatibility with older versions of
usbutils. A simple integer comparison of the version number is used for
this, which will not work with versions older than v001 as those use a
0.nn version number format. However, since v001 was released in late
2010, it is probably safe to assume that no one will be using a version
of usbutils older than that. Usbutils v016 was released in late 2023 so
there could still conceivably be systems using older versions, such as
Ubuntu 22.04 LTS which is on v014.

TEST=find_usbdebug.sh works as expected with both lsusb v015 and v017

[1] e24294ff9a

Change-Id: Iffa1238b995d387d6e51459f85ae96da52a5c0ff
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85790
Reviewed-by: Jan Philipp Groß <jeangrande@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2025-01-17 05:55:53 +00:00
Maxim Polyakov
4ff7a4a5a0 intelp2m/patform/ebg: Add unit tests
1) Siding one in nibble: DW = 0001 0001 0001 0001
                                <-   <-   <-   <-
2) Siding zero in nibble: DW = 1110 1110 1110 1110
                                 <-   <-   <-   <-
3) Siding one one in nibble: DW = 0011 0011 0011 0011
                                    <-   <-   <-   <-

Change-Id: I10c313aa543a4e07c6685a7ae4e9d665eef7bf75
Signed-off-by: Maxim Polyakov <max.senia.poliak@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85552
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
2025-01-17 04:25:06 +00:00
Maxim Polyakov
2c747794cf intelp2m/patform/mtl: Add unit tests
1) Siding one in nibble: DW = 0001 0001 0001 0001
                                <-   <-   <-   <-
2) Siding zero in nibble: DW = 1110 1110 1110 1110
                                 <-   <-   <-   <-
3) Siding one one in nibble: DW = 0011 0011 0011 0011
                                    <-   <-   <-   <-

Change-Id: I5965f2362626c0ca1f51bf5f4dbe275b76c392ea
Signed-off-by: Maxim Polyakov <max.senia.poliak@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85551
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-01-17 04:25:02 +00:00
Maxim Polyakov
e28ba75437 intelp2m/patform/adl: Add unit tests
1) Siding one in nibble: DW = 0001 0001 0001 0001
                                <-   <-   <-   <-
2) Siding zero in nibble: DW = 1110 1110 1110 1110
                                 <-   <-   <-   <-
3) Siding one one in nibble: DW = 0011 0011 0011 0011
                                    <-   <-   <-   <-

Change-Id: I1ef3e9eeccdde8824a921ece02edbc4ba1187a00
Signed-off-by: Maxim Polyakov <max.senia.poliak@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85550
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-01-17 04:24:58 +00:00
Maxim Polyakov
7408c2757e intelp2m/patform/tgl: Add unit tests
1) Siding one in nibble: DW = 0001 0001 0001 0001
                                <-   <-   <-   <-
2) Siding zero in nibble: DW = 1110 1110 1110 1110
                                 <-   <-   <-   <-
3) Siding one one in nibble: DW = 0011 0011 0011 0011
                                        <-   <-   <-   <-

Change-Id: I637ee4769b13199edadd10afbbd12f9fc37fec81
Signed-off-by: Maxim Polyakov <max.senia.poliak@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85607
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
2025-01-17 04:24:53 +00:00
Maxim Polyakov
1edfffbe84 intelp2m/patform/jsl: Add unit tests
1) Siding one in nibble: DW = 0001 0001 0001 0001
                                <-   <-   <-   <-
2) Siding zero in nibble: DW = 1110 1110 1110 1110
                                 <-   <-   <-   <-
3) Siding one one in nibble: DW = 0011 0011 0011 0011
                                    <-   <-   <-   <-

Change-Id: Ie2acd675a6239768d23593cd5ca273b56480a890
Signed-off-by: Maxim Polyakov <max.senia.poliak@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85549
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-01-17 04:24:38 +00:00
Maxim Polyakov
244fd406e9 intelp2m/patform/cnl: Add unit tests
1) Siding one in nibble: DW = 0001 0001 0001 0001
                                <-   <-   <-   <-
2) Siding zero in nibble: DW = 1110 1110 1110 1110
                                 <-   <-   <-   <-
3) Siding one one in nibble: DW = 0011 0011 0011 0011
                                    <-   <-   <-   <-

Change-Id: Icb0b6506a07b96903e6bc7994e5f97d483d0a330
Signed-off-by: Maxim Polyakov <max.senia.poliak@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85548
Reviewed-by: Daniel Maslowski <info@orangecms.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
2025-01-17 04:24:25 +00:00
Ariel Otilibili
845bdef386 util/lint: Clear syntax warnings in Python 3.12
Since Python 3.12, invalid escape sequences produce a SyntaxWarning;
in the future, they will produce SyntaxError.

Using raw strings clear out the warning.

Below the command used for checking the fix worked.

```
$ python3 util/lint/checkpatch_json.py
```

Link: https://docs.python.org/3.12/whatsnew/3.12.html#other-language-changes
Change-Id: I0177dc7f0d3013759879320afdb6ab548d356bc7
Signed-off-by: Ariel Otilibili <otilibil@eurecom.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85771
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
2025-01-17 00:34:29 +00:00
Alicja Michalska
2c65add5ad MAINTAINERS: Add Alicja Michalska to Erying and Topton mainboards
While I don't have +2 rights, I think it makes sense to add myself as
maintainer given I'm a creator of both ports in upstream tree.

Change-Id: I2484fc488040c2d86bbf3bf98f39354bf88efae8
Signed-off-by: Alicja Michalska <alicja.michalska@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85977
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
2025-01-17 00:32:56 +00:00
Nicholas Chin
922d2845d6 util/find_usbdebug: Check for lsusb and lspci
Add a check to make sure lsusb and lspci are installed, as the script
relies on them to function properly. Previously, if lsusb was not
installed, the script proceeded as if nothing was wrong, but never found
any devices plugged into the debug port. If lspci was not found, the
script exited saying that no EHCI debug capable controller was found.
The "command not found" messages that normally would have been shown in
these situations was not being shown, as stderr is redirected to
/dev/null to hide error messages that don't matter as per the comment
near the top of the script.

Change-Id: Ib56a20aab9552aa6321c2fb9ad0d2ca7d6cd00c7
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85796
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Riku Viitanen <riku.viitanen@protonmail.com>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
2025-01-16 23:18:06 +00:00
Elyes Haouas
28b4905132 tree: Use boolean for docking_supported
Change-Id: I25f09457edf4cfb9bec6939de3e56c2ea7965801
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/86022
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
2025-01-16 23:16:25 +00:00
Elyes Haouas
6457a1b1b8 tree: Use boolean for usb_phy_custom
Change-Id: I96decb66d632be874e517ffe1c842cd6124529b1
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/86021
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2025-01-16 23:16:11 +00:00
Elyes Haouas
70d1f1a2d6 tree: Use boolean for deep_s{3,5}_enable_{ac,dc}
Change-Id: I1621e98e7925b140c608f893a6680c9384bac2f0
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/86020
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
2025-01-16 23:16:03 +00:00
Sean Rhodes
17942b7895 mb/starlabs/starbook: Add Meteor Lake (165H) variant
Tested using `edk2` from
`https://github.com/starlabsltd/edk2/tree/uefipayload_vs`:
* Ubuntu 24.04
* Manjaro 24

No known issues.

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

Change-Id: I6621585086c58d19574841314796ed9db779036e
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85715
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2025-01-16 16:13:09 +00:00
Sean Rhodes
187ec7986d acpi: Guard CBMEM driver against Chrome devices
Commit ce10b6f821 unhid the BOOT0000
device from Windows. It requires a driver that's available from Coolstars EC bundle.

Guard this against the ChromeEC, so that non-Chromebooks don't get an
error device in Device Manager.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: I6645c1be7d602a2775f703f5cf56e4c9d6f3bb76
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81029
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2025-01-16 16:12:19 +00:00
Sean Rhodes
d503ce1277 drivers/crb: Return an accurate status
Rather than unconditionally returning that the device is present,
return whether the fTPM is on or not.

Test=Boot the StarLite Mk V with the Intel ME disabled, and check
that the TPM is reported as not present.

Change-Id: If8236021bf0e1264646971cff9c998fac99ac220
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85228
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2025-01-16 16:12:12 +00:00
Sean Rhodes
c1432f4085 soc/intel/common/cnvi: Fix path for CFLR method
The CLFR method exists outside the CNVi device, so add `^` to allow
it to be found. This fixes the SSDT and allows the method to be used.

TEST=build/boot starlabs/starlite_adl

Change-Id: I1158cf1ccf50d9095fdab8d2d663041ef1985513
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85885
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2025-01-16 16:12:07 +00:00
Sean Rhodes
98f2f488eb mb/starlabs/starbook: Add Alder Lake-N (N200) variant
Tested using `edk2` from
`https://github.com/starlabsltd/edk2/tree/uefipayload_vs`:
* Ubuntu 24.04
* Manjaro 24

No known issues.

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

Change-Id: Id45e31b61046748a57c8104081f689057621bb04
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85714
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-01-16 16:12:02 +00:00
Kenneth Chan
4ba0dec657 mb/google/rex/var/kanix: Update CPU power limit
Update PL1/PL2/PL4 settings for kanix thermal design
PL1_min = 12W
PL1_max = 18W
PL2 = 40W
PL4 = 84W

BUG=b:389726952
BRANCH=firmware-rex-15709.B
TEST=build success and thermal team's confirm

Change-Id: Ie5377d92792b20c33c2628009863c11f5d4bc096
Signed-off-by: Kenneth Chan <kenneth.chan@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85998
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-01-16 13:28:56 +00:00
Jayvik Desai
d1a2123e07 MAINTAINERS: Add Jayvik for intel/pantherlake and google/fatcat
Change-Id: I6512c99217a8cb390268eda404202de18bd74d45
Signed-off-by: Jayvik Desai <jayvik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85999
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Pranava Y N <pranavayn@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-01-16 13:28:44 +00:00
Ivy Jian
fe91b0c83a mb/google/nissa/var/dirks: Add GPIO table
Refer to the reference board of nivviks, and update GPIO settings
based on latest schematic (0W4_TWL_A_MB_0113.pdf).

BUG=b:388117663
TEST=none.

Change-Id: I5e3bc60a1c749b65c542a74eb6167e921ef369f2
Signed-off-by: Ivy Jian <ivy.jian@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85975
Reviewed-by: Jayvik Desai <jayvik@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Dinesh Gehlot <digehlot@google.com>
2025-01-16 13:28:22 +00:00
Kun Liu
5ba8d70f0f mb/google/nissa/var/telith: Update 6W and 15W DPTF parameters
The DPTF parameters were defined by the thermal team.
Based on thermal table in 377955793#comment20

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

Change-Id: I0455d62a9f174fd911e5aa0b9626329ad2ac8f06
Signed-off-by: Kun Liu <liukun11@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/86000
Reviewed-by: Rui Zhou <zhourui@huaqin.corp-partner.google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jayvik Desai <jayvik@google.com>
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2025-01-16 12:48:47 +00:00
Subrata Banik
f3f72bd198 mb/google/fatcat/var/fatcat: Workaround for codec enable with FPS
There is an issue where the codec enable signal is not working correctly
when FPS (Fingerprint Sensor) is enabled. This commit applies a
temporary workaround by using a dedicated GPIO pin for codec enable.

This allows the codec to function properly even when FPS is enabled,
preventing audio issues. A proper fix in hardware schematics will be
implemented in a future update.

BUG=b:390031369
TEST=Verified audio playback works with FPS being enabled.

Change-Id: I9883036b5e964cb55bd34c36398a501f69a8ecaa
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85992
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Pranava Y N <pranavayn@google.com>
Reviewed-by: Bora Guvendik <bora.guvendik@intel.com>
2025-01-16 03:11:19 +00:00
Subrata Banik
11eeeb5e2a mb/google/fatcat: Remove chromeos-debug-fsp.fmd
The file chromeos-debug-fsp.fmd is no longer needed, as the FMD
configuration is now handled by the generic Chrome OS FMD file.

This change removes the file to simplify the build process and
reduce the amount of code that needs to be maintained.

Change-Id: Ida430d415ae3f7dc93b89eb4d7c7ba59ed280e1b
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85971
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-01-16 03:11:11 +00:00
Julius Werner
cd912cf4a1 commonlib/device_tree: Skip dt_read_cell_props() when not needed
dt_find_node() calls dt_read_cell_props() for every node it walks, but
this is only actually necessary when the caller is interested in the
`#address-cells` and `#size-cells` values and passed out-parameters to
receive them. Most callers don't actually do that, and we scan through
all properties needlessly on every node. This patch adds a fast path to
skip that.

Change-Id: I114f824a7d88b0bac4a96aca3f7dced459503b02
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85989
Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
2025-01-15 20:31:27 +00:00
Julius Werner
5266191670 commonlib/device_tree: Initialize cells to default values on find()
This patch wraps `dt_find_node()` in a function that initializes the
addr_cells and size_cells values to the defaults provided in the FDT
specification before potentially updating them from found values, so
that we always return the correct result and remove the burden of
correctly initializing them from the caller.

Change-Id: I39ba2c82d3a0d0b39a2ed5eba2420a04fbccb2f7
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85988
Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
2025-01-15 20:31:15 +00:00
Julius Werner
46eae436c0 commonlib/device_tree: Return cells properties of parent node
In Flattened Device Trees, there exist special properties called
`#address-cells` and `#size-cells` that determine how large addresses
and sizes in `reg` properties are. According to the FDT specification,
each `reg` node cares about the `...cells` property in the _parent_ of
its node. Our current implementation looks for those properties in the
node it finds and returns, which would presumably be the node with the
`reg` property itself. Therefore, we're returning the wrong `...cells`
values.

This isn't really a problem in practice because we also allow inheriting
these properties from the parent when they don't exist in the child, and
nodes that contain `reg` properties usually don't contain `...cells`
properties themselves (because those properties would be incorrect and
useless there), so we usually just end up falling back to the (correct)
value we inherited from the parent. But it's still better to just fix
the mistake, and if we ever happen to have a situation where the node
containing the `reg` property still has children that require different
`...cells` values as well, it could make a difference. (The fact that
we're inheriting these properties is also technically incorrect
according to the spec, but we're doing that intentionally to match
behavior in the Linux kernel.)

This issue was already correctly implemented in the recently added
fdt_find_node() from commit 33079b8174 ("lib/device_tree: Add some FDT
helper functions"), and this patch also fixes it in the older
dt_find_node().

Change-Id: I323066477a4d4be17225e0915a81ce2ff39c1e40
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85964
Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
2025-01-15 20:31:08 +00:00
Yidi Lin
a81e09612b soc/mediatek/mt8196: Initialize PMIF for SD Card
mt6373_init_pmif_arb() needs to be initialized for SD card to control
the regulator.

TEST=emrege-rauru coreboot
TEST=The assertion is gone on Rauru during normal boot.

Change-Id: I7e3265bb62a6c78d44e2c756be9a020a49a03056
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85969
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-01-15 10:58:31 +00:00
Yidi Lin
f51c279d7c soc/mediatek: Rename is_pmif_init_done to check_init_done
TEST=emerge-geralt coreboot && emerge-rauru coreboot

Change-Id: Ib4b9a7969f5af6e001c5b491ec09a43e1289a6ae
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85968
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
2025-01-15 10:58:23 +00:00
Yidi Lin
cb4c52d620 soc/mediatek: Skip duplicate pmif_arb->is_pmif_init_done() call
Return to the caller immediately if pmif_arb has been initiailized. In
this way, we can skip unnecessary check and reduce the access to the
PMIF register.

TEST=emerge-geralt coreboot && emerge-rauru coreboot

Change-Id: Id1d11f8b238855edb393d77151159792e7716d22
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85967
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
2025-01-15 10:58:17 +00:00
Sean Rhodes
71c8a5663b mb/starlabs/*: Unset ADD_ITE_BINARY
This has always been set in downstream defconfig's; remove it here
to avoid build issues with Jenkin's being unable to find a suitable
EC binary.

Change-Id: I02a10211d7cec9a2c8a0837f77ca17acdcb06c22
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85973
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2025-01-15 10:37:27 +00:00
Sean Rhodes
6fedf20bd4 mb/starlabs/starlite: Add smart battery variant
Add Kconfig options for `_SB`, the smart battery variant which
is identical apart from a different EC which supports a Smart
Battery instead of the CW2015.

Change-Id: I1e04ea26ef597ce542a7348982d056fb55de0d22
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85701
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2025-01-15 10:37:19 +00:00
Sean Rhodes
ade4be0ed2 mb/starlabs/starlite_adl: Organise the Kconfig options
The selected options were a bit illogical, so but them all under
the common board Kconfig, alphabetise and dedpulicate them.

Change-Id: I277249323e8735dda0a6e394e475435ddedf5537
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85972
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-01-15 10:37:12 +00:00
Sean Rhodes
9ed0beccd8 mb/starlabs/lite: Put options in CFR cbtable
Change-Id: I42ae5b35e6b53b5a13ec3f80180f4955db9b6ce2
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/76583
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2025-01-15 10:37:01 +00:00
Sean Rhodes
3370e41bb2 mb/starlabs/starlite_adl: Put options in CFR cbtable
Change-Id: If92f61dece7e67bfd2e29927198c9ebb81c4d363
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85711
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2025-01-15 10:36:53 +00:00
Sean Rhodes
02f31d080c mb/starlabs/byte_adl: Put options in CFR cbtable
Change-Id: I11349397e41fb2c7a3f26ab172a2c4b30d24bc0a
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85710
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-01-15 10:36:46 +00:00
Sean Rhodes
d0ce8d8146 mb/starlabs/starfighter: Put options in CFR cbtable
Change-Id: I3e3b5448282aa81a89356f1d3145381d65e47aaa
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85709
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-01-15 10:36:40 +00:00
Sean Rhodes
121bc2a370 mb/starlabs/starbook: Put options in CFR cbtable
Change-Id: I816893e5c2663ed55ae9fa5dd662489b27332aa6
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/74743
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2025-01-15 10:36:34 +00:00
Sean Rhodes
65278f5cae ec/starlabs/merlin: Only include battery ACPI for systems with a battery
Change-Id: I381714887f4319d8e1a25c1e493ba03631cbf082
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85716
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2025-01-15 10:36:21 +00:00
Sean Rhodes
43ac56bf43 ec/starlabs/merlin: Move common variants to respective files
Move the Q-Events used by the merlin EC to their respective
files, i.e. `Q0B` for Battery Status Update to battery.asl.

This means that only revelant events will be included.

Change-Id: Ib41fbafd79b999409a520361a4d372902d878794
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85945
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-01-15 10:36:16 +00:00
Ariel Otilibili
a9d4c40ba5 samsung/exynos5250: Replace 'unsigned long int' by 'unsigned long'
As suggested by the linter:

Prefer 'unsigned long' over 'unsigned long int' as the int is unnecessary

Link: https://qa.coreboot.org/job/coreboot-untested-files/lastSuccessfulBuild/artifact/lint.txt
Change-Id: I7eddb0934ccd24c9994a60d7058a1e518c6c9c9f
Signed-off-by: Ariel Otilibili <otilibil@eurecom.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85785
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-01-15 08:32:16 +00:00
Subrata Banik
f2201e20de mb/google/fatcat/var/fatcat: Refactor GPIO programming for UFS support
Refactor GPIO programming to support UFS storage on the fatcat
platform.

- Add pad configurations for UFS in `fw_config.c`.
- Update `fw_config_configure_pre_mem_gpio()` and
  `fw_config_gpio_padbased_override()` to include UFS support.
- Remove redundant UFS pad configuration from `gpio.c`.

TEST=Able to build and boot from UFS device on google/fatcat.

Change-Id: I09331d75501977d89592d1a70d5b0dca271f8747
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85958
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
2025-01-15 03:48:05 +00:00
Subrata Banik
b885fd8d8d mb/google/fatcat/var/fatcat: Drop UFC/WFC GPIO programming
Skip UFC/WFC GPIO programming for power-on and clock configuration.

Clock configuration is now handled by native-function in ramstage,
and there is no need to power-on the camera module early in the boot
phase. Doing so resulted in the privacy LED being turned on during the
entire boot process, which is unnecessary.

BUG=b:381044394
TEST=No privacy LED blinking seen while booting google/fatcat.

Change-Id: Iae984a2ab6f797af450166c90f4a2c6d3e0e1caa
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85955
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-01-15 03:47:56 +00:00