diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/cmd_bootm.c | 2 | ||||
-rw-r--r-- | common/cmd_elf.c | 2 | ||||
-rw-r--r-- | common/cmd_ide.c | 12 | ||||
-rw-r--r-- | common/cmd_pcmcia.c | 3 |
4 files changed, 18 insertions, 1 deletions
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index e138d78b..2ac5763 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -192,6 +192,8 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) if (hdr->ih_arch != IH_CPU_ARM) #elif defined(__I386__) if (hdr->ih_arch != IH_CPU_I386) +#elif defined(__mips__) + if (hdr->ih_arch != IH_CPU_MIPS) #else # error Unknown CPU type #endif diff --git a/common/cmd_elf.c b/common/cmd_elf.c index 149ffa3..7495762 100644 --- a/common/cmd_elf.c +++ b/common/cmd_elf.c @@ -252,11 +252,13 @@ int valid_elf_image (unsigned long addr) return 0; } +#if 0 if (ehdr->e_machine != EM_PPC) { printf ("## Not a PowerPC elf image at address 0x%08lx\n", addr); return 0; } +#endif return 1; } diff --git a/common/cmd_ide.c b/common/cmd_ide.c index d082d5e..94fc89b 100644 --- a/common/cmd_ide.c +++ b/common/cmd_ide.c @@ -489,11 +489,14 @@ void ide_init (void) #ifdef CONFIG_IDE_8xx_PCCARD extern int pcmcia_on (void); + extern int ide_devices_found; /* Initialized in check_ide_device() */ WATCHDOG_RESET(); + ide_devices_found = 0; /* initialize the PCMCIA IDE adapter card */ - if (pcmcia_on()) + pcmcia_on(); + if (!ide_devices_found) return; udelay (1000000); /* 1 s */ #endif /* CONFIG_IDE_8xx_PCCARD */ @@ -550,6 +553,13 @@ void ide_init (void) int dev = bus * (CFG_IDE_MAXDEVICE / max_bus_scan); #endif +#ifdef CONFIG_IDE_8xx_PCCARD + /* Skip non-ide devices from probing */ + if ((ide_devices_found & (1 << bus)) == 0) { + ide_led ((LED_IDE1 | LED_IDE2), 0); /* LED's off */ + continue; + } +#endif printf ("Bus %d: ", bus); ide_bus_ok[bus] = 0; diff --git a/common/cmd_pcmcia.c b/common/cmd_pcmcia.c index f9bd0ba..31abbaf 100644 --- a/common/cmd_pcmcia.c +++ b/common/cmd_pcmcia.c @@ -268,6 +268,7 @@ static int pcmcia_off (void) #define MAX_TUPEL_SZ 512 #define MAX_FEATURES 4 +int ide_devices_found; static int check_ide_device (int slot) { volatile uchar *ident = NULL; @@ -347,6 +348,8 @@ static int check_ide_device (int slot) return (1); } + ide_devices_found |= (1 << slot); + /* set I/O area in config reg -> only valid for ARGOSY D5!!! */ *((uchar *)(addr + config_base)) = 1; |