From: Yuri Zaporozhets Date: Tue, 19 Nov 2024 20:59:59 +0000 (+0100) Subject: configs: enable CONFIG_PCI_REGION_MULTI_ENTRY=y in sifive_unmatched_defconfig X-Git-Url: http://git.dujemihanovic.xyz/img/static/%7B%7B%20%24.Site.BaseURL%20%7D%7Dposts/%7B%7B%20%24style.RelPermalink%20%7D%7D?a=commitdiff_plain;h=bdca70632dad38a1f7830c955771c0bd88ce7ae0;p=u-boot.git configs: enable CONFIG_PCI_REGION_MULTI_ENTRY=y in sifive_unmatched_defconfig Currently, the PCI subsystem selects the small "region 2" (which starts at 0x7000000) as bus_addr/phys_addr. As a consequence, the BAR0 on PCIe video card cannot be initialized, because it simply doesn't fit into 0x1000000 bytes size of "region 2". U-Boot should use "region 1" instead (the one which starts at 0x60090000), because it has much bigger size (0xFF70000), and easily accomodates BAR0 of the video card. Linux kernel also uses 0x60090000 as bus_start/phys_start. Signed-off-by: Yuri Zaporozhets Reviewed-by: Leo Yu-Chi Liang --- diff --git a/configs/sifive_unmatched_defconfig b/configs/sifive_unmatched_defconfig index 6fede360ae..6f511796a2 100644 --- a/configs/sifive_unmatched_defconfig +++ b/configs/sifive_unmatched_defconfig @@ -36,6 +36,7 @@ CONFIG_DISPLAY_BOARDINFO=y CONFIG_DISPLAY_BOARDINFO_LATE=y CONFIG_ID_EEPROM=y CONFIG_PCI_INIT_R=y +CONFIG_PCI_REGION_MULTI_ENTRY=y CONFIG_SPL_MAX_SIZE=0x100000 # CONFIG_SPL_SHARES_INIT_SP_ADDR is not set CONFIG_SPL_SYS_MALLOC=y