Reto Buerki has uploaded this change for review.

View Change

soc/intel/apollolake: Fix PCI memory resource alloc

There is a mismatch in how PCI memory resources are allocated on
appollolake with the current configuration. While the ACPI code expects
resources to be below PCR_BASE_ADDRESS (i.e. PMAX), the coreboot C code
allocates them above, leading to the following error messages on Linux:

pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
pci_bus 0000:00: root bus resource [mem 0x80000000-0xd0000000 window]
pci_bus 0000:00: root bus resource [mem 0x280000000-0x7fffffffff window]
pci 0000:00:13.1: can't claim BAR 14 [mem 0xdeb00000-0xdebfffff]: no compatible bridge window
pci 0000:00:13.1: can't claim BAR 15 [mem 0xdec00000-0xdecfffff 64bit pref]: no compatible bridge window
pci 0000:00:13.1: BAR 14: assigned [mem 0x80000000-0x800fffff]
pci 0000:00:13.1: BAR 15: assigned [mem 0x281300000-0x2813fffff 64bit pref]

Fix this by setting the DOMAIN_RESOURCE_32BIT_LIMIT to PCR_BASE_ADDRESS,
and by moving the UART base address into the expected range.

Thanks to Nico Huber for the help in writing this patch.

Change-Id: I3a805beb47ab4d19cf8dfce0942485e7982861b1
Signed-off-by: Reto Buerki <reet@codelabs.ch>
---
M src/soc/intel/apollolake/Kconfig
1 file changed, 4 insertions(+), 1 deletion(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/57/79957/1
diff --git a/src/soc/intel/apollolake/Kconfig b/src/soc/intel/apollolake/Kconfig
index f8de381..b22382b 100644
--- a/src/soc/intel/apollolake/Kconfig
+++ b/src/soc/intel/apollolake/Kconfig
@@ -338,7 +338,7 @@

config CONSOLE_UART_BASE_ADDRESS
hex
- default 0xddffc000
+ default 0xcdffc000
depends on INTEL_LPSS_UART_FOR_CONSOLE

# M and N divisor values for clock frequency configuration.
@@ -396,4 +396,7 @@
bool
default n

+config DOMAIN_RESOURCE_32BIT_LIMIT
+ default PCR_BASE_ADDRESS
+
endif

To view, visit change 79957. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: main
Gerrit-Change-Id: I3a805beb47ab4d19cf8dfce0942485e7982861b1
Gerrit-Change-Number: 79957
Gerrit-PatchSet: 1
Gerrit-Owner: Reto Buerki <reet@codelabs.ch>
Gerrit-MessageType: newchange