diff options
author | Marek Vasut | 2013-08-27 23:32:38 +0200 |
---|---|---|
committer | Stefano Babic | 2013-09-10 19:12:54 +0200 |
commit | 93d520ff7d4b6c6227f09e63b674c94c92485efe (patch) | |
tree | 86a440a094a67fc559d5ef946a4f7def889abcc5 | |
parent | d55e0dabd706a5632a11d4d82c777def4fd8ce32 (diff) |
tools: mxsboot: Mark the FCB pages as valid
Without this marker, Linux will complain that the NAND pages with
FCB are invalid.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
-rw-r--r-- | tools/mxsboot.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/tools/mxsboot.c b/tools/mxsboot.c index 1060cbf605f..90b21737b92 100644 --- a/tools/mxsboot.c +++ b/tools/mxsboot.c @@ -379,7 +379,7 @@ static uint8_t *mx28_nand_fcb_block(struct mx28_nand_fcb *fcb) return block; } -static int mx28_nand_write_fcb(struct mx28_nand_fcb *fcb, char *buf) +static int mx28_nand_write_fcb(struct mx28_nand_fcb *fcb, uint8_t *buf) { uint32_t offset; uint8_t *fcbblock; @@ -393,13 +393,15 @@ static int mx28_nand_write_fcb(struct mx28_nand_fcb *fcb, char *buf) for (i = 0; i < STRIDE_PAGES * STRIDE_COUNT; i += STRIDE_PAGES) { offset = i * nand_writesize; memcpy(buf + offset, fcbblock, nand_writesize + nand_oobsize); + /* Mark the NAND page is OK. */ + buf[offset + nand_writesize] = 0xff; } free(fcbblock); return ret; } -static int mx28_nand_write_dbbt(struct mx28_nand_dbbt *dbbt, char *buf) +static int mx28_nand_write_dbbt(struct mx28_nand_dbbt *dbbt, uint8_t *buf) { uint32_t offset; int i = STRIDE_PAGES * STRIDE_COUNT; @@ -413,7 +415,7 @@ static int mx28_nand_write_dbbt(struct mx28_nand_dbbt *dbbt, char *buf) } static int mx28_nand_write_firmware(struct mx28_nand_fcb *fcb, int infd, - char *buf) + uint8_t *buf) { int ret; off_t size; @@ -462,7 +464,7 @@ static int mx28_create_nand_image(int infd, int outfd) struct mx28_nand_fcb *fcb; struct mx28_nand_dbbt *dbbt; int ret = -1; - char *buf; + uint8_t *buf; int size; ssize_t wr_size; |