summaryrefslogtreecommitdiff
path: root/board/xes/common/fsl_85xx_pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/xes/common/fsl_85xx_pci.c')
-rw-r--r--board/xes/common/fsl_85xx_pci.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/board/xes/common/fsl_85xx_pci.c b/board/xes/common/fsl_85xx_pci.c
index b8e363e..4b04881 100644
--- a/board/xes/common/fsl_85xx_pci.c
+++ b/board/xes/common/fsl_85xx_pci.c
@@ -29,6 +29,7 @@
#include <fdt_support.h>
extern int fsl_pci_setup_inbound_windows(struct pci_region *r);
+extern void fsl_pci_config_unlock(struct pci_controller *hose);
extern void fsl_pci_init(struct pci_controller *hose);
int first_free_busno = 0;
@@ -138,6 +139,10 @@ void pci_init_board(void)
fsl_pci_init(hose);
+ /* Unlock inbound PCI configuration cycles */
+ if (!host)
+ fsl_pci_config_unlock(hose);
+
first_free_busno = hose->last_busno+1;
printf(" PCIE1 on bus %02x - %02x\n",
hose->first_busno, hose->last_busno);
@@ -187,6 +192,11 @@ void pci_init_board(void)
(int)&pci->cfg_data);
fsl_pci_init(hose);
+
+ /* Unlock inbound PCI configuration cycles */
+ if (!host)
+ fsl_pci_config_unlock(hose);
+
first_free_busno = hose->last_busno+1;
printf(" PCIE2 on bus %02x - %02x\n",
hose->first_busno, hose->last_busno);
@@ -237,6 +247,11 @@ void pci_init_board(void)
(int)&pci->cfg_data);
fsl_pci_init(hose);
+
+ /* Unlock inbound PCI configuration cycles */
+ if (!host)
+ fsl_pci_config_unlock(hose);
+
first_free_busno = hose->last_busno+1;
printf(" PCIE3 on bus %02x - %02x\n",
hose->first_busno, hose->last_busno);