Furquan Shaikh has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/40928 )
Change subject: src/acpi: Drop Kconfig option ACPI_SATA_GENERATOR
......................................................................
src/acpi: Drop Kconfig option ACPI_SATA_GENERATOR
ACPI_SATA_GENERATOR is currently used to include sata.c in
ramstage. However, there is no need to guard this inclusion. If the
function generate_sata_ssdt_ports is unused, then the linker will
optimize it.
BUG=b:155428745
Change-Id: I9a319cfe7c3f973b15ccbd0f13bd1ed07571a398
Signed-off-by: Furquan Shaikh <furquan(a)google.com>
---
M src/acpi/Kconfig
M src/acpi/Makefile.inc
M src/southbridge/intel/bd82x6x/Kconfig
M src/southbridge/intel/ibexpeak/Kconfig
4 files changed, 1 insertion(+), 9 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/28/40928/1
diff --git a/src/acpi/Kconfig b/src/acpi/Kconfig
index 3c6aeb1..8c8bb87 100644
--- a/src/acpi/Kconfig
+++ b/src/acpi/Kconfig
@@ -1,12 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-only
# This file is part of the coreboot project.
-config ACPI_SATA_GENERATOR
- bool
- default n
- help
- Use ACPI SATA port generator.
-
config ACPI_INTEL_HARDWARE_SLEEP_VALUES
def_bool n
help
diff --git a/src/acpi/Makefile.inc b/src/acpi/Makefile.inc
index 7c2092d..e3eb82e 100644
--- a/src/acpi/Makefile.inc
+++ b/src/acpi/Makefile.inc
@@ -1,4 +1,4 @@
# SPDX-License-Identifier: GPL-2.0-only
# This file is part of the coreboot project.
-ramstage-$(CONFIG_ACPI_SATA_GENERATOR) += sata.c
+ramstage-y += sata.c
diff --git a/src/southbridge/intel/bd82x6x/Kconfig b/src/southbridge/intel/bd82x6x/Kconfig
index 534d110..b6478ae 100644
--- a/src/southbridge/intel/bd82x6x/Kconfig
+++ b/src/southbridge/intel/bd82x6x/Kconfig
@@ -27,7 +27,6 @@
select PCIEXP_ASPM
select PCIEXP_COMMON_CLOCK
select COMMON_FADT
- select ACPI_SATA_GENERATOR
select INTEL_DESCRIPTOR_MODE_CAPABLE
select SOUTHBRIDGE_INTEL_COMMON_GPIO
select RTC
diff --git a/src/southbridge/intel/ibexpeak/Kconfig b/src/southbridge/intel/ibexpeak/Kconfig
index 2b59134..856dc61 100644
--- a/src/southbridge/intel/ibexpeak/Kconfig
+++ b/src/southbridge/intel/ibexpeak/Kconfig
@@ -36,7 +36,6 @@
select SOUTHBRIDGE_INTEL_COMMON_RESET
select HAVE_USBDEBUG_OPTIONS
select COMMON_FADT
- select ACPI_SATA_GENERATOR
select INTEL_DESCRIPTOR_MODE_CAPABLE
select SOUTHBRIDGE_INTEL_COMMON_GPIO
select HAVE_INTEL_CHIPSET_LOCKDOWN
--
To view, visit https://review.coreboot.org/c/coreboot/+/40928
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I9a319cfe7c3f973b15ccbd0f13bd1ed07571a398
Gerrit-Change-Number: 40928
Gerrit-PatchSet: 1
Gerrit-Owner: Furquan Shaikh <furquan(a)google.com>
Gerrit-MessageType: newchange
Hello Duncan Laurie,
I'd like you to do a code review. Please visit
https://review.coreboot.org/c/coreboot/+/40956
to review the following change.
Change subject: libpayload: xhci: Fix CAPREG address calculation
......................................................................
libpayload: xhci: Fix CAPREG address calculation
I rushed CB:40895 in to fix a bug only to introduce another. xhci_init()
no longer crashes, but it doesn't correctly initialize the XHCI
controller either, and unfortunately the error messages are all hidden
behind USB_DEBUG. This patch fixes the incorrect address calculation to
what it was before CB:39838.
Signed-off-by: Julius Werner <jwerner(a)chromium.org>
Change-Id: I14293e2135108db30ba6fd2efea0573fe266fa37
---
M payloads/libpayload/drivers/usb/xhci.c
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/56/40956/1
diff --git a/payloads/libpayload/drivers/usb/xhci.c b/payloads/libpayload/drivers/usb/xhci.c
index ef1d73f..9d721d9 100644
--- a/payloads/libpayload/drivers/usb/xhci.c
+++ b/payloads/libpayload/drivers/usb/xhci.c
@@ -185,7 +185,7 @@
goto _free_xhci;
}
- xhci->capreg = phys_to_virt(physical_bar) + sizeof(xhci->capreg);
+ xhci->capreg = phys_to_virt(physical_bar);
xhci->opreg = phys_to_virt(physical_bar) + CAP_GET(CAPLEN, xhci->capreg);
xhci->hcrreg = phys_to_virt(physical_bar) + xhci->capreg->rtsoff;
xhci->dbreg = phys_to_virt(physical_bar) + xhci->capreg->dboff;
--
To view, visit https://review.coreboot.org/c/coreboot/+/40956
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I14293e2135108db30ba6fd2efea0573fe266fa37
Gerrit-Change-Number: 40956
Gerrit-PatchSet: 1
Gerrit-Owner: Julius Werner <jwerner(a)chromium.org>
Gerrit-Reviewer: Duncan Laurie <dlaurie(a)chromium.org>
Gerrit-MessageType: newchange
Hello Martin Roth, Furquan Shaikh,
I'd like you to do a code review. Please visit
https://review.coreboot.org/c/coreboot/+/34423
to review the following change.
Change subject: soc/amd/picasso: Begin adding FSP support
......................................................................
soc/amd/picasso: Begin adding FSP support
AMD has rewritten AGESA (now at v9) for direct inclusion into UEFI
build environments. Unlike Arch2008 (a.k.a. v5), it can't be built
without additional source, e.g. in EDK II, and has no entry points
for easy inclusion into a legacy BIOS.
AGESA in coreboot now relies on the FSP 2.0 framework published
by Intel and uses the existing fsp2_0 driver.
* Add fsp_memory_init() to romstage.c. Although Picasso comes out
of reset with DRAM alive, this call is added to maximize
compatibility and facilitate internal development. Future work
may look at removing it.
* Remove cbmem initialization, as the FSP driver does this step.
* Add chipset_handle_reset() for compatibility.
* Increase the size set to WB for ramstage, as ramstage outgrew
the region.
Change-Id: Iecb3a3f2599a8ccbc168b1d26a0271f51b71dcf0
Signed-off-by: Marshall Dawson <marshalldawson3rd(a)gmail.com>
---
M src/soc/amd/picasso/Kconfig
M src/soc/amd/picasso/chip.c
M src/soc/amd/picasso/reset.c
M src/soc/amd/picasso/romstage.c
4 files changed, 44 insertions(+), 9 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/23/34423/1
diff --git a/src/soc/amd/picasso/Kconfig b/src/soc/amd/picasso/Kconfig
index 840de12..3c27f15 100644
--- a/src/soc/amd/picasso/Kconfig
+++ b/src/soc/amd/picasso/Kconfig
@@ -61,6 +61,18 @@
select POSTCAR_CONSOLE
select SSE2
select RTC
+ select PLATFORM_USES_FSP2_0
+ select UDK_2015_BINDING
+ select ADD_FSP_BINARIES
+ select HAVE_CF9_RESET
+
+config FSP_DEBUG_ALL
+ bool "Enable all FSP debug support"
+ default y
+ select DISPLAY_HOBS
+ select DISPLAY_UPD_DATA
+ select DISPLAY_FSP_CALLS_AND_STATUS
+ select DISPLAY_FSP_HEADER
config VBOOT
select VBOOT_SEPARATE_VERSTAGE
diff --git a/src/soc/amd/picasso/chip.c b/src/soc/amd/picasso/chip.c
index 8d49271..d94091d 100644
--- a/src/soc/amd/picasso/chip.c
+++ b/src/soc/amd/picasso/chip.c
@@ -26,6 +26,7 @@
#include <soc/pci_devs.h>
#include <soc/southbridge.h>
#include "chip.h"
+#include <fsp/api.h>
/* Supplied by i2c.c */
extern struct device_operations picasso_i2c_mmio_ops;
@@ -117,6 +118,8 @@
static void soc_init(void *chip_info)
{
+ fsp_silicon_init(acpi_is_wakeup_s3());
+
southbridge_init(chip_info);
setup_bsp_ramtop();
}
diff --git a/src/soc/amd/picasso/reset.c b/src/soc/amd/picasso/reset.c
index 9841038..03cf306 100644
--- a/src/soc/amd/picasso/reset.c
+++ b/src/soc/amd/picasso/reset.c
@@ -22,6 +22,7 @@
#include <soc/southbridge.h>
#include <amdblocks/acpimmio.h>
#include <amdblocks/reset.h>
+#include <fsp/util.h>
void set_warm_reset_flag(void)
{
@@ -56,3 +57,17 @@
/* TODO: Would a warm_reset() suffice? */
do_cold_reset();
}
+
+void chipset_handle_reset(uint32_t status)
+{
+ switch (status) {
+ case FSP_STATUS_RESET_REQUIRED_3: /* Global Reset */
+ printk(BIOS_DEBUG, "GLOBAL RESET!!\n");
+ do_cold_reset();
+ break;
+ default:
+ printk(BIOS_ERR, "unhandled reset type %x\n", status);
+ die("unknown reset type");
+ break;
+ }
+}
diff --git a/src/soc/amd/picasso/romstage.c b/src/soc/amd/picasso/romstage.c
index da4ed8d..2b2813d 100644
--- a/src/soc/amd/picasso/romstage.c
+++ b/src/soc/amd/picasso/romstage.c
@@ -37,6 +37,7 @@
#include <soc/northbridge.h>
#include <soc/southbridge.h>
#include <soc/romstage.h>
+#include <fsp/api.h>
__weak void romstage_mainboard_early_init(void) {}
__weak void romstage_mainboard_init(int s3_resume) {}
@@ -80,6 +81,11 @@
timestamp_add(TS_START_ROMSTAGE, stage_start);
}
+void platform_fsp_memory_init_params_cb(FSPM_UPD *mupd, uint32_t version)
+{
+ // dummy
+}
+
asmlinkage void car_stage_entry(void)
{
struct postcar_frame pcf;
@@ -137,27 +143,26 @@
boot_count_increment();
post_code(0x49);
+
+ /* fsp_memory_init() requires cbmem_top() before returning. Use TOM.
+ * todo: verify TOM < UMA region when UMA is below 4GB */
msr_t tom = rdmsr(TOP_MEM);
tom.lo &= ~0xffffff;
backup_top_of_low_cacheable(tom.lo);
- post_code(0x4a);
- if (cbmem_recovery(s3_resume))
- printk(BIOS_CRIT, "Failed to recover cbmem\n");
- if (romstage_handoff_init(s3_resume))
- printk(BIOS_ERR, "Failed to set romstage handoff data\n");
+ fsp_memory_init(s3_resume);
- post_code(0x4b);
+ post_code(0x4a);
if (postcar_frame_init(&pcf, 1 * KiB))
die("Unable to initialize postcar frame.\n");
/*
* We need to make sure ramstage will be run cached. At this point exact
* location of ramstage in cbmem is not known. Instruct postcar to cache
- * 16 megs under cbmem top which is a safe bet to cover ramstage.
+ * 32 megs under cbmem top which is a safe bet to cover ramstage.
*/
top_of_ram = (uintptr_t) cbmem_top();
- postcar_frame_add_mtrr(&pcf, top_of_ram - 16*MiB, 16*MiB,
+ postcar_frame_add_mtrr(&pcf, top_of_ram - 32*MiB, 32*MiB,
MTRR_TYPE_WRBACK);
/* Cache the memory-mapped boot media. */
@@ -174,7 +179,7 @@
tseg_base = (uintptr_t)smm_base;
postcar_frame_add_mtrr(&pcf, tseg_base, smm_size, MTRR_TYPE_WRBACK);
- post_code(0x4c);
+ post_code(0x4b);
run_postcar_phase(&pcf);
post_code(0x50); /* Should never see this post code. */
--
To view, visit https://review.coreboot.org/c/coreboot/+/34423
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Iecb3a3f2599a8ccbc168b1d26a0271f51b71dcf0
Gerrit-Change-Number: 34423
Gerrit-PatchSet: 1
Gerrit-Owner: Marshall Dawson <marshalldawson3rd(a)gmail.com>
Gerrit-Reviewer: Furquan Shaikh <furquan(a)google.com>
Gerrit-Reviewer: Martin Roth <martinroth(a)google.com>
Gerrit-MessageType: newchange
Andrey Petrov has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/40920 )
Change subject: soc/intel/xeon_sp/cpx: Enable common P2SB
......................................................................
soc/intel/xeon_sp/cpx: Enable common P2SB
Use common P2SB driver. This is needed to address a problem when
enumerator does not see p2sb device (since it is hidden) but it
is active and BAR is decoded.
Change-Id: I9cb821a5684f15f1e1486872bf806a6ee3d0676f
Signed-off-by: Andrey Petrov <anpetrov(a)fb.com>
---
M src/soc/intel/xeon_sp/cpx/Kconfig
1 file changed, 3 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/20/40920/1
diff --git a/src/soc/intel/xeon_sp/cpx/Kconfig b/src/soc/intel/xeon_sp/cpx/Kconfig
index 92681f2..15669d1 100644
--- a/src/soc/intel/xeon_sp/cpx/Kconfig
+++ b/src/soc/intel/xeon_sp/cpx/Kconfig
@@ -74,4 +74,7 @@
Refer to Platform FSP integration guide document to know
the exact FSP requirement for Heap setup.
+config SOC_INTEL_COMMON_BLOCK_P2SB
+ def_bool y
+
endif
--
To view, visit https://review.coreboot.org/c/coreboot/+/40920
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I9cb821a5684f15f1e1486872bf806a6ee3d0676f
Gerrit-Change-Number: 40920
Gerrit-PatchSet: 1
Gerrit-Owner: Andrey Petrov <anpetrov(a)fb.com>
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-MessageType: newchange
Andrey Petrov has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/40918 )
Change subject: mb/intel/cedarisland_crb: Enable P2SB device
......................................................................
mb/intel/cedarisland_crb: Enable P2SB device
Enable P2SB in static device tree so that hide/unhide trick
works.
Change-Id: I7dc20b001605b715155d333a07580e21a5f24136
Signed-off-by: Andrey Petrov <anpetrov(a)fb.com>
---
M src/mainboard/intel/cedarisland_crb/devicetree.cb
1 file changed, 2 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/18/40918/1
diff --git a/src/mainboard/intel/cedarisland_crb/devicetree.cb b/src/mainboard/intel/cedarisland_crb/devicetree.cb
index 6eb9557..6de9091 100644
--- a/src/mainboard/intel/cedarisland_crb/devicetree.cb
+++ b/src/mainboard/intel/cedarisland_crb/devicetree.cb
@@ -28,10 +28,12 @@
device pci 17.0 on end
device pci 1c.0 on end
device pci 1c.4 on end
+ device pci 1f.1 on end
device pci 1f.2 on end
device pci 1f.4 on end
device pci 1f.5 on end
+
device pci 1f.0 on # LPC/eSPI Interface
chip superio/common
device pnp 2e.0 on
--
To view, visit https://review.coreboot.org/c/coreboot/+/40918
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I7dc20b001605b715155d333a07580e21a5f24136
Gerrit-Change-Number: 40918
Gerrit-PatchSet: 1
Gerrit-Owner: Andrey Petrov <anpetrov(a)fb.com>
Gerrit-MessageType: newchange