s5pc210: Universal: Rev 0.1 with secure boot support
authorKyungmin Park <kyungmin.park@samsung.com>
Fri, 1 Oct 2010 04:16:48 +0000 (13:16 +0900)
committerKyungmin Park <kyungmin.park@samsung.com>
Fri, 1 Oct 2010 04:16:48 +0000 (13:16 +0900)
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Makefile
include/configs/s5pc210_universal.h
onenand_ipl/board/samsung/universal_c210/Makefile

index 91f5288..1820b00 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2241,7 +2241,7 @@ s5pc210_universal_config: unconfig
        @echo "#define CONFIG_ONENAND_U_BOOT" > $(obj)include/config.h
        @$(MKCONFIG) $(@:_config=) arm armv7 universal_c210 samsung s5pc2xx
        @echo "CONFIG_ONENAND_U_BOOT = y" >> $(obj)include/config.mk
-       @echo "ONENAND_BIN = $(obj)onenand_ipl/onenand-ipl-16k.bin" >> $(obj)include/config.mk
+       @echo "ONENAND_BIN = $(obj)onenand_ipl/onenand-ipl-32k.bin" >> $(obj)include/config.mk
 
 #########################################################################
 ## XScale Systems
index 36878c9..8c44f95 100644 (file)
 
 #define CONFIG_SYS_MONITOR_LEN         (256 << 10)     /* Reserve 2 sectors */
 
-/* OneNAND IPL uses 8KiB */
-#define CONFIG_ONENAND_START_PAGE      4
+/* OneNAND IPL uses 32KiB = 2KiB * 16 */
+#define CONFIG_ONENAND_START_PAGE      16
 
 /* IPL + RECOVERY + U-BOOT */
 #define CONFIG_RECOVERY_UBOOT_BLOCK    1
index 6e0faad..a59b8e1 100644 (file)
@@ -2,7 +2,6 @@
 #  Samsung Universal(S5PC210) board OneNAND IPL
 #
 #  Copyright (C) 2010 Samsung Electronics
-#  Minkyu Kang <mk7.kang@samsung.com>
 #  Kyungmin Park <kyungmin.park@samsung.com>
 #
 # This program is free software; you can redistribute it and/or
 
 include $(TOPDIR)/config.mk
 # S5PC210 loads at 0x02020000 (EVT0)
-# S5PC210 loads at 0xxxxxxxxx (EVT1)
-# Header (16 bytes) are added after more
-TEXT_BASE              = 0x02022000
-TEXT_BASE16K_EVT0      = 0x02026000
+TEXT_BASE              = 0x02020000
+TEXT_BASE14K_EVT0      = 0x02023800
+TEXT_BASE16K_EVT0      = 0x02024000
 
 LDSCRIPT= $(TOPDIR)/onenand_ipl/board/$(BOARDDIR)/u-boot-onenand.lds
 LDFLAGS        = -Bstatic -T $(LDSCRIPT) -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS)
@@ -37,15 +35,21 @@ LNDIR       := $(OBJTREE)/onenand_ipl/board/$(BOARDDIR)
 
 onenandobj     := $(OBJTREE)/onenand_ipl/
 
-ALL    = $(onenandobj)onenand-ipl $(onenandobj)onenand-ipl.bin $(onenandobj)onenand-ipl-16k.bin $(onenandobj)onenand-ipl-16k-evt0.bin
+ALL    = zerofile-16k $(onenandobj)onenand-ipl-32k.bin $(onenandobj)onenand-ipl-16k-evt0.bin
 
 all:   $(obj).depend $(ALL)
 
-$(onenandobj)onenand-ipl-16k.bin:      $(onenandobj)onenand-ipl-16k-evt0.bin
+$(onenandobj)onenand-ipl-32k.bin:      $(onenandobj)onenand-ipl-32k-evt0-fused.bin
        cp $< $@
+       cat $(onenandobj)onenand-ipl-16k-evt0.bin zerofile-16k > $(onenandobj)onenand-ipl-32k-evt0.bin
+
+$(onenandobj)onenand-ipl-32k-evt0-fused.bin:
+       cat c210.bl1-16k.bin.signed onenand-ipl-16k-evt0.bin.signed > $@
 
 $(onenandobj)onenand-ipl-16k-evt0.bin: $(onenandobj)onenand-ipl checksum
+       $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(TEXT_BASE14K_EVT0) -O binary $< $(onenandobj)onenand-ipl-14k-evt0.bin
        $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(TEXT_BASE16K_EVT0) -O binary $< $@
+       $(onenandobj)/board/$(BOARDDIR)/checksum $(onenandobj)onenand-ipl-14k-evt0.bin 0
        $(onenandobj)/board/$(BOARDDIR)/checksum $@ 0
 
 $(onenandobj)onenand-ipl.bin:  $(onenandobj)onenand-ipl
@@ -55,6 +59,9 @@ $(onenandobj)onenand-ipl:     $(OBJS)
        cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \
                -Map $@.map -o $@
 
+zerofile-16k:
+       dd if=/dev/zero of=zerofile-16k bs=1024 count=16
+
 checksum: checksum.c
        $(HOSTCC) -o $@ $<
 
@@ -107,6 +114,6 @@ include $(SRCTREE)/rules.mk
 sinclude $(obj).depend
 
 clean:
-       rm onenand_boot.c onenand_read.c
+       rm onenand_boot.c onenand_read.c checksum
 
 #########################################################################