| .. | .. |
|---|
| 14 | 14 | |
|---|
| 15 | 15 | #define SPINAND_MFR_DOSILICON 0xE5 |
|---|
| 16 | 16 | |
|---|
| 17 | | -#define DOSICON_STATUS_ECC_MASK GENMASK(7, 4) |
|---|
| 17 | +#define DOSICON_STATUS_ECC_MASK GENMASK(6, 4) |
|---|
| 18 | 18 | #define DOSICON_STATUS_ECC_NO_BITFLIPS (0 << 4) |
|---|
| 19 | 19 | #define DOSICON_STATUS_ECC_1TO3_BITFLIPS (1 << 4) |
|---|
| 20 | 20 | #define DOSICON_STATUS_ECC_4TO6_BITFLIPS (3 << 4) |
|---|
| .. | .. |
|---|
| 198 | 198 | SPINAND_HAS_QE_BIT, |
|---|
| 199 | 199 | SPINAND_ECCINFO(&ds35xxgb_ooblayout, |
|---|
| 200 | 200 | ds35xxgb_ecc_get_status)), |
|---|
| 201 | + SPINAND_INFO("DS35Q12B", |
|---|
| 202 | + SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xF5), |
|---|
| 203 | + NAND_MEMORG(1, 2048, 128, 64, 512, 1, 1, 1), |
|---|
| 204 | + NAND_ECCREQ(8, 512), |
|---|
| 205 | + SPINAND_INFO_OP_VARIANTS(&read_cache_variants, |
|---|
| 206 | + &write_cache_variants, |
|---|
| 207 | + &update_cache_variants), |
|---|
| 208 | + SPINAND_HAS_QE_BIT, |
|---|
| 209 | + SPINAND_ECCINFO(&ds35xxgb_ooblayout, |
|---|
| 210 | + ds35xxgb_ecc_get_status)), |
|---|
| 211 | + SPINAND_INFO("DS35M12B", |
|---|
| 212 | + SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xA5), |
|---|
| 213 | + NAND_MEMORG(1, 2048, 128, 64, 512, 1, 1, 1), |
|---|
| 214 | + NAND_ECCREQ(8, 512), |
|---|
| 215 | + SPINAND_INFO_OP_VARIANTS(&read_cache_variants, |
|---|
| 216 | + &write_cache_variants, |
|---|
| 217 | + &update_cache_variants), |
|---|
| 218 | + SPINAND_HAS_QE_BIT, |
|---|
| 219 | + SPINAND_ECCINFO(&ds35xxgb_ooblayout, |
|---|
| 220 | + ds35xxgb_ecc_get_status)), |
|---|
| 201 | 221 | }; |
|---|
| 202 | 222 | |
|---|
| 203 | 223 | static const struct spinand_manufacturer_ops dosilicon_spinand_manuf_ops = { |
|---|