summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorwdenk <wdenk>2003-02-28 00:49:47 +0000
committerwdenk <wdenk>2003-02-28 00:49:47 +0000
commit6069ff265362ef6239749b5f598b137f407b821e (patch)
tree991432052f2aa7da45d8c1d51db9f80478d7e75d /common
parent2a9e02ead3024f33658f1f4110834d0601dd6b2f (diff)
downloadu-boot-imx-6069ff265362ef6239749b5f598b137f407b821e.zip
u-boot-imx-6069ff265362ef6239749b5f598b137f407b821e.tar.gz
u-boot-imx-6069ff265362ef6239749b5f598b137f407b821e.tar.bz2
* 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
Diffstat (limited to 'common')
-rw-r--r--common/cmd_bootm.c2
-rw-r--r--common/cmd_elf.c2
-rw-r--r--common/cmd_ide.c12
-rw-r--r--common/cmd_pcmcia.c3
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;