diff options
author | wdenk <wdenk> | 2003-12-07 23:55:12 +0000 |
---|---|---|
committer | wdenk <wdenk> | 2003-12-07 23:55:12 +0000 |
commit | 9fd5e31fe0245c44a11d35a8603bb6b25c97b5c8 (patch) | |
tree | bbb665de89d40b6584076a60f138616fcf373c70 /common/cmd_ide.c | |
parent | 3bbc899fc0bba51db83e4b3960f32c3ad6ba813c (diff) | |
download | u-boot-imx-9fd5e31fe0245c44a11d35a8603bb6b25c97b5c8.zip u-boot-imx-9fd5e31fe0245c44a11d35a8603bb6b25c97b5c8.tar.gz u-boot-imx-9fd5e31fe0245c44a11d35a8603bb6b25c97b5c8.tar.bz2 |
* Patch by Pierre Aubert, 24 Nov 2003:
- add a return value for the fpga command
- add ide_preinit() function called in ide_init if CONFIG_IDE_PREINIT
is defined. If ide_preinit fails, ide_init is aborted.
- fix an endianess problem in fat.h
Diffstat (limited to 'common/cmd_ide.c')
-rw-r--r-- | common/cmd_ide.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/common/cmd_ide.c b/common/cmd_ide.c index 45f6368..3f18b00 100644 --- a/common/cmd_ide.c +++ b/common/cmd_ide.c @@ -486,6 +486,19 @@ void ide_init (void) unsigned int ata_reset_time; char *s; #endif +#ifdef CONFIG_IDE_8xx_PCCARD + extern int pcmcia_on (void); + extern int ide_devices_found; /* Initialized in check_ide_device() */ +#endif /* CONFIG_IDE_8xx_PCCARD */ + +#ifdef CONFIG_IDE_PREINIT + WATCHDOG_RESET(); + + if (ide_preinit ()) { + puts ("ide_preinit failed\n"); + return; + } +#endif /* CONFIG_IDE_PREINIT */ #ifdef CONFIG_IDE_8xx_PCCARD extern int pcmcia_on (void); @@ -756,12 +769,12 @@ set_pcmcia_timing (int pmode) static void __inline__ ide_outb(int dev, int port, unsigned char val) { + PRINTF ("ide_outb (dev= %d, port= %d, val= 0x%02x) : @ 0x%08lx\n", + dev, port, val, (ATA_CURR_BASE(dev)+port)); + /* Ensure I/O operations complete */ __asm__ volatile("eieio"); *((uchar *)(ATA_CURR_BASE(dev)+port)) = val; -#if 0 - printf ("ide_outb: 0x%08lx <== 0x%02x\n", ATA_CURR_BASE(dev)+port, val); -#endif } #else /* ! __PPC__ */ static void __inline__ @@ -780,9 +793,8 @@ ide_inb(int dev, int port) /* Ensure I/O operations complete */ __asm__ volatile("eieio"); val = *((uchar *)(ATA_CURR_BASE(dev)+port)); -#if 0 - printf ("ide_inb: 0x%08lx ==> 0x%02x\n", ATA_CURR_BASE(dev)+port, val); -#endif + PRINTF ("ide_inb (dev= %d, port= %d) : @ 0x%08lx -> 0x%02x\n", + dev, port, (ATA_CURR_BASE(dev)+port), val); return (val); } #else /* ! __PPC__ */ |