Merge branch 'tx53-bugfix'
authorLothar Waßmann <LW@KARO-electronics.de>
Mon, 4 Jul 2016 12:49:50 +0000 (14:49 +0200)
committerLothar Waßmann <LW@KARO-electronics.de>
Mon, 4 Jul 2016 12:49:50 +0000 (14:49 +0200)
board/karo/tx53/config.mk
board/karo/tx53/flash.c
board/karo/tx53/lowlevel_init.S
board/karo/tx53/u-boot.lds
include/configs/tx53.h

index 09d6709..55eb15e 100644 (file)
@@ -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
index c5fe8d7..19bb9b6 100644 (file)
@@ -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;
 
index ad43e48..5aa31af 100644 (file)
@@ -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
index 392a9ef..e010d99 100644 (file)
@@ -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*) }
index 65a3a4b..07893ff 100644 (file)
@@ -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