[U-Boot] [RFC PATCH v3 07/10] mtd: pxa3xx_nand: Increase the initial chunk size

oferh at marvell.com oferh at marvell.com
Wed Dec 6 06:55:45 UTC 2017


From: Ofer Heifetz <oferh at marvell.com>

The chunk size represents the size of the data chunks, which
is used by the controllers that allow to split transfered data.

However, the initial chunk size is used in a non-splitted way,
during device identification. Therefore, it must be large enough
for all the NAND commands issued during device identification.
This includes NAND_CMD_PARAM which was recently changed to
transfer up to 2048 bytes (for the redundant parameter pages).

Thus, the initial chunk size should be 2048 as well.

On Armada 370/XP platforms (NFCv2) booted without the keep-config
devicetree property, this commit fixes a timeout on the NAND_CMD_PARAM
command:

  [..]
  pxa3xx-nand f10d0000.nand: This platform can't do DMA on this device
  pxa3xx-nand f10d0000.nand: Wait time out!!!
  nand: device found, Manufacturer ID: 0x2c, Chip ID: 0x38
  nand: Micron MT29F8G08ABABAWP
  nand: 1024 MiB, SLC, erase size: 512 KiB, page size: 4096, OOB size: 224

[ Linux commit c7f00c29aa846b00c70bc99ddb6b1cc7e17c47d4 ]

Cc: Ezequiel GarcĂ­a <ezequiel at vanguardiasur.com.ar>
Signed-off-by: Chris Packham <judge.packham at gmail.com>
Reviewed-by: Ofer Heifetz <oferh at marvell.com>
Tested-by: Ofer Heifetz <oferh at marvell.com>
---
 drivers/mtd/nand/pxa3xx_nand.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
index 86e6c41..70aff59 100644
--- a/drivers/mtd/nand/pxa3xx_nand.c
+++ b/drivers/mtd/nand/pxa3xx_nand.c
@@ -1377,7 +1377,7 @@ static int pxa3xx_nand_scan(struct mtd_info *mtd)
 		goto KEEP_CONFIG;
 
 	/* Set a default chunk size */
-	info->chunk_size = 512;
+	info->chunk_size = PAGE_CHUNK_SIZE;
 
 	ret = pxa3xx_nand_sensing(host);
 	if (ret) {
-- 
1.9.1



More information about the U-Boot mailing list