diff options
-rw-r--r-- | board/davinci/sffsdr/sffsdr.c | 4 | ||||
-rw-r--r-- | common/cmd_bootm.c | 2 | ||||
-rw-r--r-- | drivers/pci/fsl_pci_init.c | 17 | ||||
-rw-r--r-- | examples/stubs.c | 6 | ||||
-rw-r--r-- | include/configs/rsk7203.h | 5 |
5 files changed, 25 insertions, 9 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); diff --git a/examples/stubs.c b/examples/stubs.c index ec53532..a8cb954 100644 --- a/examples/stubs.c +++ b/examples/stubs.c @@ -162,11 +162,13 @@ gd_t *global_data; #x ":\n" \ " mov r13, r1\n" \ " add %0, r1\n" \ - " add %1, r1\n" \ + " mov.l @r1, r2\n" \ + " add %1, r2\n" \ + " mov.l @r2, r1\n" \ " jmp @r1\n" \ " nop\n" \ " nop\n" \ - : : "i"(offsetof(gd_t, jt)), "i"(XF_ ## x * sizeof(void *)) : "r1"); + : : "i"(offsetof(gd_t, jt)), "i"(XF_ ## x * sizeof(void *)) : "r1", "r2"); #elif defined(CONFIG_SPARC) /* * g7 holds the pointer to the global_data. g1 is call clobbered. diff --git a/include/configs/rsk7203.h b/include/configs/rsk7203.h index d99e4f3..1f20e57 100644 --- a/include/configs/rsk7203.h +++ b/include/configs/rsk7203.h @@ -104,4 +104,9 @@ #define CMT_CLK_DIVIDER 32 /* 8 (default), 32, 128 or 512 */ #define CFG_HZ (CONFIG_SYS_CLK_FREQ / CMT_CLK_DIVIDER) +/* Network interface */ +#define CONFIG_DRIVER_SMC911X +#define CONFIG_DRIVER_SMC911X_16_BIT +#define CONFIG_DRIVER_SMC911X_BASE (0x24000000) + #endif /* __RSK7203_H */ |