]> git.sur5r.net Git - u-boot/commitdiff
mpc8641hpcn: Set up outbound pci windows before inbound
authorBecky Bruce <beckyb@kernel.crashing.org>
Wed, 4 Feb 2009 00:10:49 +0000 (18:10 -0600)
committerWolfgang Denk <wd@denx.de>
Mon, 9 Feb 2009 23:26:45 +0000 (00:26 +0100)
Because the inbound pci windows are mapped generously, set up
the more specific outbound windows first.  This way, when we
search the pci regions for something, we will hit on the more
specific region.  This can actually be a problem on systems
with large amounts of RAM.

Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
board/freescale/mpc8641hpcn/mpc8641hpcn.c

index b83ed6c45669e8e5b11c712f2103e12eb9538682..9b6b69e40aa2df2dd84a06b6f361aa013393688a 100644 (file)
@@ -163,9 +163,6 @@ void pci_init_board(void)
                }
                debug("\n");
 
-               /* inbound */
-               r += fsl_pci_setup_inbound_windows(r);
-
                /* outbound memory */
                pci_set_region(r++,
                               CONFIG_SYS_PCI1_MEM_BASE,
@@ -180,6 +177,9 @@ void pci_init_board(void)
                               CONFIG_SYS_PCI1_IO_SIZE,
                               PCI_REGION_IO);
 
+               /* inbound */
+               r += fsl_pci_setup_inbound_windows(r);
+
                hose->region_count = r - hose->regions;
 
                hose->first_busno=first_free_busno;
@@ -212,9 +212,6 @@ void pci_init_board(void)
        struct pci_controller *hose = &pci2_hose;
        struct pci_region *r = hose->regions;
 
-       /* inbound */
-       r += fsl_pci_setup_inbound_windows(r);
-
        /* outbound memory */
        pci_set_region(r++,
                       CONFIG_SYS_PCI2_MEM_BASE,
@@ -229,6 +226,9 @@ void pci_init_board(void)
                       CONFIG_SYS_PCI2_IO_SIZE,
                       PCI_REGION_IO);
 
+       /* inbound */
+       r += fsl_pci_setup_inbound_windows(r);
+
        hose->region_count = r - hose->regions;
 
        hose->first_busno=first_free_busno;