mirror of
https://gitee.com/Vancouver2017/luban-lite.git
synced 2025-12-25 05:28:55 +00:00
v1.0.3
This commit is contained in:
@@ -11,21 +11,30 @@
|
||||
|
||||
#define SPINAND_MFR_ZBIT 0x5E
|
||||
|
||||
struct spi_nand_cmd_cfg zbit_cmd_cfg_table[] = {
|
||||
/*opcode opcode_bits addr_bytes addr_bits dummy_bytes data_nbits*/
|
||||
{ SPINAND_CMD_READ_FROM_CACHE, 1, 2, 1, 1, 1 },
|
||||
{ SPINAND_CMD_READ_FROM_CACHE_X2, 1, 2, 1, 1, 2 },
|
||||
{ SPINAND_CMD_READ_FROM_CACHE_X4, 1, 2, 1, 1, 4 },
|
||||
{ SPINAND_CMD_PROG_LOAD, 1, 2, 1, 0, 1 },
|
||||
{ SPINAND_CMD_PROG_LOAD_X4, 1, 2, 1, 0, 4 },
|
||||
{ SPINAND_CMD_END },
|
||||
};
|
||||
static int zb35q01a_ecc_get_status(struct aic_spinand *flash, u8 status)
|
||||
{
|
||||
switch (status & STATUS_ECC_MASK) {
|
||||
case STATUS_ECC_NO_BITFLIPS:
|
||||
return 0;
|
||||
case STATUS_ECC_HAS_1_4_BITFLIPS:
|
||||
return 4;
|
||||
case STATUS_ECC_UNCOR_ERROR:
|
||||
return -SPINAND_ERR_ECC;
|
||||
case STATUS_ECC_MASK:
|
||||
return 4;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return -SPINAND_ERR;
|
||||
}
|
||||
|
||||
const struct aic_spinand_info zbit_spinand_table[] = {
|
||||
/*devid page_size oob_size block_per_lun pages_per_eraseblock is_die_select*/
|
||||
/*devid page_size oob_size block_per_lun pages_per_eraseblock planes_per_lun
|
||||
is_die_select*/
|
||||
/*ZB35Q01A*/
|
||||
{ 0x41, 2048, 64, 1024, 64, 0, "zbit 128MB: 2048+64@64@1024",
|
||||
zbit_cmd_cfg_table },
|
||||
{ DEVID(0x41), PAGESIZE(2048), OOBSIZE(64), BPL(1024), PPB(64), PLANENUM(1),
|
||||
DIE(0), "zbit 128MB: 2048+64@64@1024", cmd_cfg_table, zb35q01a_ecc_get_status},
|
||||
};
|
||||
|
||||
const struct aic_spinand_info *zbit_spinand_detect(struct aic_spinand *flash)
|
||||
|
||||
Reference in New Issue
Block a user