diff --git a/arch/arm/include/asm/arch-qca-common/qpic_nand.h b/arch/arm/include/asm/arch-qca-common/qpic_nand.h index 4bfc6b81cd..8c96f18c6f 100644 --- a/arch/arm/include/asm/arch-qca-common/qpic_nand.h +++ b/arch/arm/include/asm/arch-qca-common/qpic_nand.h @@ -543,8 +543,13 @@ #define MTD_NAND_CHIP(mtd) ((struct nand_chip *)((mtd)->priv)) #define MTD_QPIC_NAND_DEV(mtd) (MTD_NAND_CHIP(mtd)->priv) +#define DATA_DESC_PER_CW_FOR_MULTIPAGE 2 +/* 2K page wiil have 4 CWs abd 4K will have 8 CWs*/ +#define MAX_NO_OF_CWS 8 + #ifdef CONFIG_PAGE_SCOPE_MULTI_PAGE_READ -#define QPIC_BAM_DATA_FIFO_SIZE 512 +#define QPIC_BAM_DATA_FIFO_SIZE MAX_MULTI_PAGE * MAX_NO_OF_CWS * \ + DATA_DESC_PER_CW_FOR_MULTIPAGE #define QPIC_BAM_CMD_FIFO_SIZE 128 #define QPIC_BAM_STATUS_FIFO_SIZE 512 #else diff --git a/drivers/mtd/nand/qpic_nand.c b/drivers/mtd/nand/qpic_nand.c index 8847fb1264..aa92a91935 100644 --- a/drivers/mtd/nand/qpic_nand.c +++ b/drivers/mtd/nand/qpic_nand.c @@ -275,6 +275,23 @@ static struct qpic_serial_nand_params qpic_serial_nand_tbl[] = { .check_quad_config = true, .name = "GD5F2GQ5REYIG", }, + { + .id = { 0xc2, 0xb7 }, + .page_size = 4096, + .erase_blk_size = 0x00040000, + .pgs_per_blk = 64, + .no_of_blocks = 2048, + .spare_size = 160, + .density = 0x20000000, + .otp_region = 0x2000, + .no_of_addr_cycle = 0x3, + .num_bits_ecc_correctability = 8, + .timing_mode_support = 0, + .quad_mode = true, + .check_quad_config = true, + .name = "MX35UF4GE4AD-Z4I", + }, + }; struct qpic_serial_nand_params *serial_params; #define MICRON_DEVICE_ID 0x152c152c