B850 support part5#883
Open
miczyg1 wants to merge 62 commits into
Open
Conversation
a6701c9 to
6477ee1
Compare
f6bf95f to
185839e
Compare
f51efb8 to
01c9c8a
Compare
Set parameters for GFX IP block intialization. Some of them are duplicated with NBIO, so we want to keep them in sync. Upstream-Status: Pending Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Pass AMD GOP EFI driver and VBIOS file to EDK2 build system to be integrated in the DXE FV. The PciPlatformDriver will fetch the VBIOS from FV for given PCI device ID and vendor ID passed in the VGA_BIOS_ID Konfig option as PCDs. Upstream-Status: Pending Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Upstream-Status: Pending Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
DDI ports, as MPIO ports, are board specific. Add chip configuration to allow boards to specify DDI links via devicetree and pass the DDI link list to openSIL. TEST=HDMI display works on MSI PRO B850-P WIFI with PiKVM. Upstream-Status: Pending Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Update APCB blobs to include the display parameters used by HDMI port. Describe the HDMI port as DDI link in devicetree, so that it will be passed to openSIL to prepare integrated graphics for GOP driver. TEST=HDMI display works on MSI PRO B850-P WIFI with PiKVM with AMD GOP in EDK2. Upstream-Status: Pending Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Upstream-Status: Inappropriate [custom config] Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Add Promontory firmware variants to the PSP directories. Also add a pointer to the Promontory firmware inside EFS. It will be used by coreboot to easily locate the firmware, load it to RAM and pass it to silicon initialization module. Upstream-Status: Pending Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Allocate early memory for Promontory FW in the memory layout. The Promontory initialization should run with the FW in RAM. Upstream-Status: Pending Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Add API for searching promontory FW in EFS and loading it to RAM at desired address. Upstream-Status: Pending Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Initialize Promontory chipset with newly added support for Promontory in openSIL. Upstream-Status: Pending Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Upstream-Status: Pending Change-Id: I83aa2363678c0c5a70cde4c34b65f87c87bb68ae Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Upstream-Status: Pending Change-Id: I0ab522f0ee613781b3bbec1d79804f7364ec6891 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
4d682c8 to
0a35905
Compare
ee9d570 to
2b9f800
Compare
Upstream-Status: Pending Change-Id: Ifa9edbcf59c23d240af4f057552c0868e10b1a77 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Add Promontory 21 chip driver that will serve as openSIL configuration setter based on devicetree config values. Change-Id: Ice1ae8cd882c13d5fa1186dded53326430db9621 Upstream-Status: Pending Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Assing ops for each device of Promontory chipset, so that proper ACPI code is generated on boot. Upstream-Status: Pending Change-Id: I018eb0ea45a386ae718b3a38716cfbe2043da55a Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Based on output from amdtool. Change-Id: I31f5601f5e9721764c74bea8a78f614af53f7eb6 Upstream-Status: Pending Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Assign device operations to Promontory devices and set subsystem IDs. Upstream-Status: Pending Change-Id: I032201989c977a01ad76845312a4ee74f361e208 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Program clocks, eSPI IRQ masking and I2C devices enabling as vendor BIOS does. Upstream-Status: Pending Change-Id: I7727764611e7e6916ea288b7eb2ab198f0bd9648 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Upstream-Status: Pending Change-Id: I2b551413691d6a8be4db470a190697b20ee1183e Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
MS-7E56 board, aka MSI PRO B850-P WIFI has small differences in the romhole structure. Use preprocessor defines in a Kconfig option to override the romhole structure and construct the romhole binary that matches the format of the board. Changes are made in a way that previous boards are not affected. Upstream-Status: Pending Change-Id: I21f0de69957d3610761a8ab32d999fc6fd9d463f Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Add necessary regions, options and structures to the resutling image to make FlashBIOS work. Use the freshly added ROMHOLE as a source for the SMBIOS type 2 values. Upstream-Status: Pending Change-Id: If4fe27fc0701c4458d3a10bae68da4adfe8602fa Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
On modern platforms the state of APOB NV copy is stored in CMOS. Upstream-Status: Pending Change-Id: I6b5c5745fb9d0a30dc61542c5ca266eb70611e6e Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Upstream-Status: Pending Change-Id: I3f23c95e5a1d30c26c06c48f77f4a99881511c04 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Sometimes the LPC configuration space may be locked from host access. Use SMN to retrieve the LPC CFG space values as a backup. Upstream-Status: Pending Change-Id: I26f8bca135aec3589401ccb84dd5f668efa67311 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Before accessign IRQ type and IRQ polarity registers, register 0x1d bit 3 must be set in global LDN. Upstream-Status: Pending Change-Id: I5847651342922b78f1956dc8af3460f5f29023de Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
…resource The root bridge resources should also include the RAM for VGA if VGA is available on given root bridge. Upstream-Status: Pending Change-Id: I9a1da3651d09ec5634de398617dbc2aeda33e734 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
… GPP Use PCI Express bridge scan function for internal GPP bridges, because openSIL does not program the PCIe capabilities yet. Let coreboot set ASPM, Max Payload, Clock PM and others so that the devices work properly. Upstream-Status: Pending Change-Id: I35ab7a31cbb40879a35a491e43742f816216973e Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Switch to IOAPIC interrupt routing when _PIC function is evaluated by the OS and interrupt routing is enabled. The change reflects what turin_poc does. Additionally there is a function added to disable all PIC IRQ routing once the IOAPIC routing is enabled. Upstream-Status: Pending Change-Id: I444a1380d6d84d5bb2d5e93bd0a2cb7b93cfc21e Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Initialize eSPI interrupts and watchdog. Upstream-Status: Pending Change-Id: I1e1de121ecca3457f32ea607d6bc70d318cace59 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Upstream-Status: Pending Change-Id: I60fb42f835fbe0cfdec25a8b8bf044a1390ab8a7 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Fill missing parameters for NBIO IOMMU and APIC, because some of them were no set per devicetree or were duplicated in CCX class input block. They have to be in sync. Upstream-Status: Pending Change-Id: I695bcccf0d549748862efd4017d50aabf658d37b Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Set the MMIO limit to 1TB minus the reserved space for IOMMU and ROM3 to reflect vendor BIOS settings. Upstream-Status: Pending Change-Id: Id43cb3aeff491facfb48546ff89cbc2eb50b7a5c Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Report min and max frequency in CPPC structures so that AMD P-state driver probes correctly on Linux. Upstream-Status: Pending Change-Id: I5f28db05bad9a2016dd203818e199a9dd5c8511a Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Upstream-Status: Pending Change-Id: I7cd1fca2060c1da09df01c069d57d0365eafd5b1 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Add IRQs that are reference in reference code or ACPI on PHX AM5 devices. Upstream-Status: Pending Change-Id: Ice4de51b3aa702dd8ee0442a74660d6e3f39e1db Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Program interrupts only for used devices. Upstream-Status: Pending Change-Id: I3c4560e9d5aaee2144182c11e1bdd9c4717528b2 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
5440b69 to
890748d
Compare
Generate missing devices in SSDT. Add GPE and ACPI events as in vendor BIOS. Upstream-Status: Pending Change-Id: I11097dc269c7b44e241ae32d0947ebde712f8011 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Assign Azalia operations to let mainboards provide HDA verbs for integrated GPU audio. Upstream-Status: Pending Change-Id: I2e36056a9bfb92d392bfde5f21243411fa4c9cae Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
The openSIL does not support GOP. GOP has to be launched by UEFIPayload. UEFIPaylaod will load the VBIOS from the FFS as passed to the build. Upstream-Status: Pending Change-Id: I248d890eaec0054e4e12c8442dab23a788de9a67 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
acpi_create_vfct returns without resetting header->length when no VBIOS is found. The in-source comment claims it returns with length == 0 (which the caller in pci_rom_write_acpi_tables checks before adding the table to XSDT), but the code leaves length at sizeof(acpi_vfct_t) from the prior acpi_fill_header call, so a 104-byte header-only VFCT gets added anyway. Match the comment: clear header->length before returning. Beyond fixing the comment/code mismatch, this also works around a bug in some AMD discrete-GPU UEFI option ROM drivers (observed on Radeon RX 9070 XT) that find the stub VFCT in XSDT, try to replace it with their own, and pass the XSDT index of VFCT to UninstallAcpiTable() instead of the TableKey returned by InstallAcpiTable(). The wrong table at that numeric handle gets removed - in our case the MADT, leaving the OS unable to bring up APs. With no stub VFCT in XSDT, the GOP driver's install path never enters the buggy uninstall code. TEST=Boot with Radeon 9070 XT and with disabled Option ROM execution, observe that coreboot does not create a VFCT table, and that the GOP driver never enters the buggy codepath in the UEFI payload. Change-Id: I8798093b735eabfe95b9028a2c0622c4b4f76da8 Upstream-Status: Submitted [CB:92495] Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
…etree Upstream-Status: Pending Change-Id: Ia595a9ececff382d800ba54b7eed54fc3d6073b6 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Change-Id: I1b0b8f93f470d2e6c9e8fea77c55361a41d56855 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
The SIO is configured for low level interrupts. Reflect that in eSPI controller configuratio nso that the interrupts in OS work correctly. TEST=Enable serial console in Linux and get login prompt. Upstream-Status: Pending Change-Id: I4de833f3a73157c03d35f1bcdf3b476f3da6721e Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
890748d to
f6ed696
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.