summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/davinci/sffsdr/sffsdr.c4
-rw-r--r--common/cmd_bootm.c2
-rw-r--r--drivers/pci/fsl_pci_init.c17
3 files changed, 16 insertions, 7 deletions
diff --git a/board/davinci/sffsdr/sffsdr.c b/board/davinci/sffsdr/sffsdr.c
index f47ba0f..6e878eb 100644
--- a/board/davinci/sffsdr/sffsdr.c
+++ b/board/davinci/sffsdr/sffsdr.c
@@ -170,9 +170,5 @@ int misc_init_r(void)
if (!eth_hw_init())
printf("Ethernet init failed\n");
- /* On this platform, U-Boot is copied in RAM by the UBL,
- * so we are always in the relocated state. */
- gd->flags |= GD_FLG_RELOC;
-
return(0);
}
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 19257bb..897e9f6 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -347,7 +347,7 @@ static int bootm_load_os(image_info_t os, ulong *load_end, int boot_progress)
int ret = lzmaBuffToBuffDecompress(
(unsigned char *)load, &unc_len,
- (unsigned char *)image_start, image_start);
+ (unsigned char *)image_start, image_len);
if (ret != LZMA_RESULT_OK) {
printf ("LZMA: uncompress or overwrite error %d "
"- must RESET board to recover\n", ret);
diff --git a/drivers/pci/fsl_pci_init.c b/drivers/pci/fsl_pci_init.c
index bb2813f..38a16e5 100644
--- a/drivers/pci/fsl_pci_init.c
+++ b/drivers/pci/fsl_pci_init.c
@@ -168,8 +168,21 @@ fsl_pci_init(struct pci_controller *hose)
}
#ifndef CONFIG_PCI_NOSCAN
- printf (" Scanning PCI bus %02x\n", hose->current_busno);
- hose->last_busno = pci_hose_scan_bus(hose,hose->current_busno);
+ pci_hose_read_config_byte(hose, dev, PCI_CLASS_PROG, &temp8);
+
+ /* Programming Interface (PCI_CLASS_PROG)
+ * 0 == pci host or pcie root-complex,
+ * 1 == pci agent or pcie end-point
+ */
+ if (!temp8) {
+ printf(" Scanning PCI bus %02x\n",
+ hose->current_busno);
+ hose->last_busno = pci_hose_scan_bus(hose, hose->current_busno);
+ } else {
+ debug(" Not scanning PCI bus %02x. PI=%x\n",
+ hose->current_busno, temp8);
+ hose->last_busno = hose->current_busno;
+ }
if ( bridge ) { /* update limit regs and subordinate busno */
pciauto_postscan_setup_bridge(hose, dev, hose->last_busno);