Commit 35db1c6d authored by Becky Bruce's avatar Becky Bruce Committed by Andrew Fleming-AFLEMING
Browse files

drivers/fsl_pci_init: Fix inbound window mapping bug

The current code will cause the creation of a 4GB window
starting at 0 if we have more than 4GB of RAM installed,
which overlaps with PCI_MEM space and causes pci_bus_to_phys()
to return erroneous information. Limit the size to 4GB - 1;
which causes the code to create one 2GB and one 1GB window
Signed-off-by: default avatarBecky Bruce <>
Signed-off-by: default avatarKumar Gala <>
Acked-by: default avatarAndy Fleming <>
parent 5a105a33
......@@ -58,7 +58,7 @@ void pciauto_config_init(struct pci_controller *hose);
int fsl_pci_setup_inbound_windows(struct pci_region *r)
struct pci_region *rgn_base = r;
u64 sz = min((u64)gd->ram_size, 1ull << 32);
u64 sz = min((u64)gd->ram_size, (1ull << 32) - 1);
phys_addr_t phys_start = CONFIG_SYS_PCI_MEMORY_PHYS;
pci_addr_t bus_start = CONFIG_SYS_PCI_MEMORY_BUS;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment