From: Lothar Waßmann Date: Mon, 4 Jul 2016 12:49:50 +0000 (+0200) Subject: Merge branch 'tx53-bugfix' X-Git-Tag: KARO-TX-2016-07-05~2 X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=commitdiff_plain;h=ff78a3e22349a3d692d7c849abf9816af1627681;hp=637b84ce3094c73f1c6c34376af93a81e18ed4bf Merge branch 'tx53-bugfix' --- diff --git a/board/karo/tx53/config.mk b/board/karo/tx53/config.mk index 09d6709dfe..55eb15e5c4 100644 --- a/board/karo/tx53/config.mk +++ b/board/karo/tx53/config.mk @@ -2,6 +2,12 @@ CONFIG_SYS_TEXT_BASE := 0x700ff000 __HAVE_ARCH_GENERIC_BOARD := y + PLATFORM_CPPFLAGS += -Werror +ifneq ($(CONFIG_SECURE_BOOT),) +# promote config variable to linker script + PLATFORM_CPPFLAGS += -DCONFIG_SECURE_BOOT +endif + LOGO_BMP = logos/karo.bmp OBJCOPYFLAGS += -j .pad diff --git a/board/karo/tx53/flash.c b/board/karo/tx53/flash.c index c5fe8d7a42..19bb9b6dc7 100644 --- a/board/karo/tx53/flash.c +++ b/board/karo/tx53/flash.c @@ -211,9 +211,9 @@ static int tx53_prog_uboot(void *addr, int start_block, int skip, nand_erase_options_t erase_opts = { 0, }; size_t actual; size_t prg_length = max_len - skip * mtd->erasesize; - int prg_start = (start_block + skip) * mtd->erasesize; + int prg_start = start_block * mtd->erasesize; - erase_opts.offset = start_block * mtd->erasesize; + erase_opts.offset = (start_block - skip) * mtd->erasesize; erase_opts.length = max_len; erase_opts.quiet = 1; diff --git a/board/karo/tx53/lowlevel_init.S b/board/karo/tx53/lowlevel_init.S index ad43e481ac..5aa31af63d 100644 --- a/board/karo/tx53/lowlevel_init.S +++ b/board/karo/tx53/lowlevel_init.S @@ -382,7 +382,11 @@ boot_data_ptr: self_ptr: .word ivt_header app_code_csf: +#ifdef CONFIG_SECURE_BOOT .word __csf_data +#else + .word 0x0 +#endif .word 0x0 boot_data: .long CONFIG_SYS_TEXT_BASE diff --git a/board/karo/tx53/u-boot.lds b/board/karo/tx53/u-boot.lds index 392a9ef42a..e010d99f53 100644 --- a/board/karo/tx53/u-boot.lds +++ b/board/karo/tx53/u-boot.lds @@ -83,19 +83,18 @@ SECTIONS . = ALIGN(4096); } = 0x01f0adde - _image_binary_end = . + (__ivt_end - __uboot_img_start); - .uboot_img_end : { KEEP(*(.__uboot_img_end)) } - . = CONFIG_SYS_TEXT_BASE + 0x70000; +#ifdef CONFIG_SECURE_BOOT .csf_data : { *(.__csf_data) . = . + 0x2000; } +#endif __uboot_img_len = . - __uboot_img_start; /* @@ -117,7 +116,6 @@ SECTIONS KEEP(*(.__bss_end)); } - .dynsym _image_binary_end : { *(.dynsym) } /DISCARD/ : { *(.debug*) } /DISCARD/ : { *(.note*) } /DISCARD/ : { *(.comment*) } diff --git a/include/configs/tx53.h b/include/configs/tx53.h index 65a3a4be5b..07893ff115 100644 --- a/include/configs/tx53.h +++ b/include/configs/tx53.h @@ -25,6 +25,7 @@ #define CONFIG_BOARD_LATE_INIT #define CONFIG_BOARD_EARLY_INIT_F #define CONFIG_SYS_GENERIC_BOARD +#define CONFIG_CMD_GPIO /* LCD Logo and Splash screen support */ #ifdef CONFIG_LCD