From 6069ff265362ef6239749b5f598b137f407b821e Mon Sep 17 00:00:00 2001 From: wdenk Date: Fri, 28 Feb 2003 00:49:47 +0000 Subject: * Add support for 16 MB flash configuration of TRAB board * Patch by Erwin Rol, 27 Feb 2003: Add support for RTEMS * Add image information to README * Fix dual PCMCIA slot support (when running with just one slot populated) * Add VFD type detection to trab board * extend drivers/cs8900.c driver to synchronize ethaddr environment variable with value in the EEPROM * Start adding MIPS support files --- common/cmd_bootm.c | 2 ++ common/cmd_elf.c | 2 ++ common/cmd_ide.c | 12 +++++++++++- common/cmd_pcmcia.c | 3 +++ 4 files changed, 18 insertions(+), 1 deletion(-) (limited to 'common') diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index e138d78b9..2ac576307 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 149ffa3da..74957622b 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 d082d5e9b..94fc89b42 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 f9bd0ba89..31abbaf72 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; -- cgit v1.2.3