Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mtd: spinand: toshiba: add support for T{C,H}58NYG{0,2}S3HBAI4 and TH58NYG3S0HBAI6

Add support for:
TC58NYG0S3HBAI4 - 1Gb SLC NAND flash
TH58NYG2S3HBAI4 - 4Gb SLC NAND flash
TH58NYG3S0HBAI6 - 8Gb SLC NAND flash

All of these has 8b/512b on-die ECC capability

Signed-off-by: Sridharan S N <quic_sridsn@quicinc.com>
Signed-off-by: Md Sadre Alam <quic_mdalam@quicinc.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20230623045757.30055-4-quic_sridsn@quicinc.com

authored by

Sridharan S N and committed by
Miquel Raynal
dabd64be aa08bf18

+33
+33
drivers/mtd/nand/spi/toshiba.c
··· 266 266 SPINAND_HAS_QE_BIT, 267 267 SPINAND_ECCINFO(&tx58cxgxsxraix_ooblayout, 268 268 tx58cxgxsxraix_ecc_get_status)), 269 + /* 1.8V 1Gb (1st generation) */ 270 + SPINAND_INFO("TC58NYG0S3HBAI4", 271 + SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xA1), 272 + NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1), 273 + NAND_ECCREQ(8, 512), 274 + SPINAND_INFO_OP_VARIANTS(&read_cache_variants, 275 + &write_cache_variants, 276 + &update_cache_variants), 277 + 0, 278 + SPINAND_ECCINFO(&tx58cxgxsxraix_ooblayout, 279 + tx58cxgxsxraix_ecc_get_status)), 280 + /* 1.8V 4Gb (1st generation) */ 281 + SPINAND_INFO("TH58NYG2S3HBAI4", 282 + SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xAC), 283 + NAND_MEMORG(1, 2048, 128, 64, 4096, 80, 1, 2, 1), 284 + NAND_ECCREQ(8, 512), 285 + SPINAND_INFO_OP_VARIANTS(&read_cache_variants, 286 + &write_cache_x4_variants, 287 + &update_cache_x4_variants), 288 + SPINAND_HAS_QE_BIT, 289 + SPINAND_ECCINFO(&tx58cxgxsxraix_ooblayout, 290 + tx58cxgxsxraix_ecc_get_status)), 291 + /* 1.8V 8Gb (1st generation) */ 292 + SPINAND_INFO("TH58NYG3S0HBAI6", 293 + SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xA3), 294 + NAND_MEMORG(1, 4096, 256, 64, 4096, 80, 1, 1, 1), 295 + NAND_ECCREQ(8, 512), 296 + SPINAND_INFO_OP_VARIANTS(&read_cache_variants, 297 + &write_cache_x4_variants, 298 + &update_cache_x4_variants), 299 + SPINAND_HAS_QE_BIT, 300 + SPINAND_ECCINFO(&tx58cxgxsxraix_ooblayout, 301 + tx58cxgxsxraix_ecc_get_status)), 269 302 }; 270 303 271 304 static const struct spinand_manufacturer_ops toshiba_spinand_manuf_ops = {