diff options
Diffstat (limited to 'board/esd/plu405')
-rw-r--r-- | board/esd/plu405/Makefile | 2 | ||||
-rw-r--r-- | board/esd/plu405/plu405.c | 44 |
2 files changed, 36 insertions, 10 deletions
diff --git a/board/esd/plu405/Makefile b/board/esd/plu405/Makefile index f5bda55..9340a32 100644 --- a/board/esd/plu405/Makefile +++ b/board/esd/plu405/Makefile @@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk LIB = lib$(BOARD).a -OBJS = $(BOARD).o flash.o +OBJS = $(BOARD).o flash.o ../common/misc.o ../common/auto_update.o $(LIB): $(OBJS) $(SOBJS) $(AR) crv $@ $(OBJS) diff --git a/board/esd/plu405/plu405.c b/board/esd/plu405/plu405.c index 04f386f..e3eff31 100644 --- a/board/esd/plu405/plu405.c +++ b/board/esd/plu405/plu405.c @@ -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 |