* [PATCH 0/2] mtd: spinand: add support for MX35LFxG24AD & Fix bug of BCH @ 2020-12-10 3:22 ` YouChing Lin 0 siblings, 0 replies; 12+ messages in thread From: YouChing Lin @ 2020-12-10 3:22 UTC (permalink / raw) To: miquel.raynal, vigneshr; +Cc: juliensu, linux-mtd, linux-kernel, ycllin Hello, This series adds support for MX35LF1/2/4G24AD, are 3V, 1G/2G/4Gbit serial SLC NAND flash device (without on-die ECC). And fix a bug of BCH, the size of calc_buf/code_buf is limited to 64 bytes. If someone uses Flash with pagesize: 4096 (for example: MX35LF4G24AD, eccbyte: 104 bytes), some errors will occur during the read operation. So we correct the size of calc_buf/code_buf to mtd->oobsize. This series has been tested on Xilinx Zynq PicoZed FPGA board. Thanks for your time. YouChing Lin (2): mtd: nand: ecc-bch: Fix the size of calc_buf/code_buf of the BCH mtd: spinand: macronix: Add support for MX35LFxG24AD drivers/mtd/nand/ecc-sw-bch.c | 4 ++-- drivers/mtd/nand/spi/macronix.c | 27 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) -- 1.9.1 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 0/2] mtd: spinand: add support for MX35LFxG24AD & Fix bug of BCH @ 2020-12-10 3:22 ` YouChing Lin 0 siblings, 0 replies; 12+ messages in thread From: YouChing Lin @ 2020-12-10 3:22 UTC (permalink / raw) To: miquel.raynal, vigneshr; +Cc: juliensu, ycllin, linux-mtd, linux-kernel Hello, This series adds support for MX35LF1/2/4G24AD, are 3V, 1G/2G/4Gbit serial SLC NAND flash device (without on-die ECC). And fix a bug of BCH, the size of calc_buf/code_buf is limited to 64 bytes. If someone uses Flash with pagesize: 4096 (for example: MX35LF4G24AD, eccbyte: 104 bytes), some errors will occur during the read operation. So we correct the size of calc_buf/code_buf to mtd->oobsize. This series has been tested on Xilinx Zynq PicoZed FPGA board. Thanks for your time. YouChing Lin (2): mtd: nand: ecc-bch: Fix the size of calc_buf/code_buf of the BCH mtd: spinand: macronix: Add support for MX35LFxG24AD drivers/mtd/nand/ecc-sw-bch.c | 4 ++-- drivers/mtd/nand/spi/macronix.c | 27 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) -- 1.9.1 ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/ ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/2] mtd: nand: ecc-bch: Fix the size of calc_buf/code_buf of the BCH 2020-12-10 3:22 ` YouChing Lin @ 2020-12-10 3:22 ` YouChing Lin -1 siblings, 0 replies; 12+ messages in thread From: YouChing Lin @ 2020-12-10 3:22 UTC (permalink / raw) To: miquel.raynal, vigneshr; +Cc: juliensu, linux-mtd, linux-kernel, ycllin If eccbyte exceeds 64 bytes, the read operation will get wrong results. For example: Flash with a page size of 4096 bytes (eccbyte: 104 bytes). During the read operation, after executing nand_ecc_sw_bch_calculate(), since the calc_buf/code_buf ranges overlap each other, the last three steps of ecc_code (read from oob) will be changed. The root cause is that the size of calc_buf/code_buf is limited to 64 bytes, although sizeof(mtd->oobsize) returns 4, kzalloc() will allocate 64 bytes (cache size alignment). So we correct the size of calc_buf/code_buf to mtd->oobsize. Signed-off-by: YouChing Lin <ycllin@mxic.com.tw> --- drivers/mtd/nand/ecc-sw-bch.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/nand/ecc-sw-bch.c b/drivers/mtd/nand/ecc-sw-bch.c index 4d8a979..0a0ac11 100644 --- a/drivers/mtd/nand/ecc-sw-bch.c +++ b/drivers/mtd/nand/ecc-sw-bch.c @@ -237,8 +237,8 @@ int nand_ecc_sw_bch_init_ctx(struct nand_device *nand) engine_conf->code_size = code_size; engine_conf->nsteps = nsteps; - engine_conf->calc_buf = kzalloc(sizeof(mtd->oobsize), GFP_KERNEL); - engine_conf->code_buf = kzalloc(sizeof(mtd->oobsize), GFP_KERNEL); + engine_conf->calc_buf = kzalloc(mtd->oobsize, GFP_KERNEL); + engine_conf->code_buf = kzalloc(mtd->oobsize, GFP_KERNEL); if (!engine_conf->calc_buf || !engine_conf->code_buf) { ret = -ENOMEM; goto free_bufs; -- 1.9.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 1/2] mtd: nand: ecc-bch: Fix the size of calc_buf/code_buf of the BCH @ 2020-12-10 3:22 ` YouChing Lin 0 siblings, 0 replies; 12+ messages in thread From: YouChing Lin @ 2020-12-10 3:22 UTC (permalink / raw) To: miquel.raynal, vigneshr; +Cc: juliensu, ycllin, linux-mtd, linux-kernel If eccbyte exceeds 64 bytes, the read operation will get wrong results. For example: Flash with a page size of 4096 bytes (eccbyte: 104 bytes). During the read operation, after executing nand_ecc_sw_bch_calculate(), since the calc_buf/code_buf ranges overlap each other, the last three steps of ecc_code (read from oob) will be changed. The root cause is that the size of calc_buf/code_buf is limited to 64 bytes, although sizeof(mtd->oobsize) returns 4, kzalloc() will allocate 64 bytes (cache size alignment). So we correct the size of calc_buf/code_buf to mtd->oobsize. Signed-off-by: YouChing Lin <ycllin@mxic.com.tw> --- drivers/mtd/nand/ecc-sw-bch.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/nand/ecc-sw-bch.c b/drivers/mtd/nand/ecc-sw-bch.c index 4d8a979..0a0ac11 100644 --- a/drivers/mtd/nand/ecc-sw-bch.c +++ b/drivers/mtd/nand/ecc-sw-bch.c @@ -237,8 +237,8 @@ int nand_ecc_sw_bch_init_ctx(struct nand_device *nand) engine_conf->code_size = code_size; engine_conf->nsteps = nsteps; - engine_conf->calc_buf = kzalloc(sizeof(mtd->oobsize), GFP_KERNEL); - engine_conf->code_buf = kzalloc(sizeof(mtd->oobsize), GFP_KERNEL); + engine_conf->calc_buf = kzalloc(mtd->oobsize, GFP_KERNEL); + engine_conf->code_buf = kzalloc(mtd->oobsize, GFP_KERNEL); if (!engine_conf->calc_buf || !engine_conf->code_buf) { ret = -ENOMEM; goto free_bufs; -- 1.9.1 ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/ ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] mtd: nand: ecc-bch: Fix the size of calc_buf/code_buf of the BCH 2020-12-10 3:22 ` YouChing Lin @ 2020-12-10 21:33 ` Miquel Raynal -1 siblings, 0 replies; 12+ messages in thread From: Miquel Raynal @ 2020-12-10 21:33 UTC (permalink / raw) To: YouChing Lin; +Cc: vigneshr, juliensu, linux-mtd, linux-kernel Hi YouChing, YouChing Lin <ycllin@mxic.com.tw> wrote on Thu, 10 Dec 2020 11:22:08 +0800: > If eccbyte exceeds 64 bytes, the read operation will get wrong results. > For example: Flash with a page size of 4096 bytes (eccbyte: 104 bytes). > During the read operation, after executing nand_ecc_sw_bch_calculate(), > since the calc_buf/code_buf ranges overlap each other, the last three > steps of ecc_code (read from oob) will be changed. > > The root cause is that the size of calc_buf/code_buf is limited to 64 > bytes, although sizeof(mtd->oobsize) returns 4, kzalloc() will allocate > 64 bytes (cache size alignment). > > So we correct the size of calc_buf/code_buf to mtd->oobsize. > > Signed-off-by: YouChing Lin <ycllin@mxic.com.tw> > --- > drivers/mtd/nand/ecc-sw-bch.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/mtd/nand/ecc-sw-bch.c b/drivers/mtd/nand/ecc-sw-bch.c > index 4d8a979..0a0ac11 100644 > --- a/drivers/mtd/nand/ecc-sw-bch.c > +++ b/drivers/mtd/nand/ecc-sw-bch.c > @@ -237,8 +237,8 @@ int nand_ecc_sw_bch_init_ctx(struct nand_device *nand) > > engine_conf->code_size = code_size; > engine_conf->nsteps = nsteps; > - engine_conf->calc_buf = kzalloc(sizeof(mtd->oobsize), GFP_KERNEL); > - engine_conf->code_buf = kzalloc(sizeof(mtd->oobsize), GFP_KERNEL); > + engine_conf->calc_buf = kzalloc(mtd->oobsize, GFP_KERNEL); > + engine_conf->code_buf = kzalloc(mtd->oobsize, GFP_KERNEL); Very nice catch! If you don't mind I will merge this fix with the faulty commit (still in next) and I will also bring the fix to Hamming which will suffer from the same error. Then I will apply the second patch. > if (!engine_conf->calc_buf || !engine_conf->code_buf) { > ret = -ENOMEM; > goto free_bufs; Thanks, Miquèl ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] mtd: nand: ecc-bch: Fix the size of calc_buf/code_buf of the BCH @ 2020-12-10 21:33 ` Miquel Raynal 0 siblings, 0 replies; 12+ messages in thread From: Miquel Raynal @ 2020-12-10 21:33 UTC (permalink / raw) To: YouChing Lin; +Cc: juliensu, linux-mtd, vigneshr, linux-kernel Hi YouChing, YouChing Lin <ycllin@mxic.com.tw> wrote on Thu, 10 Dec 2020 11:22:08 +0800: > If eccbyte exceeds 64 bytes, the read operation will get wrong results. > For example: Flash with a page size of 4096 bytes (eccbyte: 104 bytes). > During the read operation, after executing nand_ecc_sw_bch_calculate(), > since the calc_buf/code_buf ranges overlap each other, the last three > steps of ecc_code (read from oob) will be changed. > > The root cause is that the size of calc_buf/code_buf is limited to 64 > bytes, although sizeof(mtd->oobsize) returns 4, kzalloc() will allocate > 64 bytes (cache size alignment). > > So we correct the size of calc_buf/code_buf to mtd->oobsize. > > Signed-off-by: YouChing Lin <ycllin@mxic.com.tw> > --- > drivers/mtd/nand/ecc-sw-bch.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/mtd/nand/ecc-sw-bch.c b/drivers/mtd/nand/ecc-sw-bch.c > index 4d8a979..0a0ac11 100644 > --- a/drivers/mtd/nand/ecc-sw-bch.c > +++ b/drivers/mtd/nand/ecc-sw-bch.c > @@ -237,8 +237,8 @@ int nand_ecc_sw_bch_init_ctx(struct nand_device *nand) > > engine_conf->code_size = code_size; > engine_conf->nsteps = nsteps; > - engine_conf->calc_buf = kzalloc(sizeof(mtd->oobsize), GFP_KERNEL); > - engine_conf->code_buf = kzalloc(sizeof(mtd->oobsize), GFP_KERNEL); > + engine_conf->calc_buf = kzalloc(mtd->oobsize, GFP_KERNEL); > + engine_conf->code_buf = kzalloc(mtd->oobsize, GFP_KERNEL); Very nice catch! If you don't mind I will merge this fix with the faulty commit (still in next) and I will also bring the fix to Hamming which will suffer from the same error. Then I will apply the second patch. > if (!engine_conf->calc_buf || !engine_conf->code_buf) { > ret = -ENOMEM; > goto free_bufs; Thanks, Miquèl ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/ ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] mtd: nand: ecc-bch: Fix the size of calc_buf/code_buf of the BCH 2020-12-10 21:33 ` Miquel Raynal @ 2020-12-11 1:20 ` ycllin -1 siblings, 0 replies; 12+ messages in thread From: ycllin @ 2020-12-11 1:20 UTC (permalink / raw) To: Miquel Raynal; +Cc: juliensu, linux-kernel, linux-mtd, vigneshr Hi Miquel, > "Miquel Raynal" <miquel.raynal@bootlin.com> > > Re: [PATCH 1/2] mtd: nand: ecc-bch: Fix the size of calc_buf/code_buf of the BCH > > Hi YouChing, > > YouChing Lin <ycllin@mxic.com.tw> wrote on Thu, 10 Dec 2020 11:22:08 > +0800: > (deleted) > > The root cause is that the size of calc_buf/code_buf is limited to 64 > > bytes, although sizeof(mtd->oobsize) returns 4, kzalloc() will allocate > > 64 bytes (cache size alignment). > > > > So we correct the size of calc_buf/code_buf to mtd->oobsize. > > > > Signed-off-by: YouChing Lin <ycllin@mxic.com.tw> > > --- > > drivers/mtd/nand/ecc-sw-bch.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/mtd/nand/ecc-sw-bch.c b/drivers/mtd/nand/ecc-sw-bch.c > > index 4d8a979..0a0ac11 100644 > > --- a/drivers/mtd/nand/ecc-sw-bch.c > > +++ b/drivers/mtd/nand/ecc-sw-bch.c > > @@ -237,8 +237,8 @@ int nand_ecc_sw_bch_init_ctx(struct nand_device *nand) > > > > engine_conf->code_size = code_size; > > engine_conf->nsteps = nsteps; > > - engine_conf->calc_buf = kzalloc(sizeof(mtd->oobsize), GFP_KERNEL); > > - engine_conf->code_buf = kzalloc(sizeof(mtd->oobsize), GFP_KERNEL); > > + engine_conf->calc_buf = kzalloc(mtd->oobsize, GFP_KERNEL); > > + engine_conf->code_buf = kzalloc(mtd->oobsize, GFP_KERNEL); > > Very nice catch! If you don't mind I will merge this fix with the > faulty commit (still in next) and I will also bring the fix to Hamming > which will suffer from the same error. > > Then I will apply the second patch. No problem, thank you for your help. Thanks, Youching. CONFIDENTIALITY NOTE: This e-mail and any attachments may contain confidential information and/or personal data, which is protected by applicable laws. Please be reminded that duplication, disclosure, distribution, or use of this e-mail (and/or its attachments) or any part thereof is prohibited. If you receive this e-mail in error, please notify us immediately and delete this mail as well as its attachment(s) from your system. In addition, please be informed that collection, processing, and/or use of personal data is prohibited unless expressly permitted by personal data protection laws. Thank you for your attention and cooperation. Macronix International Co., Ltd. ===================================================================== ============================================================================ CONFIDENTIALITY NOTE: This e-mail and any attachments may contain confidential information and/or personal data, which is protected by applicable laws. Please be reminded that duplication, disclosure, distribution, or use of this e-mail (and/or its attachments) or any part thereof is prohibited. If you receive this e-mail in error, please notify us immediately and delete this mail as well as its attachment(s) from your system. In addition, please be informed that collection, processing, and/or use of personal data is prohibited unless expressly permitted by personal data protection laws. Thank you for your attention and cooperation. Macronix International Co., Ltd. ===================================================================== ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] mtd: nand: ecc-bch: Fix the size of calc_buf/code_buf of the BCH @ 2020-12-11 1:20 ` ycllin 0 siblings, 0 replies; 12+ messages in thread From: ycllin @ 2020-12-11 1:20 UTC (permalink / raw) To: Miquel Raynal; +Cc: juliensu, linux-mtd, linux-kernel, vigneshr Hi Miquel, > "Miquel Raynal" <miquel.raynal@bootlin.com> > > Re: [PATCH 1/2] mtd: nand: ecc-bch: Fix the size of calc_buf/code_buf of the BCH > > Hi YouChing, > > YouChing Lin <ycllin@mxic.com.tw> wrote on Thu, 10 Dec 2020 11:22:08 > +0800: > (deleted) > > The root cause is that the size of calc_buf/code_buf is limited to 64 > > bytes, although sizeof(mtd->oobsize) returns 4, kzalloc() will allocate > > 64 bytes (cache size alignment). > > > > So we correct the size of calc_buf/code_buf to mtd->oobsize. > > > > Signed-off-by: YouChing Lin <ycllin@mxic.com.tw> > > --- > > drivers/mtd/nand/ecc-sw-bch.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/mtd/nand/ecc-sw-bch.c b/drivers/mtd/nand/ecc-sw-bch.c > > index 4d8a979..0a0ac11 100644 > > --- a/drivers/mtd/nand/ecc-sw-bch.c > > +++ b/drivers/mtd/nand/ecc-sw-bch.c > > @@ -237,8 +237,8 @@ int nand_ecc_sw_bch_init_ctx(struct nand_device *nand) > > > > engine_conf->code_size = code_size; > > engine_conf->nsteps = nsteps; > > - engine_conf->calc_buf = kzalloc(sizeof(mtd->oobsize), GFP_KERNEL); > > - engine_conf->code_buf = kzalloc(sizeof(mtd->oobsize), GFP_KERNEL); > > + engine_conf->calc_buf = kzalloc(mtd->oobsize, GFP_KERNEL); > > + engine_conf->code_buf = kzalloc(mtd->oobsize, GFP_KERNEL); > > Very nice catch! If you don't mind I will merge this fix with the > faulty commit (still in next) and I will also bring the fix to Hamming > which will suffer from the same error. > > Then I will apply the second patch. No problem, thank you for your help. Thanks, Youching. CONFIDENTIALITY NOTE: This e-mail and any attachments may contain confidential information and/or personal data, which is protected by applicable laws. Please be reminded that duplication, disclosure, distribution, or use of this e-mail (and/or its attachments) or any part thereof is prohibited. If you receive this e-mail in error, please notify us immediately and delete this mail as well as its attachment(s) from your system. In addition, please be informed that collection, processing, and/or use of personal data is prohibited unless expressly permitted by personal data protection laws. Thank you for your attention and cooperation. Macronix International Co., Ltd. ===================================================================== ============================================================================ CONFIDENTIALITY NOTE: This e-mail and any attachments may contain confidential information and/or personal data, which is protected by applicable laws. Please be reminded that duplication, disclosure, distribution, or use of this e-mail (and/or its attachments) or any part thereof is prohibited. If you receive this e-mail in error, please notify us immediately and delete this mail as well as its attachment(s) from your system. In addition, please be informed that collection, processing, and/or use of personal data is prohibited unless expressly permitted by personal data protection laws. Thank you for your attention and cooperation. Macronix International Co., Ltd. ===================================================================== ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/ ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 2/2] mtd: spinand: macronix: Add support for MX35LFxG24AD 2020-12-10 3:22 ` YouChing Lin @ 2020-12-10 3:22 ` YouChing Lin -1 siblings, 0 replies; 12+ messages in thread From: YouChing Lin @ 2020-12-10 3:22 UTC (permalink / raw) To: miquel.raynal, vigneshr; +Cc: juliensu, linux-mtd, linux-kernel, ycllin The Macronix MX35LF1G24AD(/2G24AD/4G24AD) are 3V, 1G/2G/4Gbit serial SLC NAND flash device (without on-die ECC). Validated by read, erase, read back, write, read back on Xilinx Zynq PicoZed FPGA board which included Macronix SPI Host(drivers/spi/spi-mxic.c) & S/W BCH ecc(drivers/mtd/nand/ecc-sw-bch.c) with bug fixing patch (mtd: nand: ecc-bch: Fix the size of calc_buf/code_buf of the BCH). Signed-off-by: YouChing Lin <ycllin@mxic.com.tw> --- drivers/mtd/nand/spi/macronix.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/drivers/mtd/nand/spi/macronix.c b/drivers/mtd/nand/spi/macronix.c index 3786b1b..6701aaa 100644 --- a/drivers/mtd/nand/spi/macronix.c +++ b/drivers/mtd/nand/spi/macronix.c @@ -139,6 +139,33 @@ static int mx35lf1ge4ab_ecc_get_status(struct spinand_device *spinand, 0, SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, mx35lf1ge4ab_ecc_get_status)), + SPINAND_INFO("MX35LF1G24AD", + SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x14), + NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1), + NAND_ECCREQ(8, 512), + SPINAND_INFO_OP_VARIANTS(&read_cache_variants, + &write_cache_variants, + &update_cache_variants), + 0, + SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)), + SPINAND_INFO("MX35LF2G24AD", + SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x24), + NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1), + NAND_ECCREQ(8, 512), + SPINAND_INFO_OP_VARIANTS(&read_cache_variants, + &write_cache_variants, + &update_cache_variants), + 0, + SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)), + SPINAND_INFO("MX35LF4G24AD", + SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x35), + NAND_MEMORG(1, 4096, 256, 64, 2048, 40, 2, 1, 1), + NAND_ECCREQ(8, 512), + SPINAND_INFO_OP_VARIANTS(&read_cache_variants, + &write_cache_variants, + &update_cache_variants), + 0, + SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)), SPINAND_INFO("MX31LF1GE4BC", SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x1e), NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1), -- 1.9.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/2] mtd: spinand: macronix: Add support for MX35LFxG24AD @ 2020-12-10 3:22 ` YouChing Lin 0 siblings, 0 replies; 12+ messages in thread From: YouChing Lin @ 2020-12-10 3:22 UTC (permalink / raw) To: miquel.raynal, vigneshr; +Cc: juliensu, ycllin, linux-mtd, linux-kernel The Macronix MX35LF1G24AD(/2G24AD/4G24AD) are 3V, 1G/2G/4Gbit serial SLC NAND flash device (without on-die ECC). Validated by read, erase, read back, write, read back on Xilinx Zynq PicoZed FPGA board which included Macronix SPI Host(drivers/spi/spi-mxic.c) & S/W BCH ecc(drivers/mtd/nand/ecc-sw-bch.c) with bug fixing patch (mtd: nand: ecc-bch: Fix the size of calc_buf/code_buf of the BCH). Signed-off-by: YouChing Lin <ycllin@mxic.com.tw> --- drivers/mtd/nand/spi/macronix.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/drivers/mtd/nand/spi/macronix.c b/drivers/mtd/nand/spi/macronix.c index 3786b1b..6701aaa 100644 --- a/drivers/mtd/nand/spi/macronix.c +++ b/drivers/mtd/nand/spi/macronix.c @@ -139,6 +139,33 @@ static int mx35lf1ge4ab_ecc_get_status(struct spinand_device *spinand, 0, SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, mx35lf1ge4ab_ecc_get_status)), + SPINAND_INFO("MX35LF1G24AD", + SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x14), + NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1), + NAND_ECCREQ(8, 512), + SPINAND_INFO_OP_VARIANTS(&read_cache_variants, + &write_cache_variants, + &update_cache_variants), + 0, + SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)), + SPINAND_INFO("MX35LF2G24AD", + SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x24), + NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1), + NAND_ECCREQ(8, 512), + SPINAND_INFO_OP_VARIANTS(&read_cache_variants, + &write_cache_variants, + &update_cache_variants), + 0, + SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)), + SPINAND_INFO("MX35LF4G24AD", + SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x35), + NAND_MEMORG(1, 4096, 256, 64, 2048, 40, 2, 1, 1), + NAND_ECCREQ(8, 512), + SPINAND_INFO_OP_VARIANTS(&read_cache_variants, + &write_cache_variants, + &update_cache_variants), + 0, + SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)), SPINAND_INFO("MX31LF1GE4BC", SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x1e), NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1), -- 1.9.1 ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/ ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 2/2] mtd: spinand: macronix: Add support for MX35LFxG24AD 2020-12-10 3:22 ` YouChing Lin @ 2020-12-10 21:38 ` Miquel Raynal -1 siblings, 0 replies; 12+ messages in thread From: Miquel Raynal @ 2020-12-10 21:38 UTC (permalink / raw) To: YouChing Lin, miquel.raynal, vigneshr; +Cc: juliensu, linux-mtd, linux-kernel On Thu, 2020-12-10 at 03:22:09 UTC, YouChing Lin wrote: > The Macronix MX35LF1G24AD(/2G24AD/4G24AD) are 3V, 1G/2G/4Gbit serial > SLC NAND flash device (without on-die ECC). > > Validated by read, erase, read back, write, read back on Xilinx Zynq > PicoZed FPGA board which included Macronix SPI Host(drivers/spi/spi-mxic.c) > & S/W BCH ecc(drivers/mtd/nand/ecc-sw-bch.c) with bug fixing patch > (mtd: nand: ecc-bch: Fix the size of calc_buf/code_buf of the BCH). > > Signed-off-by: YouChing Lin <ycllin@mxic.com.tw> Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git nand/next, thanks. Miquel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 2/2] mtd: spinand: macronix: Add support for MX35LFxG24AD @ 2020-12-10 21:38 ` Miquel Raynal 0 siblings, 0 replies; 12+ messages in thread From: Miquel Raynal @ 2020-12-10 21:38 UTC (permalink / raw) To: YouChing Lin, miquel.raynal, vigneshr; +Cc: juliensu, linux-mtd, linux-kernel On Thu, 2020-12-10 at 03:22:09 UTC, YouChing Lin wrote: > The Macronix MX35LF1G24AD(/2G24AD/4G24AD) are 3V, 1G/2G/4Gbit serial > SLC NAND flash device (without on-die ECC). > > Validated by read, erase, read back, write, read back on Xilinx Zynq > PicoZed FPGA board which included Macronix SPI Host(drivers/spi/spi-mxic.c) > & S/W BCH ecc(drivers/mtd/nand/ecc-sw-bch.c) with bug fixing patch > (mtd: nand: ecc-bch: Fix the size of calc_buf/code_buf of the BCH). > > Signed-off-by: YouChing Lin <ycllin@mxic.com.tw> Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git nand/next, thanks. Miquel ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/ ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2020-12-11 1:26 UTC | newest] Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-12-10 3:22 [PATCH 0/2] mtd: spinand: add support for MX35LFxG24AD & Fix bug of BCH YouChing Lin 2020-12-10 3:22 ` YouChing Lin 2020-12-10 3:22 ` [PATCH 1/2] mtd: nand: ecc-bch: Fix the size of calc_buf/code_buf of the BCH YouChing Lin 2020-12-10 3:22 ` YouChing Lin 2020-12-10 21:33 ` Miquel Raynal 2020-12-10 21:33 ` Miquel Raynal 2020-12-11 1:20 ` ycllin 2020-12-11 1:20 ` ycllin 2020-12-10 3:22 ` [PATCH 2/2] mtd: spinand: macronix: Add support for MX35LFxG24AD YouChing Lin 2020-12-10 3:22 ` YouChing Lin 2020-12-10 21:38 ` Miquel Raynal 2020-12-10 21:38 ` Miquel Raynal
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.