tools/firmware-utils: add support for hd_id tag into mkdniimg

Signed-off-by: Mark Mentovai <mark@moxienet.com>

SVN-Revision: 27052
This commit is contained in:
Gabor Juhos 2011-05-31 22:53:24 +00:00
parent c8d182406d
commit 145402e11b

View File

@ -28,6 +28,7 @@ static char *progname;
static char *ofname; static char *ofname;
static char *version = "1.00.00"; static char *version = "1.00.00";
static char *region = ""; static char *region = "";
static char *hd_id;
static char *board_id; static char *board_id;
/* /*
@ -60,6 +61,7 @@ void usage(int status)
" -o <file> write output to the file <file>\n" " -o <file> write output to the file <file>\n"
" -v <version> set image version to <version>\n" " -v <version> set image version to <version>\n"
" -r <region> set image region to <region>\n" " -r <region> set image region to <region>\n"
" -H <hd_id> set image hardware id to <hd_id>\n"
" -h show this screen\n" " -h show this screen\n"
); );
@ -73,7 +75,7 @@ int main(int argc, char *argv[])
int err; int err;
struct stat st; struct stat st;
char *buf; char *buf;
int i; int pos, rem, i;
uint8_t csum; uint8_t csum;
FILE *outfile, *infile; FILE *outfile, *infile;
@ -83,7 +85,7 @@ int main(int argc, char *argv[])
while ( 1 ) { while ( 1 ) {
int c; int c;
c = getopt(argc, argv, "B:i:o:v:r:h"); c = getopt(argc, argv, "B:i:o:v:r:H:h");
if (c == -1) if (c == -1)
break; break;
@ -103,6 +105,9 @@ int main(int argc, char *argv[])
case 'r': case 'r':
region = optarg; region = optarg;
break; break;
case 'H':
hd_id = optarg;
break;
case 'h': case 'h':
usage(EXIT_SUCCESS); usage(EXIT_SUCCESS);
break; break;
@ -141,8 +146,12 @@ int main(int argc, char *argv[])
} }
memset(buf, 0, DNI_HDR_LEN); memset(buf, 0, DNI_HDR_LEN);
snprintf(buf, DNI_HDR_LEN, "device:%s\nversion:V%s\nregion:%s\n", pos = snprintf(buf, DNI_HDR_LEN, "device:%s\nversion:V%s\nregion:%s\n",
board_id, version, region); board_id, version, region);
rem = DNI_HDR_LEN - pos;
if (pos >= 0 && rem > 1 && hd_id) {
snprintf(buf + pos, rem, "hd_id:%s\n", hd_id);
}
infile = fopen(ifname, "r"); infile = fopen(ifname, "r");
if (infile == NULL) { if (infile == NULL) {