[platform/msm_shared]: Fix the number of Nand Blocks generation.

Correct the supported flash devices array entries for two nand chips.
Use the correct supported flash devices array to fix the generation
of number of nand blocks present on the flash chip.

Change-Id: I7eabab5a2df28ffef0d4bc79c825401d78399bb8
diff --git a/platform/msm_shared/nand.c b/platform/msm_shared/nand.c
index 6be6179..5dd74d1 100644
--- a/platform/msm_shared/nand.c
+++ b/platform/msm_shared/nand.c
@@ -129,7 +129,7 @@
 	{0x1500aa98, 0xFFFFFFFF, (256<<20), 0, 2048, (2048<<6), 64, 0}, /*Tosh*/
 	{0x5500ba98, 0xFFFFFFFF, (256<<20), 1, 2048, (2048<<6), 64, 0}, /*Tosh*/
 	{0xd580b12c, 0xFFFFFFFF, (256<<20), 1, 2048, (2048<<6), 64, 0}, /*Micr*/
-	{0x5590bc2c, 0xFFFFFFFF, (512<<20), 1, 2048, (4096<<6), 64, 0}, /*Micr*/
+	{0x5590bc2c, 0xFFFFFFFF, (512<<20), 1, 2048, (2048<<6), 64, 0}, /*Micr*/
 	{0x1580aa2c, 0xFFFFFFFF, (256<<20), 0, 2048, (2048<<6), 64, 0}, /*Micr*/
 	{0x1590ac2c, 0xFFFFFFFF, (512<<20), 0, 2048, (2048<<6), 64, 0}, /*Micr*/
 	{0x5580baad, 0xFFFFFFFF, (256<<20), 1, 2048, (2048<<6), 64, 0}, /*Hynx*/
@@ -137,7 +137,7 @@
 	{0x004000ec, 0xFFFFFFFF, (256<<20), 0, 2048, (2048<<6), 64, 1}, /*Sams*/
 	{0x005c00ec, 0xFFFFFFFF, (256<<20), 0, 2048, (2048<<6), 64, 1}, /*Sams*/
 	{0x005800ec, 0xFFFFFFFF, (256<<20), 0, 2048, (2048<<6), 64, 1}, /*Sams*/
-	{0x6600bcec, 0xFF00FFFF, (512<<20), 1, 4096, (2048<<6), 128, 0}, /*Sams*/
+	{0x6600bcec, 0xFF00FFFF, (512<<20), 1, 4096, (4096<<6), 128, 0}, /*Sams*/
 	/* Note: Width flag is 0 for 8 bit Flash and 1 for 16 bit flash	  */
 	/* Note: Onenand flag is 0 for NAND Flash and 1 for OneNAND flash	*/
 	/* Note: The First row will be filled at runtime during ONFI probe	*/
@@ -3166,7 +3166,7 @@
 		if (flash_info.block_size && flash_info.page_size)
 		{
 			flash_info.num_blocks = supported_flash[index].density;
-			flash_info.num_blocks /= (flash_info.block_size * flash_info.page_size);
+			flash_info.num_blocks /= (flash_info.block_size);
 		}
 		else
 		{
diff --git a/target/msm7627_ffa/init.c b/target/msm7627_ffa/init.c
index f0973f5..783e49a 100644
--- a/target/msm7627_ffa/init.c
+++ b/target/msm7627_ffa/init.c
@@ -134,9 +134,8 @@
 	if (offset == 0xffffffff)
 	        while(1);
 
-	total_num_of_blocks = (flash_info->block_size)/NUM_PAGES_PER_BLOCK;
-	blocks_per_1MB = total_num_of_blocks /
-	         (((flash_info->block_size) * (flash_info->page_size)) >> 20);
+	total_num_of_blocks = flash_info->num_blocks;
+	blocks_per_1MB = (1 << 20) / (flash_info->block_size);
 
 	for (i = 0; i < num_parts; i++) {
 		struct ptentry *ptn = &board_part_list[i];
diff --git a/target/msm7627_surf/init.c b/target/msm7627_surf/init.c
index 46c7be6..d0537d6 100644
--- a/target/msm7627_surf/init.c
+++ b/target/msm7627_surf/init.c
@@ -134,9 +134,8 @@
 	if (offset == 0xffffffff)
 	        while(1);
 
-	total_num_of_blocks = (flash_info->block_size)/NUM_PAGES_PER_BLOCK;
-	blocks_per_1MB = total_num_of_blocks /
-	         (((flash_info->block_size) * (flash_info->page_size)) >> 20);
+	total_num_of_blocks = flash_info->num_blocks;
+	blocks_per_1MB = (1 << 20) / (flash_info->block_size);
 
 	for (i = 0; i < num_parts; i++) {
 		struct ptentry *ptn = &board_part_list[i];
diff --git a/target/msm7630_surf/init.c b/target/msm7630_surf/init.c
index 816d8b1..54d63ad 100644
--- a/target/msm7630_surf/init.c
+++ b/target/msm7630_surf/init.c
@@ -202,9 +202,8 @@
 	if (offset == 0xffffffff)
 	        while(1);
 
-	total_num_of_blocks = (flash_info->block_size)/NUM_PAGES_PER_BLOCK;
-	blocks_per_1MB = total_num_of_blocks /
-	         (((flash_info->block_size) * (flash_info->page_size)) >> 20);
+	total_num_of_blocks = flash_info->num_blocks;
+	blocks_per_1MB = (1 << 20) / (flash_info->block_size);
 
 	for (i = 0; i < num_parts; i++) {
 		struct ptentry *ptn = &board_part_list[i];
diff --git a/target/qsd8250_ffa/init.c b/target/qsd8250_ffa/init.c
index a4220e1..7b6770c 100644
--- a/target/qsd8250_ffa/init.c
+++ b/target/qsd8250_ffa/init.c
@@ -126,7 +126,7 @@
 	if (offset == 0xffffffff)
 	        while(1);
 
-	total_num_of_blocks = (flash_info->block_size)/NUM_PAGES_PER_BLOCK;
+	total_num_of_blocks = flash_info->num_blocks;
 
 	for (i = 0; i < num_parts; i++) {
 		struct ptentry *ptn = &board_part_list[i];
diff --git a/target/qsd8250_surf/init.c b/target/qsd8250_surf/init.c
index 07428ca..540da0d 100644
--- a/target/qsd8250_surf/init.c
+++ b/target/qsd8250_surf/init.c
@@ -125,7 +125,7 @@
 	if (offset == 0xffffffff)
 	        while(1);
 
-	total_num_of_blocks = (flash_info->block_size)/NUM_PAGES_PER_BLOCK;
+	total_num_of_blocks = flash_info->num_blocks;
 
 	for (i = 0; i < num_parts; i++) {
 		struct ptentry *ptn = &board_part_list[i];
diff --git a/target/qsd8650a_st1x/init.c b/target/qsd8650a_st1x/init.c
index 8146eb4..5d1cc63 100644
--- a/target/qsd8650a_st1x/init.c
+++ b/target/qsd8650a_st1x/init.c
@@ -120,7 +120,7 @@
 	if (offset == 0xffffffff)
 	        while(1);
 
-	total_num_of_blocks = (flash_info->block_size)/NUM_PAGES_PER_BLOCK;
+	total_num_of_blocks = flash_info->num_blocks;
 
 	for (i = 0; i < num_parts; i++) {
 		struct ptentry *ptn = &board_part_list[i];