|
|
|
@ -26,13 +26,13 @@ |
|
|
|
|
#include <command.h> |
|
|
|
|
#include <malloc.h> |
|
|
|
|
|
|
|
|
|
/* ------------------------------------------------------------------------- */ |
|
|
|
|
|
|
|
|
|
#if 0 |
|
|
|
|
#define FPGA_DEBUG |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]); |
|
|
|
|
extern void lxt971_no_sleep(void); |
|
|
|
|
|
|
|
|
|
/* fpga configuration data - gzip compressed and generated by bin2c */ |
|
|
|
|
const unsigned char fpgadata[] = |
|
|
|
@ -46,6 +46,23 @@ const unsigned char fpgadata[] = |
|
|
|
|
#include "../common/fpga.c" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* include common auto-update code (for esd boards) |
|
|
|
|
*/ |
|
|
|
|
#include "../common/auto_update.h" |
|
|
|
|
|
|
|
|
|
au_image_t au_image[] = { |
|
|
|
|
{"plu405/preinst.img", 0, -1, AU_SCRIPT}, |
|
|
|
|
{"plu405/u-boot.img", 0xfffc0000, 0x00040000, AU_FIRMWARE}, |
|
|
|
|
{"plu405/pImage_$(bd_type)", 0x00000000, 0x00100000, AU_NAND}, |
|
|
|
|
{"plu405/pImage.initrd", 0x00100000, 0x00200000, AU_NAND}, |
|
|
|
|
{"plu405/yaffsmt2.img", 0x00300000, 0x01c00000, AU_NAND}, |
|
|
|
|
{"plu405/postinst.img", 0, 0, AU_SCRIPT}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
int N_AU_IMAGES = (sizeof(au_image) / sizeof(au_image[0])); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Prototypes */ |
|
|
|
|
int gunzip(void *, int, unsigned char *, unsigned long *); |
|
|
|
|
|
|
|
|
@ -81,8 +98,6 @@ int board_early_init_f (void) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* ------------------------------------------------------------------------- */ |
|
|
|
|
|
|
|
|
|
int misc_init_f (void) |
|
|
|
|
{ |
|
|
|
|
return 0; /* dummy implementation */ |
|
|
|
@ -99,7 +114,6 @@ int misc_init_r (void) |
|
|
|
|
int index; |
|
|
|
|
int i; |
|
|
|
|
|
|
|
|
|
#if 1 /* test-only */ |
|
|
|
|
dst = malloc(CFG_FPGA_MAX_SIZE); |
|
|
|
|
if (gunzip (dst, CFG_FPGA_MAX_SIZE, (uchar *)fpgadata, &len) != 0) { |
|
|
|
|
printf ("GUNZIP ERROR - must RESET board to recover\n"); |
|
|
|
@ -179,7 +193,6 @@ int misc_init_r (void) |
|
|
|
|
*/ |
|
|
|
|
*duart0_mcr = 0x08; |
|
|
|
|
*duart1_mcr = 0x08; |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
return (0); |
|
|
|
|
} |
|
|
|
@ -188,7 +201,6 @@ int misc_init_r (void) |
|
|
|
|
/*
|
|
|
|
|
* Check Board Identity: |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
int checkboard (void) |
|
|
|
|
{ |
|
|
|
|
unsigned char str[64]; |
|
|
|
@ -204,10 +216,14 @@ int checkboard (void) |
|
|
|
|
|
|
|
|
|
putc ('\n'); |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Disable sleep mode in LXT971 |
|
|
|
|
*/ |
|
|
|
|
lxt971_no_sleep(); |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* ------------------------------------------------------------------------- */ |
|
|
|
|
|
|
|
|
|
long int initdram (int board_type) |
|
|
|
|
{ |
|
|
|
@ -224,7 +240,6 @@ long int initdram (int board_type) |
|
|
|
|
return (4*1024*1024 << ((val & 0x000e0000) >> 17)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* ------------------------------------------------------------------------- */ |
|
|
|
|
|
|
|
|
|
int testdram (void) |
|
|
|
|
{ |
|
|
|
@ -234,7 +249,6 @@ int testdram (void) |
|
|
|
|
return (0); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* ------------------------------------------------------------------------- */ |
|
|
|
|
|
|
|
|
|
#ifdef CONFIG_IDE_RESET |
|
|
|
|
void ide_set_reset(int on) |
|
|
|
@ -266,3 +280,15 @@ void nand_init(void) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef CONFIG_AUTO_UPDATE_SHOW |
|
|
|
|
void board_auto_update_show(int au_active) |
|
|
|
|
{ |
|
|
|
|
if (au_active) { |
|
|
|
|
printf("\n Dies ist die board-funktion: Updating!!!\n"); |
|
|
|
|
} else { |
|
|
|
|
printf("\n Dies ist die board-funktion: Updating done!!!\n"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|