/u-boot/fs/yaffs2/ |
H A D | yaffs_mtdif.c | 28 static inline void translate_spare2oob(const struct yaffs_spare *spare, u8 *oob) argument 30 oob[0] = spare->tb0; 31 oob[1] = spare->tb1; 32 oob[2] = spare->tb2; 33 oob[3] = spare->tb3; 34 oob[4] = spare->tb4; 35 oob[5] = spare->tb5 & 0x3f; 36 oob[5] |= spare->block_status == 'Y' ? 0 : 0x80; 37 oob[5] |= spare->page_status == 0 ? 0 : 0x40; 38 oob[ 42 translate_oob2spare(struct yaffs_spare *spare, u8 *oob) argument [all...] |
/u-boot/drivers/mtd/nand/raw/ |
H A D | lpc32xx_nand_mlc.c | 100 * The struct below represents how free vs ecc oob bytes are stored 241 struct lpc32xx_oob *oob = (struct lpc32xx_oob *)chip->oob_poi; local 266 memcpy(&oob->free[i], lpc32xx_nand_mlc_registers->buff, 6); 268 memcpy(&oob->ecc[i], lpc32xx_nand_mlc_registers->buff, 10); 289 struct lpc32xx_oob *oob = (struct lpc32xx_oob *)chip->oob_poi; local 308 memcpy(&oob->free[i], lpc32xx_nand_mlc_registers->data, 6); 310 memcpy(&oob->ecc[i], lpc32xx_nand_mlc_registers->data, 10); 337 struct lpc32xx_oob *oob = (struct lpc32xx_oob *)chip->oob_poi; local 366 memcpy(&oob->free[i], lpc32xx_nand_mlc_registers->buff, 6); 368 memcpy(&oob 391 struct lpc32xx_oob *oob = (struct lpc32xx_oob *)chip->oob_poi; local 449 struct lpc32xx_oob *oob = (struct lpc32xx_oob *)chip->oob_poi; local 485 struct lpc32xx_oob *oob = (struct lpc32xx_oob *)chip->oob_poi; local 624 read_single_page(uint8_t *dest, int page, struct lpc32xx_oob *oob) argument 725 struct lpc32xx_oob oob; local [all...] |
H A D | mxc_nand.c | 397 pr_debug("%s: Reading OOB area of page %u to oob %p\n", 448 uint8_t *oob = chip->oob_poi; local 462 chip->read_buf(mtd, oob, chip->ecc.prepad); 463 oob += chip->ecc.prepad; 466 chip->read_buf(mtd, oob, eccbytes); 467 oob += eccbytes; 470 chip->read_buf(mtd, oob, chip->ecc.postpad); 471 oob += chip->ecc.postpad; 475 size = mtd->oobsize - (oob - chip->oob_poi); 477 chip->read_buf(mtd, oob, siz 495 uint8_t *oob = chip->oob_poi; local 585 uint8_t *oob = chip->oob_poi; local 627 uint8_t *oob = chip->oob_poi; local [all...] |
H A D | am335x_spl_bch.c | 164 uint8_t *oob = &oob_data[0] + nand_ecc_pos[0]; local 177 this->read_buf(mtd, oob, eccbytes); 182 oob += eccbytes; 185 /* Pick the ECC bytes out of the oob data */
|
H A D | nand_base.c | 51 /* Define default oob placement schemes for large and small page devices */ 1751 * Not for syndrome calculating ECC controllers, which use a special oob layout. 1780 * We need a special oob layout and handling even when OOB isn't used. 1788 uint8_t *oob = chip->oob_poi; local 1799 ret = nand_read_data_op(chip, oob, chip->ecc.prepad, 1804 oob += chip->ecc.prepad; 1807 ret = nand_read_data_op(chip, oob, eccbytes, false); 1811 oob += eccbytes; 1814 ret = nand_read_data_op(chip, oob, chip->ecc.postpad, 1819 oob 2145 uint8_t *oob = chip->oob_poi; local 2221 nand_transfer_oob(struct nand_chip *chip, uint8_t *oob, struct mtd_oob_ops *ops, size_t len) argument 2304 uint8_t *bufpoi, *oob, *buf; local 2818 uint8_t *oob = chip->oob_poi; local 3019 uint8_t *oob = chip->oob_poi; local 3122 nand_fill_oob(struct mtd_info *mtd, uint8_t *oob, size_t len, struct mtd_oob_ops *ops) argument 3191 uint8_t *oob = ops->oobbuf; local [all...] |
H A D | sunxi_nand.c | 814 u8 *oob, int oob_off, 857 memset(oob, pattern, ecc->bytes + 4); 867 sunxi_nfc_randomizer_read_buf(mtd, oob, ecc->bytes + 4, true, page); 878 nand->read_buf(mtd, oob, ecc->bytes + 4); 882 oob, ecc->bytes + 4, 893 oob); 897 sunxi_nfc_randomize_bbm(mtd, page, oob); 911 u8 *oob, int *cur_off, 927 sunxi_nfc_read_buf(mtd, oob + offset, len); 929 sunxi_nfc_randomizer_read_buf(mtd, oob 812 sunxi_nfc_hw_ecc_read_chunk(struct mtd_info *mtd, u8 *data, int data_off, u8 *oob, int oob_off, int *cur_off, unsigned int *max_bitflips, bool bbm, int page) argument 910 sunxi_nfc_hw_ecc_read_extra_oob(struct mtd_info *mtd, u8 *oob, int *cur_off, bool randomize, int page) argument 940 sunxi_nfc_hw_ecc_write_chunk(struct mtd_info *mtd, const u8 *data, int data_off, const u8 *oob, int oob_off, int *cur_off, bool bbm, int page) argument 991 sunxi_nfc_hw_ecc_write_extra_oob(struct mtd_info *mtd, u8 *oob, int *cur_off, int page) argument 1027 u8 *oob = chip->oob_poi + oob_off; local 1065 u8 *oob = chip->oob_poi + oob_off; local 1093 const u8 *oob = chip->oob_poi + oob_off; local 1127 const u8 *oob = chip->oob_poi + oob_off; local 1157 u8 *oob = chip->oob_poi + (i * (ecc->bytes + 4)); local 1191 const u8 *oob = chip->oob_poi + (i * (ecc->bytes + 4)); local [all...] |
H A D | denali.c | 711 uint8_t *oob = chip->oob_poi; local 714 memcpy(oob, tmp_buf + writesize, oob_skip); 715 oob += oob_skip; 727 memcpy(oob, tmp_buf + pos, len); 728 oob += len; 731 memcpy(oob, tmp_buf + writesize + oob_skip, 733 oob += len; 738 len = oobsize - (oob - chip->oob_poi); 739 memcpy(oob, tmp_buf + size - len, len); 845 const uint8_t *oob local [all...] |
H A D | fsl_elbc_nand.c | 79 unsigned int oob; /* Non zero if operating on OOB data */ member in struct:fsl_elbc_ctrl 160 static void set_addr(struct mtd_info *mtd, int column, int page_addr, int oob) argument 174 (oob ? FPAR_LP_MS : 0) | column); 180 (oob ? FPAR_SP_MS : 0) | column); 188 if (oob) 252 static void fsl_elbc_do_read(struct nand_chip *chip, int oob) argument 275 if (oob) 397 ctrl->oob = 0; 425 ctrl->oob = 1; 436 set_addr(mtd, column, page_addr, ctrl->oob); [all...] |
H A D | rockchip_nfc.c | 34 * 1024 * n data + m Bytes oob 36 * First byte of oob(spare). 92 #define NFC_SYS_DATA_SIZE (4) /* 4 bytes sys data in oob pre 1024 data.*/ 529 u8 *oob; local 572 oob = chip->oob_poi + (ecc->steps - 1) * NFC_SYS_DATA_SIZE; 574 oob = chip->oob_poi + (i - 1) * NFC_SYS_DATA_SIZE; 576 tmp = oob[0] | oob[1] << 8 | oob[2] << 16 | oob[ 687 u8 *oob; local [all...] |
H A D | fsl_ifc_nand.c | 53 unsigned int oob; /* Non zero if operating on OOB data */ member in struct:fsl_ifc_ctrl 219 static void set_addr(struct mtd_info *mtd, int column, int page_addr, int oob) argument 231 ifc_out32(&ifc->ifc_nand.col0, (oob ? IFC_NAND_COL_MS : 0) | column); 239 if (oob) 328 int oob, 355 if (oob) 462 ctrl->oob = 0; 514 ctrl->oob = 1; 517 set_addr(mtd, column, page_addr, ctrl->oob); 523 if (ctrl->oob) 327 fsl_ifc_do_read(struct nand_chip *chip, int oob, struct mtd_info *mtd) argument [all...] |
H A D | vf610_nfc.c | 557 uint8_t *oob, int page) 574 vf610_nfc_read_buf(mtd, oob, mtd->oobsize); 581 flips += count_written_bits(oob, mtd->oobsize, flips_threshold); 588 memset(oob, 0xff, mtd->oobsize); 556 vf610_nfc_correct_data(struct mtd_info *mtd, uint8_t *dat, uint8_t *oob, int page) argument
|
H A D | atmel_nand.c | 540 uint8_t *oob = chip->oob_poi; local 554 chip->read_buf(mtd, oob, mtd->oobsize); 570 if (pmecc_correction(mtd, stat, buf, &oob[eccpos[0]]) != 0) 605 "Timeout to read PMECC status, fail to write PMECC in oob\n"); 898 /* set ECC page size and oob layout */ 972 /* oob layout for large page size 985 /* oob layout for small page size 1042 uint8_t *oob = chip->oob_poi; local 1062 ecc_pos = oob + eccpos[0]; 1066 stat = chip->ecc.correct(mtd, p, oob, NUL [all...] |
H A D | omap_gpmc.c | 264 #define BCH_ECC_SIZE0 0x0 /* ecc_size0 = 0, no oob protection */ 689 debug("nand: bit-flip corrected @oob=%d\n", byte_pos - 718 uint8_t *oob = chip->oob_poi; local 722 /* oob area start */ 724 oob += chip->ecc.layout->eccpos[0]; 727 oob += eccbytes) { 735 /* read respective ecc from oob area */ 737 chip->read_buf(mtd, oob, eccbytes);
|
H A D | meson_nand.c | 720 u8 *oob = chip->oob_poi + i * (ecc->bytes + 2); local 726 oob, ecc->bytes + 2,
|
H A D | nand_bbt.c | 354 /* Scan write data with oob to flash */ 356 uint8_t *buf, uint8_t *oob) 364 ops.oobbuf = oob; 428 * Read the full oob until read_oob is fixed to handle single 523 * The bbt ident pattern resides in the oob area of the first page in a block. 731 /* Read oob data */ 770 /* Pattern is located in oob area of first page */ 1107 /* Allocate a temporary buffer for one eraseblock incl. oob */ 1120 /* Search the bad block table using a pattern in oob */ 1161 /* Allocate a temporary buffer for one eraseblock incl. oob */ 355 scan_write_bbt(struct mtd_info *mtd, loff_t offs, size_t len, uint8_t *buf, uint8_t *oob) argument [all...] |
/u-boot/test/dm/ |
H A D | nand.c | 23 u8 oob[NAND_MAX_OOBSIZE]; local 60 ops.oobbuf = oob; 63 ut_asserteq(0, oob[mtd_to_nand(mtd)->badblockpos]);
|
/u-boot/drivers/mtd/nand/raw/brcmnand/ |
H A D | brcmnand.c | 1291 * @oob: buffer to read to 1295 static int read_oob_from_regs(struct brcmnand_controller *ctrl, int i, u8 *oob, argument 1307 oob[j] = oob_reg_read(ctrl, j); 1314 * @oob: buffer to write from 1319 const u8 *oob, int sas, int sector_1k) 1331 (oob[j + 0] << 24) | 1332 (oob[j + 1] << 16) | 1333 (oob[j + 2] << 8) | 1334 (oob[j + 3] << 0)); 1781 u8 *oob, u6 1318 write_oob_to_regs(struct brcmnand_controller *ctrl, int i, const u8 *oob, int sas, int sector_1k) argument 1779 brcmnand_read_by_pio(struct mtd_info *mtd, struct nand_chip *chip, u64 addr, unsigned int trans, u32 *buf, u8 *oob, u64 *err_addr) argument 1886 brcmnand_read(struct mtd_info *mtd, struct nand_chip *chip, u64 addr, unsigned int trans, u32 *buf, u8 *oob) argument 1978 u8 *oob = oob_required ? (u8 *)chip->oob_poi : NULL; local 1990 u8 *oob = oob_required ? (u8 *)chip->oob_poi : NULL; local 2023 brcmnand_write(struct mtd_info *mtd, struct nand_chip *chip, u64 addr, const u32 *buf, u8 *oob) argument 2094 void *oob = oob_required ? chip->oob_poi : NULL; local 2107 void *oob = oob_required ? chip->oob_poi : NULL; local [all...] |
/u-boot/cmd/ |
H A D | onenand.c | 63 size_t *retlen, u_char *buf, int oob) 74 if (oob) 88 if (oob) 384 int oob = 0; local 394 if ((s != NULL) && (!strcmp(s, ".oob"))) 395 oob = 1; 403 ret = onenand_block_read(ofs, len, &retlen, (u8 *)addr, oob); 513 if (s != NULL && strcmp(s, ".oob") == 0) 591 "onenand read[.oob] addr off size\n" 598 "onenand dump[.oob] of 62 onenand_block_read(loff_t from, size_t len, size_t *retlen, u_char *buf, int oob) argument [all...] |
/u-boot/drivers/mtd/onenand/ |
H A D | onenand_base.c | 51 * onenand_oob_128 - oob info for Flex-Onenand with 4KB page 72 * onenand_oob_64 - oob info for large (2KB) page 89 * onenand_oob_32 - oob info for middle (1KB) page 761 * onenand_transfer_auto_oob - [INTERN] oob auto-placement transfer 764 * @param column oob offset to read from 765 * @param thislen oob length to read 847 * @param ops oob operation description structure 930 /* Read oob area if needed */ 998 * @param ops oob operation description structure 1029 printk(KERN_ERR "onenand_read_oob_nolock: Attempted to start read outside oob\ 1423 const u_char *oob = ops->oobbuf; local [all...] |