* 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
This commit is contained in:
wdenk 2003-12-07 23:55:12 +00:00
parent 3bbc899fc0
commit 9fd5e31fe0
7 changed files with 44 additions and 22 deletions

View file

@ -2,6 +2,12 @@
Changes since U-Boot 1.0.0: Changes since U-Boot 1.0.0:
====================================================================== ======================================================================
* 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
* Patch by Wolter Kamphuis, 05 Dec 2003: * Patch by Wolter Kamphuis, 05 Dec 2003:
Add support for SNMC's QS850/QS823/QS860T boards Add support for SNMC's QS850/QS823/QS860T boards

View file

@ -80,19 +80,20 @@ export CROSS_COMPILE
######################################################################### #########################################################################
# U-Boot objects....order is important (i.e. start must be first) # U-Boot objects....order is important (i.e. start must be first)
OBJS = cpu/$(CPU)/start.o OBJS = cpu/$(CPU)/start.o
ifeq ($(CPU),i386) ifeq ($(CPU),i386)
OBJS += cpu/$(CPU)/start16.o OBJS += cpu/$(CPU)/start16.o
OBJS += cpu/$(CPU)/reset.o OBJS += cpu/$(CPU)/reset.o
endif endif
ifeq ($(CPU),ppc4xx) ifeq ($(CPU),ppc4xx)
OBJS += cpu/$(CPU)/resetvec.o OBJS += cpu/$(CPU)/resetvec.o
endif endif
ifeq ($(CPU),mpc85xx) ifeq ($(CPU),mpc85xx)
OBJS += cpu/$(CPU)/resetvec.o OBJS += cpu/$(CPU)/resetvec.o
endif endif
LIBS = board/$(BOARDDIR)/lib$(BOARD).a LIBS = lib_generic/libgeneric.a
LIBS += board/$(BOARDDIR)/lib$(BOARD).a
LIBS += cpu/$(CPU)/lib$(CPU).a LIBS += cpu/$(CPU)/lib$(CPU).a
LIBS += lib_$(ARCH)/lib$(ARCH).a LIBS += lib_$(ARCH)/lib$(ARCH).a
LIBS += fs/jffs2/libjffs2.a fs/fdos/libfdos.a fs/fat/libfat.a LIBS += fs/jffs2/libjffs2.a fs/fdos/libfdos.a fs/fat/libfat.a
@ -104,7 +105,7 @@ LIBS += drivers/libdrivers.a
LIBS += drivers/sk98lin/libsk98lin.a LIBS += drivers/sk98lin/libsk98lin.a
LIBS += post/libpost.a post/cpu/libcpu.a LIBS += post/libpost.a post/cpu/libcpu.a
LIBS += common/libcommon.a LIBS += common/libcommon.a
LIBS += lib_generic/libgeneric.a .PHONY : $(LIBS)
# Add GCC lib # Add GCC lib
PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
@ -150,7 +151,6 @@ $(LIBS):
$(MAKE) -C `dirname $@` $(MAKE) -C `dirname $@`
$(SUBDIRS): $(SUBDIRS):
@echo "#### MAKE $@ ####"
$(MAKE) -C $@ all $(MAKE) -C $@ all
gdbtools: gdbtools:

View file

@ -468,7 +468,7 @@ do_auto_update(void)
* check whether a storage device is attached (assume that it's * check whether a storage device is attached (assume that it's
* a USB memory stick, since nothing else should be attached). * a USB memory stick, since nothing else should be attached).
*/ */
au_usb_stor_curr_dev = usb_stor_scan(1); au_usb_stor_curr_dev = usb_stor_scan(0);
if (au_usb_stor_curr_dev == -1) { if (au_usb_stor_curr_dev == -1) {
debug ("No device found. Not initialized?\n"); debug ("No device found. Not initialized?\n");
return -1; return -1;

View file

@ -70,6 +70,7 @@ do_fpga (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
void *fpga_data = NULL; void *fpga_data = NULL;
char *devstr = getenv("fpga"); char *devstr = getenv("fpga");
char *datastr = getenv("fpgadata"); char *datastr = getenv("fpgadata");
int rc = FPGA_FAIL;
if ( devstr ) dev = (int)simple_strtoul( devstr, NULL, 16 ); if ( devstr ) dev = (int)simple_strtoul( devstr, NULL, 16 );
if ( datastr ) fpga_data = (void *)simple_strtoul( datastr, NULL, 16 ); if ( datastr ) fpga_data = (void *)simple_strtoul( datastr, NULL, 16 );
@ -106,15 +107,15 @@ do_fpga (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
break; break;
case FPGA_INFO: case FPGA_INFO:
fpga_info( dev ); rc = fpga_info( dev );
break; break;
case FPGA_LOAD: case FPGA_LOAD:
fpga_load( dev, fpga_data, data_size ); rc = fpga_load( dev, fpga_data, data_size );
break; break;
case FPGA_DUMP: case FPGA_DUMP:
fpga_dump( dev, fpga_data, data_size ); rc = fpga_dump( dev, fpga_data, data_size );
break; break;
default: default:
@ -122,7 +123,7 @@ do_fpga (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
fpga_usage( cmdtp ); fpga_usage( cmdtp );
break; break;
} }
return 0; return (rc);
} }
static void fpga_usage ( cmd_tbl_t *cmdtp ) static void fpga_usage ( cmd_tbl_t *cmdtp )

View file

@ -486,6 +486,19 @@ void ide_init (void)
unsigned int ata_reset_time; unsigned int ata_reset_time;
char *s; char *s;
#endif #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 #ifdef CONFIG_IDE_8xx_PCCARD
extern int pcmcia_on (void); extern int pcmcia_on (void);
@ -756,12 +769,12 @@ set_pcmcia_timing (int pmode)
static void __inline__ static void __inline__
ide_outb(int dev, int port, unsigned char val) 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 */ /* Ensure I/O operations complete */
__asm__ volatile("eieio"); __asm__ volatile("eieio");
*((uchar *)(ATA_CURR_BASE(dev)+port)) = val; *((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__ */ #else /* ! __PPC__ */
static void __inline__ static void __inline__
@ -780,9 +793,8 @@ ide_inb(int dev, int port)
/* Ensure I/O operations complete */ /* Ensure I/O operations complete */
__asm__ volatile("eieio"); __asm__ volatile("eieio");
val = *((uchar *)(ATA_CURR_BASE(dev)+port)); val = *((uchar *)(ATA_CURR_BASE(dev)+port));
#if 0 PRINTF ("ide_inb (dev= %d, port= %d) : @ 0x%08lx -> 0x%02x\n",
printf ("ide_inb: 0x%08lx ==> 0x%02x\n", ATA_CURR_BASE(dev)+port, val); dev, port, (ATA_CURR_BASE(dev)+port), val);
#endif
return (val); return (val);
} }
#else /* ! __PPC__ */ #else /* ! __PPC__ */

View file

@ -37,10 +37,13 @@
* 8-bit (register) and 16-bit (data) accesses might use different * 8-bit (register) and 16-bit (data) accesses might use different
* address spaces. This is implemented by the following definitions. * address spaces. This is implemented by the following definitions.
*/ */
#ifndef CFG_ATA_STRIDE
#define CFG_ATA_STRIDE 1
#endif
#define ATA_IO_DATA(x) (CFG_ATA_DATA_OFFSET+(x)) #define ATA_IO_DATA(x) (CFG_ATA_DATA_OFFSET+((x) * CFG_ATA_STRIDE))
#define ATA_IO_REG(x) (CFG_ATA_REG_OFFSET +(x)) #define ATA_IO_REG(x) (CFG_ATA_REG_OFFSET +((x) * CFG_ATA_STRIDE))
#define ATA_IO_ALT(x) (CFG_ATA_ALT_OFFSET +(x)) #define ATA_IO_ALT(x) (CFG_ATA_ALT_OFFSET +((x) * CFG_ATA_STRIDE))
/* /*
* I/O Register Descriptions * I/O Register Descriptions

View file

@ -89,7 +89,7 @@
#define FAT2CPU16 le16_to_cpu #define FAT2CPU16 le16_to_cpu
#define FAT2CPU32 le32_to_cpu #define FAT2CPU32 le32_to_cpu
#else #else
#if 1 #if __LITTLE_ENDIAN
#define FAT2CPU16(x) (x) #define FAT2CPU16(x) (x)
#define FAT2CPU32(x) (x) #define FAT2CPU32(x) (x)
#else #else