mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-19 11:16:32 +00:00
adding httpd - failsafe patch flash write routine is not functional yet add configuration (board & dram)
SVN-Revision: 20603
This commit is contained in:
parent
6f4052abe0
commit
360c8146b4
@ -35,12 +35,20 @@ define Build/Prepare
|
|||||||
find $(PKG_BUILD_DIR) -name .svn | $(XARGS) rm -rf
|
find $(PKG_BUILD_DIR) -name .svn | $(XARGS) rm -rf
|
||||||
endef
|
endef
|
||||||
|
|
||||||
UBOOT_CONFIG:=easy50712_DDR166M
|
UBOOT_CONFIG:=$(call qstrip,$(CONFIG_UBOOT_CONFIG))
|
||||||
|
UBOOT_DDR_CONFIG:=$(call qstrip,$(CONFIG_UBOOT_DDR_CONFIG))
|
||||||
|
|
||||||
UBOOT_MAKE_OPTS:= \
|
UBOOT_MAKE_OPTS:= \
|
||||||
CROSS_COMPILE=$(TARGET_CROSS) \
|
CROSS_COMPILE=$(TARGET_CROSS) \
|
||||||
ENDIANNESS= \
|
ENDIANNESS= \
|
||||||
V=1
|
V=1
|
||||||
|
|
||||||
|
define Package/uboot-lantiq/config
|
||||||
|
menu "configuration"
|
||||||
|
source "$(SOURCE)/Config.in"
|
||||||
|
endmenu
|
||||||
|
endef
|
||||||
|
|
||||||
define Build/Configure/Target
|
define Build/Configure/Target
|
||||||
$(MAKE) -s -C $(PKG_BUILD_DIR) \
|
$(MAKE) -s -C $(PKG_BUILD_DIR) \
|
||||||
$(UBOOT_MAKE_OPTS) \
|
$(UBOOT_MAKE_OPTS) \
|
||||||
@ -50,7 +58,9 @@ endef
|
|||||||
|
|
||||||
define Build/Configure
|
define Build/Configure
|
||||||
$(call Build/Configure/Target,$(UBOOT_CONFIG))
|
$(call Build/Configure/Target,$(UBOOT_CONFIG))
|
||||||
|
ifeq ($(CONFIG_UBOOT_RAMBOOT),y)
|
||||||
$(call Build/Configure/Target,$(UBOOT_CONFIG)_ramboot)
|
$(call Build/Configure/Target,$(UBOOT_CONFIG)_ramboot)
|
||||||
|
endif
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Build/Compile/Target
|
define Build/Compile/Target
|
||||||
@ -62,7 +72,9 @@ endef
|
|||||||
|
|
||||||
define Build/Compile
|
define Build/Compile
|
||||||
$(call Build/Compile/Target,$(UBOOT_CONFIG))
|
$(call Build/Compile/Target,$(UBOOT_CONFIG))
|
||||||
|
ifeq ($(CONFIG_UBOOT_RAMBOOT),y)
|
||||||
$(call Build/Compile/Target,$(UBOOT_CONFIG)_ramboot)
|
$(call Build/Compile/Target,$(UBOOT_CONFIG)_ramboot)
|
||||||
|
endif
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/uboot-lantiq/install
|
define Package/uboot-lantiq/install
|
||||||
@ -71,12 +83,14 @@ define Package/uboot-lantiq/install
|
|||||||
if=$(PKG_BUILD_DIR)/$(UBOOT_CONFIG)/u-boot.bin \
|
if=$(PKG_BUILD_DIR)/$(UBOOT_CONFIG)/u-boot.bin \
|
||||||
of=$(1)/$(UBOOT_CONFIG)/u-boot.bin \
|
of=$(1)/$(UBOOT_CONFIG)/u-boot.bin \
|
||||||
bs=64k conv=sync
|
bs=64k conv=sync
|
||||||
|
ifeq ($(CONFIG_UBOOT_RAMBOOT),y)
|
||||||
if [ -e $(UBOOT_CONFIG).conf ]; then \
|
if [ -e $(UBOOT_CONFIG).conf ]; then \
|
||||||
perl ./gct \
|
perl ./gct \
|
||||||
$(UBOOT_CONFIG).conf \
|
$(UBOOT_DDR_CONFIG) \
|
||||||
$(PKG_BUILD_DIR)/$(UBOOT_CONFIG)_ramboot/u-boot.srec \
|
$(PKG_BUILD_DIR)/$(UBOOT_CONFIG)_ramboot/u-boot.srec \
|
||||||
$(1)/$(UBOOT_CONFIG)/u-boot.asc; \
|
$(1)/$(UBOOT_CONFIG)/u-boot.asc; \
|
||||||
fi
|
fi
|
||||||
|
endif
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,uboot-lantiq))
|
$(eval $(call BuildPackage,uboot-lantiq))
|
||||||
|
@ -32,6 +32,9 @@
|
|||||||
#include <asm/danube.h>
|
#include <asm/danube.h>
|
||||||
#include <asm/reboot.h>
|
#include <asm/reboot.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
|
#if defined(CONFIG_CMD_HTTPD)
|
||||||
|
#include <httpd.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
extern ulong ifx_get_ddr_hz(void);
|
extern ulong ifx_get_ddr_hz(void);
|
||||||
extern ulong ifx_get_cpuclk(void);
|
extern ulong ifx_get_cpuclk(void);
|
||||||
@ -336,3 +339,102 @@ int board_eth_init(bd_t *bis)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(CONFIG_CMD_HTTPD)
|
||||||
|
static int image_info (ulong addr)
|
||||||
|
{
|
||||||
|
void *hdr = (void *)addr;
|
||||||
|
|
||||||
|
printf ("\n## Checking Image at %08lx ...\n", addr);
|
||||||
|
|
||||||
|
switch (genimg_get_format (hdr)) {
|
||||||
|
case IMAGE_FORMAT_LEGACY:
|
||||||
|
puts (" Legacy image found\n");
|
||||||
|
if (!image_check_magic (hdr)) {
|
||||||
|
puts (" Bad Magic Number\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!image_check_hcrc (hdr)) {
|
||||||
|
puts (" Bad Header Checksum\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
image_print_contents (hdr);
|
||||||
|
|
||||||
|
puts (" Verifying Checksum ... ");
|
||||||
|
if (!image_check_dcrc (hdr)) {
|
||||||
|
puts (" Bad Data CRC\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
puts ("OK\n");
|
||||||
|
return 0;
|
||||||
|
#if defined(CONFIG_FIT)
|
||||||
|
case IMAGE_FORMAT_FIT:
|
||||||
|
puts (" FIT image found\n");
|
||||||
|
|
||||||
|
if (!fit_check_format (hdr)) {
|
||||||
|
puts ("Bad FIT image format!\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
fit_print_contents (hdr);
|
||||||
|
|
||||||
|
if (!fit_all_image_check_hashes (hdr)) {
|
||||||
|
puts ("Bad hash in FIT image!\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
default:
|
||||||
|
puts ("Unknown image format!\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int do_http_upgrade(const unsigned char *data, const ulong size)
|
||||||
|
{
|
||||||
|
/* check the image */
|
||||||
|
if(image_info(data)) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
/* write the image to the flash */
|
||||||
|
puts("http ugrade ...\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int do_http_progress(const int state)
|
||||||
|
{
|
||||||
|
/* toggle LED's here */
|
||||||
|
switch(state) {
|
||||||
|
case HTTP_PROGRESS_START:
|
||||||
|
puts("http start\n");
|
||||||
|
break;
|
||||||
|
case HTTP_PROGRESS_TIMEOUT:
|
||||||
|
break;
|
||||||
|
case HTTP_PROGRESS_UPLOAD_READY:
|
||||||
|
puts("http upload ready\n");
|
||||||
|
break;
|
||||||
|
case HTTP_PROGRESS_UGRADE_READY:
|
||||||
|
puts("http ugrade ready\n");
|
||||||
|
break;
|
||||||
|
case HTTP_PROGRESS_UGRADE_FAILED:
|
||||||
|
puts("http ugrade failed\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned long do_http_tmp_address(void)
|
||||||
|
{
|
||||||
|
char *s = getenv ("ram_addr");
|
||||||
|
if (s) {
|
||||||
|
ulong tmp = simple_strtoul (s, NULL, 16);
|
||||||
|
return tmp;
|
||||||
|
}
|
||||||
|
return 0 /*0x80a00000*/;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
@ -112,4 +112,6 @@
|
|||||||
# define CONFIG_EBU_BUSCON0 0x0001D7FF
|
# define CONFIG_EBU_BUSCON0 0x0001D7FF
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define CONFIG_CMD_HTTPD /* enable upgrade via HTTPD */
|
||||||
|
|
||||||
#endif /* __CONFIG_H */
|
#endif /* __CONFIG_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user