Commit graph

12,191 commits

Author SHA1 Message Date
Jonathan Zhang
01acc036ae soc/intel/cmn/block/acpi: enable BERT table without crashlog
Besides crashlog, there's also other errors such as MCA error, which
should be recorded in BERT table. With current code, BERT table is
not generated if crashlog is not enabled. Add if statement for
SOC_INTEL_CRASHLOG so that MCA error can be recorded in BERT table
when crashlog is not supported.
For some server mainboard, crashlog is supported through BMC instead
of host firmware.

Also check if BERT region is generated when crashlog is not enabled.

Change-Id: I323ca889eef2b246fc4e062582d2d11b4213316f
Signed-off-by: Tim Chu <Tim.Chu@quantatw.com>
Signed-off-by: Jonathan Zhang <jonzhang@meta.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68878
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
2023-02-17 12:37:56 +00:00
Jonathan Zhang
43277976ed soc/intel/xeon_sp: move PCH specific code into lbg directory
pmc_lock_smi() and pmc_lockdown_config() have PCH specific
implementations. Move them from common lockdown.c and pmc.c
into lbg/soc_pmutil.c.

Move sata_lockdown_config() and spi_lockdown_config() to
lbg/lockdown.c.

While here, fix some coding style issues.

Change-Id: I9b357ce877123530dd5c310a730808b6e651712e
Signed-off-by: Jonathan Zhang <jonzhang@meta.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72396
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Simon Chou <simonchou@supermicro.com.tw>
Reviewed-by: Jian-Ming Wang <jianmingW@supermicro.com>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
2023-02-17 12:34:27 +00:00
Subrata Banik
e70bc423f9 soc/intel/meteorlake: Improve incomplete debug message
This patch improves `incomplete` debug messages for missing ACPI
name PCI devices.

Additionally, using the proper PCI device B:D:F to locate the device
with the missing ACPI name.

Finally, modify the msg time from Debug to Warning to make it more
purposeful.

TEST=Able to build and boot google/rex.

Without this patch:

```
  [DEBUG]  dev->path.devfn=10
  [DEBUG]  dev->path.devfn=a2
  [DEBUG]  dev->path.devfn=b0
```

With this patch:

```
  [WARN]  Missing ACPI Name for PCI: 00:02.0
  [WARN]  Missing ACPI Name for PCI: 00:14.2
  [WARN]  Missing ACPI Name for PCI: 00:16.0
```

Change-Id: I605e59de8cbec18c9a56eaa6e90a34f36ea4cdd9
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73072
Reviewed-by: Tarun Tuli <taruntuli@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Reviewed-by: Ivy Jian <ivy.jian@quanta.corp-partner.google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2023-02-17 08:30:24 +00:00
Subrata Banik
8b223d43ce soc/intel/cmn/acpi/pep: Add PCI device number for warning msg
This patch fixes the wrong warning msg around `Unknown min d_state`
with having proper PCI Bus/Device/Function number to help to parse
the log better.

With this patch:

[WARN ]  Unknown min d_state for 20
[WARN ]  Unknown min d_state for 50
[WARN ]  Unknown min d_state for 98
[WARN ]  Unknown min d_state for 9a
[WARN ]  Unknown min d_state for f9

With this patch:

[WARN ]  Unknown min d_state for PCI: 00:04.0
[WARN ]  Unknown min d_state for PCI: 00:0a.0
[WARN ]  Unknown min d_state for PCI: 00:13.0
[WARN ]  Unknown min d_state for PCI: 00:13.2
[WARN ]  Unknown min d_state for PCI: 00:1f.1

Change-Id: Iccaf26882ce5998469b2be6cf5bc7082f193cb29
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73071
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Reviewed-by: Ivy Jian <ivy.jian@quanta.corp-partner.google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2023-02-17 08:30:15 +00:00
Michał Kopeć
28daa6b9ae soc/intel/elkhartlake/fsp_params.c: wire up remaining ddc params
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Change-Id: I434c22cd784e24c76bc47aee8728d28255b762db
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72405
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
2023-02-16 19:33:13 +00:00
Felix Held
e68ddc71ef soc/amd/mendocino/Kconfig: add VGA BIOS ID and file defaults
Add the correct defaults for VGA_BIOS_ID and VGA_BIOS_FILE in
Mendocino's Kconfig instead of relying on the board's .config files
providing the correct settings. Those settings are per-SoC and not
per-board, so this is valid for all boards using the Mendocino APU.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I09c537d3801123e7ffc01608171918b0396b7a5f
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73051
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
2023-02-16 16:09:38 +00:00
Felix Held
30abfe5f02 soc/amd/cezanne/Kconfig: add VGA BIOS ID and file defaults
Add the correct defaults for VGA_BIOS_ID and VGA_BIOS_FILE in Cezanne's
Kconfig instead of relying on the board's .config files providing the
correct settings. Those settings are per-SoC and not per-board, so this
is valid for all boards using the Cezanne APU.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I67101d518c6b873ad89932ae39c2deb2ed6a4c29
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73050
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
2023-02-16 16:09:18 +00:00
Felix Held
ff01442fc3 soc/amd/picasso/Kconfig: update VGA_BIOS_ID's help text
map_oprom_vendev_rev is implemented in graphics.c in the SoC directory.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I0123cb8ff662445fd0a613711d9e1981272b1235
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73052
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
2023-02-16 16:08:47 +00:00
Fred Reitberger
1fcd7f066d soc/amd/mendocino: Remove non-functional APCB check
The way the PSP_APCB_FILES list is created will always insert at least a
space into it. When tested by the if, this space will prevent the else
clause from ever running and never generate a build error.

Remove the non-functional check. Instead, mainboards should select
warn_no_apcb or die_no_apcb to generate a warning message or build error
if the APCB is missing.

Signed-off-by: Fred Reitberger <reitbergerfred@gmail.com>
Change-Id: Ic96846d74df2dc279e13b22f2a83b6f893954fe8
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73009
Reviewed-by: Martin Roth <martin.roth@amd.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-02-16 15:21:56 +00:00
Fred Reitberger
0dab798786 soc/amd/glinda: Remove non-functional APCB check
The way the PSP_APCB_FILES list is created will always insert at least a
space into it. When tested by the if, this space will prevent the else
clause from ever running and never generate a build error.

Remove the non-functional check. Instead, mainboards should select
warn_no_apcb or die_no_apcb to generate a warning message or build error
if the APCB is missing.

Signed-off-by: Fred Reitberger <reitbergerfred@gmail.com>
Change-Id: I26b96966495dc35a8b4a0cb7d5a841f3812f2a70
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73007
Reviewed-by: Martin L Roth <gaumless@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-02-16 15:21:02 +00:00
Fred Reitberger
2cd8fa7a0f soc/amd/phoenix: Remove non-functional APCB check
The way the PSP_APCB_FILES list is created will always insert at least a
space into it. When tested by the if, this space will prevent the else
clause from ever running and never generate a build error.

Remove the non-functional check. Instead, mainboards should select
warn_no_apcb or die_no_apcb to generate a warning message or build error
if the APCB is missing.

Signed-off-by: Fred Reitberger <reitbergerfred@gmail.com>
Change-Id: Ib9fe0f05739fb19da2494629dc1d5aaa0ca6431f
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73006
Reviewed-by: Martin L Roth <gaumless@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-02-16 15:19:05 +00:00
Fred Reitberger
38954e2461 soc/amd/common: Add die_no_apcb
Add target to die when no APCB is found. This is not always a fatal
case, so mainboards can select between this and warn_no_apcb.

Signed-off-by: Fred Reitberger <reitbergerfred@gmail.com>
Change-Id: I5bbc8dd3200c4781677411e67a4b5f1fe8b20286
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73005
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2023-02-16 15:18:41 +00:00
Cliff Huang
0539962835 soc/intel/common/block/pcie/rtd3: Fix root port _ON logic
_ON() calls _STA() at the beginning. If _STA() indicates the device is
ON, it exits immediately.  The solution is to move this _STA() check
into the ONSK logic. In general cases, ONSK remains '0'.

NOTE: RTD3 provides a way to skip _OFF() and _ON() methods following
by a device reset such as WWAN device. When such device calls its
_RST(), it increments OFSK. When the following _OFF() is called, it
was scheduled to skip, it will also increments ONSK. Similarly, when
the following _ON() is called, it checks if the previous _OFF was
skipped or not. If skipped, it needs to do the same. In normal
suspend/resume cases, these two variables remains '0'. No _OFF() and
 _ON() calls are skipped.

entire generated code:

Method (_ON, 0, Serialized)  // _ON_: Power On
{
    If ((ONSK == Zero))
    {
        Local0 = \_SB.PCI0.RP01.RTD3._STA ()
        If ((Local0 == One))
        {
            Return (One)
        }

        Acquire (\_SB.PCI0.R3MX, 0xFFFF)
        EMPG = Zero
        Local7 = 0x06
        While ((Local7 > Zero))
        {
            If ((AMPG == Zero))
            {
                Break
            }

            Sleep (0x10)
            Local7--
        }

        Release (\_SB.PCI0.R3MX)
        \_SB.PCI0.PMC.IPCS (0xAC, Zero, 0x10, 0x00000020, 0x00000020,
          0x00000020, 0x00000020)
        \_SB.PCI0.STXS (0x015E)
        If ((NCB7 == One))
        {
            L23R = One
            Local7 = 0x14
            While ((Local7 > Zero))
            {
                If ((L23R == Zero))
                {
                    Break
                }

                Sleep (0x10)
                Local7--
            }

            NCB7 = Zero
            Local7 = 0x08
            While ((Local7 > Zero))
            {
                If ((LASX == One))
                {
                    Break
                }

                Sleep (0x10)
                Local7--
            }
        }
    }
    Else
    {
        ONSK--
    }
}

BUG=b:249931687
BUG=b:241850118
TEST=Use above functions and check the generated SSDT table after OS
boot.

Signed-off-by: Cliff Huang <cliff.huang@intel.com>
Change-Id: Id1ea2e78e98d334a90294ee6cdd14ae2de9b9b62
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72826
Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
Reviewed-by: Kane Chen <kane.chen@intel.corp-partner.google.com>
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-02-16 14:12:07 +00:00
Tim Chu
3c31173c1c soc/intel/xeon_sp: add ebg (Emmitsburg PCH) directory
EBG (Emmitsburg) PCH is used in Intel SPR-SP chipset.

These changes are in accordance with the documentation:
* Intel(R) Emmitsburg Platform Controller Hub External Design
Specification. Document Number: 606161
* Emmitsburg PCH BIOS Specification. Document Number: 631063.

Signed-off-by: Jonathan Zhang <jonzhang@meta.com>
Signed-off-by: Tim Chu <Tim.Chu@quantatw.com>
Change-Id: I393c1df75a344519fca7d680116f41f5f8bd9e87
Reviewed-on: https://review.coreboot.org/c/coreboot/+/71945
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jonathan Zhang <jonzhang@fb.com>
2023-02-16 14:07:15 +00:00
Subrata Banik
be0590c3e1 soc/intel/cmn/gfx: Skip warning msg in ChromeOS normal mode
This patch ensures avoiding displaying wrong warning msg as
`Graphics hand-off block not found` during ChromeOS normal mode
booting as FSP is not executing GFX PEIM hence, GFX hand-off HOB
is expected to be missing. 

TEST=Able to build and boot google/rex in normal mode w/o having
warning msg. 

Change-Id: Ia9192129852195f6183c0c43369cd33b253f9140
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73028
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Ivy Jian <ivy.jian@quanta.corp-partner.google.com>
2023-02-16 00:39:52 +00:00
Anil Kumar
e822fb3587 soc/intel/alderlake: Disable package C-state demotion for Raptor Lake
While executing S0ix tests on Raptor Lake boards, we observed CPU fails
to enter suspend state, causing failure.

As a workaround, disable package C-state demotion, till this issue
is fixed in ucode.

BUG=268296760
BRANCH=firmware-brya-14505.B
TEST=Boot and verified that S0ix issue is resolved.

Signed-off-by: Anil Kumar <anil.kumar.k@intel.com>
Change-Id: Ie50e1024f4118d82d2ad762b54fa722c43990d12
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72942
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
2023-02-15 17:57:41 +00:00
Lean Sheng Tan
53ee1bba72 soc/intel/adl: Correct wrongly reported ADL PCH SKU
Per Intel 600 & 700 series PCH EDS (626817), these PCH IDs belongs
to ADL not RPL, though some RPL SoCs are also using ADL PCH.
Hence correct the name reporting to avoid confusion when ADL SoCs
were used.

Signed-off-by: Lean Sheng Tan <sheng.tan@9elements.com>
Change-Id: I61a608e2c99b1d60a99d6ad734b396676f3a2ab2
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72999
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
2023-02-15 13:16:36 +00:00
Fred Reitberger
a63fac3c58 soc/amd/common: Move missing APCB warning to common area
Move missing APCB warning from birman to amd/common so that other
mainboards can utilize the same warnings if the APCB is missing.

Signed-off-by: Fred Reitberger <reitbergerfred@gmail.com>
Change-Id: I7ae689726ae4f7ccdf6959e47cbb5aee15cdb690
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73002
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2023-02-15 13:07:04 +00:00
Fred Reitberger
e814b265ea soc/amd/common/Makefile.inc: Extend if case coverage
Extend the coverage of the 'ifeq ($(CONFIG_SOC_AMD_COMMON),y)' case to
the entire file. This matches the coverage of the related Kconfig.

Add comments to endif to show which if they are ending.

Signed-off-by: Fred Reitberger <reitbergerfred@gmail.com>
Change-Id: I369e23e7ee9463ca1ae487d1e2181c760ae1bab2
Reviewed-on: https://review.coreboot.org/c/coreboot/+/70208
Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
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>
2023-02-15 13:06:28 +00:00
Zheng Bao
4bfb36ed68 amdfwtool: use SoC ID info instead of misleading comboable flag
Since it actually depends on the SoC type whether the old PSP
directory table pointer or the new comboable PSP directory table
pointer is used in EFS, get this information from the SoC ID instead
of passing the comboable flag for the SoCs that need to use the new
comboable PSP directory table pointer.

TEST=Binary identical on amd/majolica, pcengines/apu2, amd/gardenia

Change-Id: I0c3f21065939d1b13c2607aba16cbef74dd8d389
Signed-off-by: Zheng Bao <fishbaozi@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73020
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2023-02-14 18:24:08 +00:00
Patrick Rudolph
88e5d18589 soc/intel/alderlake: Add missing SATA DSDT device
Add "SATA" to DSDT as it's referenced by Intel PEP SSDT.

Fixes warning shown in Linux:
  ACPI Error: AE_NOT_FOUND, While resolving a named reference
  package element - \_SB_.PCI0.SATA (20220331/dspkginit-438)

Change-Id: I65a1d17bce246022859f011cdc4712e1206a98fe
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72762
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
2023-02-14 07:48:33 +00:00
Subrata Banik
f57eb1a640 soc/intel/meteorlake: Hook up SkipExtGfxScan FSP-M UPD
This patch allows override to the `SkipExtGfxScan` UPD.
Ideally a platform with an on-board graphics device should skip
scanning external GFX devices aka set this UPD to `1`.

BUG=b:228002764
TEST=Able to build and boot google/rex.

Signed-off-by: Subrata Banik <subratabanik@google.com>
Change-Id: I00e15b71ed67119df9ca6f98a750ede109ff33fe
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72947
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Dinesh Gehlot <digehlot@google.com>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2023-02-14 02:58:24 +00:00
Matt DeVillier
bcb67ed3c5 soc/amd/mendocino: Add support for selective GOP driver init
Add support for the selective GOP init feature by only running the FSP
GOP driver when necessary: if the FMAP cache is invalid, or if the
board is booted in either recovery or developer mode.

BUG=b:255812886
TEST=tested with rest of patch train

Change-Id: I7ddadc254e05aca0fdd7a9567160a9329cb0e15c
Signed-off-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/70899
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
2023-02-13 14:57:31 +00:00
Matt DeVillier
1fbc1123d7 soc/amd/common/block/gfx: Use TPM-stored hash for vbios cache validation
Write the SHA256 hash of the cached VBIOS data when saving to FMAP,
and use it to validate the data read from FMAP on subsequent boots.

Add TPM2 as a dependency to the selection of VBIOS_CACHE_IN_FMAP.

BUG=b:255812886
TEST=tested with rest of patch train

Change-Id: I9c8f23b000b90a1072aeb7a57d3b7b2b2bc626dc
Signed-off-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72402
Reviewed-by: Martin L Roth <gaumless@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-02-13 14:56:48 +00:00
Fred Reitberger
552d287cc9 soc/amd/common/Makefile: Only run amdfwread once
By saving the results of amdfwread into a file, it only needs to be run
once instead of every time amdfwread-offset-size-cmd is called.

Signed-off-by: Fred Reitberger <reitbergerfred@gmail.com>
Change-Id: I1afaf65b9b2f9fb856aefc3ff37fb3a3442f6369
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72924
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-02-13 14:53:35 +00:00
Martin Roth
72c38c9b1d soc/amd/mendocino: Add svc_write_postcode call instead of stub
To assist in debugging, add a way for PSP_verstage to send postcodes to
the system.

Signed-off-by: Martin Roth <gaumless@gmail.com>
Change-Id: I22e45e26f599a0b4f0b781e9b97fccb68e2e5cc1
Reviewed-on: https://review.coreboot.org/c/coreboot/+/71852
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2023-02-13 14:51:11 +00:00
CoolStar
d103a31b4d soc/intel/alderlake: Fix ACPI name for DPTF
The correct ACPI device for DPTM is TCPU; fixing this puts the
participant devices under the correct parent device, and allows
Windows to properly go into S0ix.

TEST=builb/boot Win11 on google/banshee, verify Si0x functional.

Change-Id: I1b3e2655d4d42e008dead9bc87b73ce02868fdfa
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72920
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2023-02-13 14:15:02 +00:00
Felix Held
6c11676dc6 soc/amd/common/block/acpi.ivrs: use SMBUS_DEVFN for FCH IOAPIC device ID
Instead of using PCI_DEVFN(SMBUS_DEV, SMBUS_FUNC), use the equivalent
SMBUS_DEVFN define.

Even though the FCH IOAPIC is in the LPC part of the FCH, it needs the
IVRS IOAPIC table's source_dev_id field set to SMBUS_DEVFN which is the
function 0 of the FCH PCI device. LPC is function 3 of the FCH device.

When assigning LPC_DEVFN to source_dev_id, the kernel from Ubuntu
2022.04 LTS complains about the IOAPIC part of the IVRS table being
wrong:

AMD-Vi: [Firmware Bug]: : No southbridge IOAPIC found
AMD-Vi: Disabling interrupt remapping

With SMBUS_DEVFN being used as source_dev_id, no such error is reported.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Suggested-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Change-Id: I8470d67b2513031e75fb422d4c1c181e017ace0a
Reviewed-on: https://review.coreboot.org/c/coreboot/+/70503
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martin.roth@amd.corp-partner.google.com>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
2023-02-13 13:55:29 +00:00
Fred Reitberger
4064677fde soc/amd/phoenix: Expand APOB to 256K
APOB on Phoenix is larger, so expand the reserved DRAM and MRC_CACHE
regions to fit. This requires moving memory addresses around to prevent
overlapping memory linker errors.

TEST='./util/scripts/testsoc -K PHOENIX -K GLINDA' successfully builds
all boards

Signed-off-by: Fred Reitberger <reitbergerfred@gmail.com>
Change-Id: I42af7230ca5f09ba66b2b3c4f99ac3feac7feeea
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72905
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2023-02-13 13:45:27 +00:00
Vinod Polimera
50bdc61cff soc/qualcomm/sc7280: Add support to configure 6bit color depth
Some of the eDp panels use 6bit color depth as default.
Set the default color depth configuration to 6 bit when there
is no match with the supported color depths.

BUG=b:255870643
TEST=Validated on sc7280 Zombie development board

Change-Id: I2cea10ad417a05f020e4c418f15212fee06a2369
Signed-off-by: Vinod Polimera <quic_vpolimer@quicinc.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72744
Reviewed-by: Shelley Chen <shchen@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-02-13 12:38:19 +00:00
Vinod Polimera
a21df14924 soc/qualcomm/sc7280: update intf timing parameter calcualtion for eDP
Correct the interface timing parameter calculation for eDP interface
to avoid writing into the blanking region.

BUG=b:255870643
TEST=Validated on sc7280 Zombie development board

Change-Id: I069ca351d8c60d071debb23a5e48840701441977
Signed-off-by: Vinod Polimera <quic_vpolimer@quicinc.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72743
Reviewed-by: Shelley Chen <shchen@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-02-13 12:37:44 +00:00
Jonathan Zhang
a63ea89c04 soc/intel/xeon_sp/chip_common.c: check SOC_INTEL_PCIE_64BIT_ALLOC
Some FSPs (such as SPR-SP FSP) support SOC_INTEL_PCIE_64BIT_ALLOC.
In such case, is_pci64bit_alloc() return 1.

Change-Id: Ic33967255baf4675cd72e0db32ef3fb7f5658296
Signed-off-by: Jonathan Zhang <jonzhang@meta.com>
Signed-off-by: Johnny Lin <johnny_lin@wiwynn.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72441
Reviewed-by: Jonathan Zhang <jonzhang@fb.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-02-13 12:36:37 +00:00
Zheng Bao
21975e4a49 soc/amd/*/Makefile.inc: remove command line soc-name
The function has already moved to fw.cfg.

4/5
of split changes of https://review.coreboot.org/c/coreboot/+/58552/28

Change-Id: Idf9e491ed46ae574ccd17f24925e3e5c595039fa
Signed-off-by: Zheng Bao <fishbaozi@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72467
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
2023-02-11 12:58:51 +00:00
Zheng Bao
c188936dfe soc/amd/*: Add SOC_NAME in fw.cfg(s)
2/5
of split changes of https://review.coreboot.org/c/coreboot/+/58552/28

Change-Id: I18f73462a3995038fe93750320dfc053fec969ba
Signed-off-by: Zheng Bao <fishbaozi@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72457
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
2023-02-11 12:57:33 +00:00
Martin Roth
9ceac74a51 soc/amd(MDN/PHX/Glinda): Update DISABLE_KEYBOARD_RESET_PIN help
For MDN, PHX, & Glinda platforms, the Keyboard Reset functionality has
been moved from GPIO 129 to GPIO 21.

Additionally, the issue where the system would reset when the KBDRST_L
pin went low even when not configured for Keyboard reset seems to have
been fixed, so remove that text.

Signed-off-by: Martin Roth <gaumless@gmail.com>
Change-Id: Iefe7e00d63777577b59ee98cb974b07afea1fd12
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72912
Reviewed-by: Jon Murphy <jpmurphy@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
2023-02-10 17:09:04 +00:00
Matt DeVillier
e5e8286262 soc/amd/common/gfx: add support for VBIOS caching, selective GOP init
One of the main functions performed by the FSP GOP driver is to modify
the ATOMBIOS tables (part of the VBIOS) in memory based on the display
output configuration. This device-specific modified VBIOS can be cached
in a FMAP region specific for that purpose, then loaded into memory
instead of the "generic" VBIOS, saving the ~130ms execution time of the
GOP driver.

As this approach only works when no pre-OS display output is needed,
limit its use to ChromeOS builds, with the GOP driver enabled, and
not booting in either recovery or developer modes.

SoCs supporting this feature will need to selectively run the FSP GOP
driver as needed, using the same criteria used here to determine
whether to load the VBIOS from CBFS or from the FMAP cache.

Boards utilizing this feature will need to add a dedicated FMAP region
with the appropriate name/size, and select the required Kconfig options.

BUG=b:255812886
TEST=tested with rest of patch train

Change-Id: Ib9cfd192500d411655a3c8fa436098897428109e
Signed-off-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/70858
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jon Murphy <jpmurphy@google.com>
2023-02-10 16:02:10 +00:00
Tim Chu
6e0c78b87f soc/intel/common/block/fast_spi: Add SPI BIOS decode lock
The SPI BIOS decode lock bit needs to be set, according to
Intel EBG EDS dodcumentation.

Signed-off-by: Tim Chu <Tim.Chu@quantatw.com>
Change-Id: I3366817b42a5878f16575698ebc546fa7852e285
Reviewed-on: https://review.coreboot.org/c/coreboot/+/71953
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jonathan Zhang <jonzhang@fb.com>
2023-02-10 15:55:02 +00:00
Sridhar Siricilla
ebe7f7cee0 soc/intel/{common, meteorlake}: Add support for new MCH
The patch adds support for new Meteor Lake MCH (ID:0x7d16).

TEST=Build and boot the system having MCH ID:0x7d16.

Signed-off-by: Sridhar Siricilla <sridhar.siricilla@intel.com>
Change-Id: Ib0c9ce5c58e4bdec5e7245840f0892d651922cd9
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72835
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Usha P <usha.p@intel.com>
2023-02-10 15:53:43 +00:00
Angel Pons
05df1084ed mb/prodrive/hermes: Hook up wake on USB option
Hook up the `wake_on_usb` EEPROM setting so that it works as intended.

TEST=Keysmash on a USB keyboard, verify Hermes does not wake from S3.

Change-Id: I81531b90abae6a62754ea66c47e934e1f440bda2
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72906
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-02-09 21:40:17 +00:00
Felix Held
1e78165cdc arch/x86/include/cpu: introduce CPU_TABLE_END CPU table terminator
Instead of having a magic entry in the CPU device ID table list to tell
find_cpu_driver that it has reached the end of the list, introduce and
use CPU_TABLE_END. Since the vendor entry in the CPU device ID struct is
compared against X86_VENDOR_INVALID which is 0, use X86_VENDOR_INVALID
instead of the 0 in the CPU_TABLE_END definition.

TEST=Timeless build for Mandolin results in identical image.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Suggested-by: Angel Pons <th3fanbus@gmail.com>
Change-Id: I0cae6d65b2265cf5ebf90fe1a9d885d0c489eb92
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72888
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
2023-02-09 16:54:11 +00:00
Cliff Huang
9a5a9635b7 src/soc/intel/common/block/pcie/rtd3: Fix root port _STA logic
When enable_gpio is used as active low output, the _STA returns
incorrect value.

Also, simply the logic for _STA method.
When enable pin is used for _STA:
| polarity    | tx value| get_tx_gpio() | State |
| active high |    0    |     0         |   0   |
| active high |    1    |     1(active) |   1   |
| active low  |    0    |     1(active) |   1   |
| active low  |    1    |     0         |   0   |

When reset pin is used for _STA:
| polarity    | tx value| get_tx_gpio() | State |
| active high |    0    |     0         |   1   |
| active high |    1    |     1(active) |   0   |
| active low  |    0    |     1(active) |   0   |
| active low  |    1    |     0         |   1   |

Generated _STA method:

Ex: for using active low power enable GPIO pin GPPC_H17:
Method (_STA, 0, NotSerialized)  // _STA: Status
{
    Local0 = \_SB.PCI0.GTXS (0x5C)
    Local0 ^= One
    Return (Local0)
}

TEST=Check the SSDT when booted to OS.

Signed-off-by: Cliff Huang <cliff.huang@intel.com>
Change-Id: Ie6f1e7a5b3e9fd0ea00e1e5b54058a14c6e9e09e
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72421
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-02-09 14:57:39 +00:00
Zheng Bao
3d7623ffc9 amdfwtool: Add SOC family definition for Carrizo
For Carrizo, the soc name was set as UNKNOWN.

The change is supposed to be binary unmodified, except the SPI
settings. According to the spec, the Stoneyridge and Carrizo have the
same definition of SPI setting in EFS.

Change-Id: I9704a44773b2f541f650451ed883a51e2939e12a
Signed-off-by: Zheng Bao <fishbaozi@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66823
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
2023-02-09 13:44:39 +00:00
Elyes Haouas
3b3bb7cd62 treewide: Remove repeated words
Found by linter

Change-Id: I7a49cce0b56cf83d0e4490733f9190284a314c4a
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72896
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
2023-02-09 10:04:04 +00:00
Elyes Haouas
3c90559d74 soc/amd/picasso/soc_util.c: Remove unneeded "break"
"break" is useless after "return".

Change-Id: I84bc506a3d50e937797f42659299bf90ce392e09
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72895
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
2023-02-09 10:03:48 +00:00
Elyes Haouas
9bd974135b soc/intel/common/block/gpio/gpio.c: Remove unnecessary line continuation
Also remove unnecessary whitespace before "\n"

Change-Id: Ia2c8fcb82658ed3e247759535d3112270d46e65d
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72893
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
2023-02-09 10:03:42 +00:00
Fred Reitberger
a02176debb console: Add SimNow console logging
The AMD SimNow tool supports fast logging through an IO port.  Add a new
console to support SimNow logging through port 80.

TEST=observe significant speed improvements on SimNow console log

Signed-off-by: Fred Reitberger <reitbergerfred@gmail.com>
Change-Id: I42a431f48ea14ba4adacbd4a32e15abe7c5e4951
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72751
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2023-02-09 10:01:20 +00:00
Rex-BC Chen
d7b7460d6e mb/google/geralt: Add power-on sequence for BOE_TV110C9M_LL0
For Geralt, we use BOE_TV110C9M_LL0 as MIPI firmware display, so add the
power-on sequence for BOE_TV110C9M_LL0.

BUG=b:244208960
TEST=test firmware display pass for BOE_TV110C9M_LL0 on Geralt.

Change-Id: I3ef0b2e26d8cc0dc35c2985363ee4c3557dac8a9
Signed-off-by: Rex-BC Chen <rex-bc.chen@mediatek.com>
Signed-off-by: Liju-Clr Chen <liju-clr.chen@mediatek.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72749
Reviewed-by: Yidi Lin <yidilin@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
2023-02-09 09:19:07 +00:00
Liju-Clr Chen
84bb5f4e19 mb/google/geralt: Init MT6359P only once in ramstage
The regulator MT6359P is needed by both firmware display and SD card.
To avoid duplicate initialization in ramstage, publicize init_pmif_arb()
as mt6359p_init_pmif_arb() and call it from mainboard_init(). This would
save 13 ms for boot time on Geralt.

BUG=b:244208960
TEST=test firmware display pass for BOE_TV110C9M_LL0 on Geralt.

Change-Id: I29498d186ba5665ae20e84985174fc10f8d4accd
Signed-off-by: Liju-Clr Chen <liju-clr.chen@mediatek.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72839
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Reviewed-by: Yidi Lin <yidilin@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Rex-BC Chen <rex-bc.chen@mediatek.com>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
2023-02-09 09:19:00 +00:00
Sridhar Siricilla
5aaf8df4fd soc/intel/meteorlake: Remove unsupported hybrid_storage_mode config
The patch removes hybrid_storage_mode variable from
soc_intel_meteorlake_config struct since hybrid storage is no longer
supported on Meteor Lake platform.

TEST=Verify the build for Rex board

Signed-off-by: Sridhar Siricilla <sridhar.siricilla@intel.com>
Change-Id: I40ec3775b827ab6e1ebd4778c6c8e13eac1944e5
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72871
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
2023-02-09 06:08:48 +00:00
Felix Singer
10d4753f40 Revert "device: Add Kconfig options for D3COLD_SUPPORT and NO_S0IX_SUPPORT"
This reverts commit d6e04aa00b.

Reason for revert: Breaks master.

Change-Id: If7daeaaffe3f9ae9f5e2fbecef5817b9b62827d3
Signed-off-by: Felix Singer <felixsinger@posteo.net>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72917
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Ivy Jian <ivy.jian@quanta.corp-partner.google.com>
Reviewed-by: Frank Wu <frank_wu@compal.corp-partner.google.com>
2023-02-09 02:13:19 +00:00