From 3631132196bd73ecfd38ec43f3d461b04a5a4cbb Mon Sep 17 00:00:00 2001 From: Nishanth Menon Date: Wed, 26 Jan 2011 19:34:32 +0530 Subject: [PATCH 1/1] signGP: dont add Config header for all devices Configuration Header is not needed for OMAP3, but needed on Panda. To allow co-existance, introduce CONFIG_HEADER to enable it when doing make ift Tested on: Beagle XM rev A, Pandaboard rev EA1. Signed-off-by: Nishanth Menon Signed-off-by: Anand Gadiyar --- Makefile | 4 ++-- mkconfig | 2 +- scripts/signGP.c | 12 +++++++++--- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 2b94d3a..fd85142 100644 --- a/Makefile +++ b/Makefile @@ -155,7 +155,7 @@ all: $(ALL) ift: $(ALL) $(obj)x-load.bin.ift $(obj)x-load.bin.ift: $(obj)signGP $(obj)System.map $(obj)x-load.bin - $(obj)./signGP $(obj)x-load.bin $(TEXT_BASE) + $(obj)./signGP $(obj)x-load.bin $(TEXT_BASE) $(CONFIG_HEADER) cp $(obj)x-load.bin.ift $(obj)MLO $(obj)x-load.bin: $(obj)x-load @@ -234,7 +234,7 @@ igep0020_config : unconfig ## OMAP4 (ARM-CortexA9) Systems ######################################################################### omap4430panda_config : unconfig - @./mkconfig $(@:_config=) arm omap4 omap4430panda + @./mkconfig $(@:_config=) arm omap4 omap4430panda 1 ######################################################################### diff --git a/mkconfig b/mkconfig index 54c5268..b3cc90d 100755 --- a/mkconfig +++ b/mkconfig @@ -46,7 +46,7 @@ echo "ARCH = $2" > config.mk echo "CPU = $3" >> config.mk echo "BOARD = $4" >> config.mk -[ "$5" ] && echo "VENDOR = $5" >> config.mk +[ "$5" ] && echo "CONFIG_HEADER = $5" >> config.mk # # Create board specific header file diff --git a/scripts/signGP.c b/scripts/signGP.c index 963a937..ae3ddb8 100644 --- a/scripts/signGP.c +++ b/scripts/signGP.c @@ -243,18 +243,22 @@ int main(int argc, char *argv[]) FILE *ifile, *ofile; unsigned long loadaddr, len; struct stat sinfo; + int ch_add = 0; /* Default to x-load.bin and 0x40200800. */ strcpy(ifname, "x-load.bin"); loadaddr = 0x40200800; - if ((argc == 2) || (argc == 3)) + if ((argc == 2) || (argc == 3) || (argc == 4)) strcpy(ifname, argv[1]); - if (argc == 3) + if ((argc == 3) || (argc == 4)) loadaddr = strtoul(argv[2], NULL, 16); + if (argc == 4) + ch_add = strtoul(argv[3], NULL, 16); + /* Form the output file name. */ strcpy(ofname, ifname); strcat(ofname, ".ift"); @@ -285,7 +289,9 @@ int main(int argc, char *argv[]) fwrite(&ch, 1, 1, ofile); #endif - fwrite(&config_header, 1, 512, ofile); + if (ch_add) + fwrite(&config_header, 1, 512, ofile); + fwrite(&len, 1, 4, ofile); fwrite(&loadaddr, 1, 4, ofile); for (i = 0; i < len; i++) { -- 2.39.2