[U-Boot] [PATCH 4/8] mxsboot: stop referring to i.MX28 as this ought to work for all i.MXS SoCs

Otavio Salvador otavio at ossystems.com.br
Sun May 13 01:40:14 CEST 2012


Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
---
 tools/mxsboot.c |  110 +++++++++++++++++++++++++++----------------------------
 1 file changed, 55 insertions(+), 55 deletions(-)

diff --git a/tools/mxsboot.c b/tools/mxsboot.c
index 6c05aa4..9661a48 100644
--- a/tools/mxsboot.c
+++ b/tools/mxsboot.c
@@ -1,5 +1,5 @@
 /*
- * Freescale i.MX28 image generator
+ * Freescale i.MXS image generator
  *
  * Copyright (C) 2011 Marek Vasut <marek.vasut at gmail.com>
  * on behalf of DENX Software Engineering GmbH
@@ -60,13 +60,13 @@ uint32_t sd_sector = 2048;
  */
 #define	MAX_BOOTSTREAM_SIZE	(1 * 1024 * 1024)
 
-/* i.MX28 NAND controller-specific constants. DO NOT TWEAK! */
+/* i.MXS NAND controller-specific constants. DO NOT TWEAK! */
 #define	MXS_NAND_DMA_DESCRIPTOR_COUNT		4
 #define	MXS_NAND_CHUNK_DATA_CHUNK_SIZE		512
 #define	MXS_NAND_METADATA_SIZE			10
 #define	MXS_NAND_COMMAND_BUFFER_SIZE		32
 
-struct mx28_nand_fcb {
+struct mxs_nand_fcb {
 	uint32_t		checksum;
 	uint32_t		fingerprint;
 	uint32_t		version;
@@ -111,7 +111,7 @@ struct mx28_nand_fcb {
 	uint32_t		bb_marker_physical_offset;
 };
 
-struct mx28_nand_dbbt {
+struct mxs_nand_dbbt {
 	uint32_t		checksum;
 	uint32_t		fingerprint;
 	uint32_t		version;
@@ -119,13 +119,13 @@ struct mx28_nand_dbbt {
 	uint32_t		number_2k_pages_bb;
 };
 
-struct mx28_nand_bbt {
+struct mxs_nand_bbt {
 	uint32_t		nand;
 	uint32_t		number_bb;
 	uint32_t		badblock[510];
 };
 
-struct mx28_sd_drive_info {
+struct mxs_sd_drive_info {
 	uint32_t		chip_num;
 	uint32_t		drive_type;
 	uint32_t		tag;
@@ -133,20 +133,20 @@ struct mx28_sd_drive_info {
 	uint32_t		sector_count;
 };
 
-struct mx28_sd_config_block {
+struct mxs_sd_config_block {
 	uint32_t			signature;
 	uint32_t			primary_boot_tag;
 	uint32_t			secondary_boot_tag;
 	uint32_t			num_copies;
-	struct mx28_sd_drive_info	drv_info[1];
+	struct mxs_sd_drive_info	drv_info[1];
 };
 
-static inline uint32_t mx28_nand_ecc_size_in_bits(uint32_t ecc_strength)
+static inline uint32_t mxs_nand_ecc_size_in_bits(uint32_t ecc_strength)
 {
 	return ecc_strength * 13;
 }
 
-static inline uint32_t mx28_nand_get_ecc_strength(uint32_t page_data_size,
+static inline uint32_t mxs_nand_get_ecc_strength(uint32_t page_data_size,
 						uint32_t page_oob_size)
 {
 	if (page_data_size == 2048)
@@ -163,7 +163,7 @@ static inline uint32_t mx28_nand_get_ecc_strength(uint32_t page_data_size,
 	return 0;
 }
 
-static inline uint32_t mx28_nand_get_mark_offset(uint32_t page_data_size,
+static inline uint32_t mxs_nand_get_mark_offset(uint32_t page_data_size,
 						uint32_t ecc_strength)
 {
 	uint32_t chunk_data_size_in_bits;
@@ -174,7 +174,7 @@ static inline uint32_t mx28_nand_get_mark_offset(uint32_t page_data_size,
 	uint32_t block_mark_bit_offset;
 
 	chunk_data_size_in_bits = MXS_NAND_CHUNK_DATA_CHUNK_SIZE * 8;
-	chunk_ecc_size_in_bits  = mx28_nand_ecc_size_in_bits(ecc_strength);
+	chunk_ecc_size_in_bits  = mxs_nand_ecc_size_in_bits(ecc_strength);
 
 	chunk_total_size_in_bits =
 			chunk_data_size_in_bits + chunk_ecc_size_in_bits;
@@ -212,21 +212,21 @@ static inline uint32_t mx28_nand_get_mark_offset(uint32_t page_data_size,
 	return block_mark_bit_offset;
 }
 
-static inline uint32_t mx28_nand_mark_byte_offset(void)
+static inline uint32_t mxs_nand_mark_byte_offset(void)
 {
 	uint32_t ecc_strength;
-	ecc_strength = mx28_nand_get_ecc_strength(nand_writesize, nand_oobsize);
-	return mx28_nand_get_mark_offset(nand_writesize, ecc_strength) >> 3;
+	ecc_strength = mxs_nand_get_ecc_strength(nand_writesize, nand_oobsize);
+	return mxs_nand_get_mark_offset(nand_writesize, ecc_strength) >> 3;
 }
 
-static inline uint32_t mx28_nand_mark_bit_offset(void)
+static inline uint32_t mxs_nand_mark_bit_offset(void)
 {
 	uint32_t ecc_strength;
-	ecc_strength = mx28_nand_get_ecc_strength(nand_writesize, nand_oobsize);
-	return mx28_nand_get_mark_offset(nand_writesize, ecc_strength) & 0x7;
+	ecc_strength = mxs_nand_get_ecc_strength(nand_writesize, nand_oobsize);
+	return mxs_nand_get_mark_offset(nand_writesize, ecc_strength) & 0x7;
 }
 
-static uint32_t mx28_nand_block_csum(uint8_t *block, uint32_t size)
+static uint32_t mxs_nand_block_csum(uint8_t *block, uint32_t size)
 {
 	uint32_t csum = 0;
 	int i;
@@ -237,9 +237,9 @@ static uint32_t mx28_nand_block_csum(uint8_t *block, uint32_t size)
 	return csum ^ 0xffffffff;
 }
 
-static struct mx28_nand_fcb *mx28_nand_get_fcb(uint32_t size)
+static struct mxs_nand_fcb *mxs_nand_get_fcb(uint32_t size)
 {
-	struct mx28_nand_fcb *fcb;
+	struct mxs_nand_fcb *fcb;
 	uint32_t bcb_size_bytes;
 	uint32_t stride_size_bytes;
 	uint32_t bootstream_size_pages;
@@ -248,7 +248,7 @@ static struct mx28_nand_fcb *mx28_nand_get_fcb(uint32_t size)
 
 	fcb = malloc(nand_writesize);
 	if (!fcb) {
-		printf("MX28 NAND: Unable to allocate FCB\n");
+		printf("MXS NAND: Unable to allocate FCB\n");
 		return NULL;
 	}
 
@@ -289,15 +289,15 @@ static struct mx28_nand_fcb *mx28_nand_get_fcb(uint32_t size)
 	}
 
 	if (fcb->ecc_block_n_ecc_type == 0) {
-		printf("MX28 NAND: Unsupported NAND geometry\n");
+		printf("MXS NAND: Unsupported NAND geometry\n");
 		goto err;
 	}
 
 	fcb->boot_patch =			0;
 	fcb->patch_sectors =			0;
 
-	fcb->badblock_marker_byte =	mx28_nand_mark_byte_offset();
-	fcb->badblock_marker_start_bit = mx28_nand_mark_bit_offset();
+	fcb->badblock_marker_byte =	mxs_nand_mark_byte_offset();
+	fcb->badblock_marker_start_bit = mxs_nand_mark_bit_offset();
 	fcb->bb_marker_physical_offset = nand_writesize;
 
 	stride_size_bytes = STRIDE_PAGES * nand_writesize;
@@ -324,13 +324,13 @@ err:
 	return NULL;
 }
 
-static struct mx28_nand_dbbt *mx28_nand_get_dbbt(void)
+static struct mxs_nand_dbbt *mxs_nand_get_dbbt(void)
 {
-	struct mx28_nand_dbbt *dbbt;
+	struct mxs_nand_dbbt *dbbt;
 
 	dbbt = malloc(nand_writesize);
 	if (!dbbt) {
-		printf("MX28 NAND: Unable to allocate DBBT\n");
+		printf("MXS NAND: Unable to allocate DBBT\n");
 		return NULL;
 	}
 
@@ -342,7 +342,7 @@ static struct mx28_nand_dbbt *mx28_nand_get_dbbt(void)
 	return dbbt;
 }
 
-static inline uint8_t mx28_nand_parity_13_8(const uint8_t b)
+static inline uint8_t mxs_nand_parity_13_8(const uint8_t b)
 {
 	uint32_t parity = 0, tmp;
 
@@ -365,7 +365,7 @@ static inline uint8_t mx28_nand_parity_13_8(const uint8_t b)
 	return parity;
 }
 
-static uint8_t *mx28_nand_fcb_block(struct mx28_nand_fcb *fcb)
+static uint8_t *mxs_nand_fcb_block(struct mxs_nand_fcb *fcb)
 {
 	uint8_t *block;
 	uint8_t *ecc;
@@ -373,36 +373,36 @@ static uint8_t *mx28_nand_fcb_block(struct mx28_nand_fcb *fcb)
 
 	block = malloc(nand_writesize + nand_oobsize);
 	if (!block) {
-		printf("MX28 NAND: Unable to allocate FCB block\n");
+		printf("MXS NAND: Unable to allocate FCB block\n");
 		return NULL;
 	}
 
 	memset(block, 0, nand_writesize + nand_oobsize);
 
 	/* Update the FCB checksum */
-	fcb->checksum = mx28_nand_block_csum(((uint8_t *)fcb) + 4, 508);
+	fcb->checksum = mxs_nand_block_csum(((uint8_t *)fcb) + 4, 508);
 
-	/* Figure 12-11. in iMX28RM, rev. 1, says FCB is at offset 12 */
-	memcpy(block + 12, fcb, sizeof(struct mx28_nand_fcb));
+	/* Figure 12-11. in iMXSRM, rev. 1, says FCB is at offset 12 */
+	memcpy(block + 12, fcb, sizeof(struct mxs_nand_fcb));
 
 	/* ECC is at offset 12 + 512 */
 	ecc = block + 12 + 512;
 
 	/* Compute the ECC parity */
-	for (i = 0; i < sizeof(struct mx28_nand_fcb); i++)
-		ecc[i] = mx28_nand_parity_13_8(block[i + 12]);
+	for (i = 0; i < sizeof(struct mxs_nand_fcb); i++)
+		ecc[i] = mxs_nand_parity_13_8(block[i + 12]);
 
 	return block;
 }
 
-static int mx28_nand_write_fcb(struct mx28_nand_fcb *fcb, char *buf)
+static int mxs_nand_write_fcb(struct mxs_nand_fcb *fcb, char *buf)
 {
 	uint32_t offset;
 	uint8_t *fcbblock;
 	int ret = 0;
 	int i;
 
-	fcbblock = mx28_nand_fcb_block(fcb);
+	fcbblock = mxs_nand_fcb_block(fcb);
 	if (!fcbblock)
 		return -1;
 
@@ -415,20 +415,20 @@ static int mx28_nand_write_fcb(struct mx28_nand_fcb *fcb, char *buf)
 	return ret;
 }
 
-static int mx28_nand_write_dbbt(struct mx28_nand_dbbt *dbbt, char *buf)
+static int mxs_nand_write_dbbt(struct mxs_nand_dbbt *dbbt, char *buf)
 {
 	uint32_t offset;
 	int i = STRIDE_PAGES * STRIDE_COUNT;
 
 	for (; i < 2 * STRIDE_PAGES * STRIDE_COUNT; i += STRIDE_PAGES) {
 		offset = i * nand_writesize;
-		memcpy(buf + offset, dbbt, sizeof(struct mx28_nand_dbbt));
+		memcpy(buf + offset, dbbt, sizeof(struct mxs_nand_dbbt));
 	}
 
 	return 0;
 }
 
-static int mx28_nand_write_firmware(struct mx28_nand_fcb *fcb, int infd,
+static int mxs_nand_write_firmware(struct mxs_nand_fcb *fcb, int infd,
 					char *buf)
 {
 	int ret;
@@ -454,7 +454,7 @@ void usage(void)
 {
 	printf(
 		"Usage: mxsboot [ops] <type> <infile> <outfile>\n"
-		"Augment BootStream file with a proper header for i.MX28 boot\n"
+		"Augment BootStream file with a proper header for i.MXS boot\n"
 		"\n"
 		"  <type>	type of image:\n"
 		"                 \"nand\" for NAND image\n"
@@ -473,10 +473,10 @@ void usage(void)
 	);
 }
 
-static int mx28_create_nand_image(int infd, int outfd)
+static int mxs_create_nand_image(int infd, int outfd)
 {
-	struct mx28_nand_fcb *fcb;
-	struct mx28_nand_dbbt *dbbt;
+	struct mxs_nand_fcb *fcb;
+	struct mxs_nand_dbbt *dbbt;
 	int ret = -1;
 	char *buf;
 	int size;
@@ -492,31 +492,31 @@ static int mx28_create_nand_image(int infd, int outfd)
 
 	memset(buf, 0, size);
 
-	fcb = mx28_nand_get_fcb(MAX_BOOTSTREAM_SIZE);
+	fcb = mxs_nand_get_fcb(MAX_BOOTSTREAM_SIZE);
 	if (!fcb) {
 		printf("Unable to compile FCB\n");
 		goto err1;
 	}
 
-	dbbt = mx28_nand_get_dbbt();
+	dbbt = mxs_nand_get_dbbt();
 	if (!dbbt) {
 		printf("Unable to compile DBBT\n");
 		goto err2;
 	}
 
-	ret = mx28_nand_write_fcb(fcb, buf);
+	ret = mxs_nand_write_fcb(fcb, buf);
 	if (ret) {
 		printf("Unable to write FCB to buffer\n");
 		goto err3;
 	}
 
-	ret = mx28_nand_write_dbbt(dbbt, buf);
+	ret = mxs_nand_write_dbbt(dbbt, buf);
 	if (ret) {
 		printf("Unable to write DBBT to buffer\n");
 		goto err3;
 	}
 
-	ret = mx28_nand_write_firmware(fcb, infd, buf);
+	ret = mxs_nand_write_firmware(fcb, infd, buf);
 	if (ret) {
 		printf("Unable to write firmware to buffer\n");
 		goto err3;
@@ -540,14 +540,14 @@ err0:
 	return ret;
 }
 
-static int mx28_create_sd_image(int infd, int outfd)
+static int mxs_create_sd_image(int infd, int outfd)
 {
 	int ret = -1;
 	uint32_t *buf;
 	int size;
 	off_t fsize;
 	ssize_t wr_size;
-	struct mx28_sd_config_block *cb;
+	struct mxs_sd_config_block *cb;
 
 	fsize = lseek(infd, 0, SEEK_END);
 	lseek(infd, 0, SEEK_SET);
@@ -565,7 +565,7 @@ static int mx28_create_sd_image(int infd, int outfd)
 		goto err1;
 	}
 
-	cb = (struct mx28_sd_config_block *)buf;
+	cb = (struct mxs_sd_config_block *)buf;
 
 	cb->signature = 0x00112233;
 	cb->primary_boot_tag = 0x1;
@@ -675,9 +675,9 @@ int main(int argc, char **argv)
 	}
 
 	if (!strcmp(argv[offset], "sd"))
-		ret = mx28_create_sd_image(infd, outfd);
+		ret = mxs_create_sd_image(infd, outfd);
 	else if (!strcmp(argv[offset], "nand"))
-		ret = mx28_create_nand_image(infd, outfd);
+		ret = mxs_create_nand_image(infd, outfd);
 
 	close(outfd);
 err2:
-- 
1.7.10



More information about the U-Boot mailing list