void (*write_buf)(struct mtd_info *mtd, const uint8_t *buf, int len);
void (*read_buf)(struct mtd_info *mtd, uint8_t *buf, int len);
/*读取数据并验证*/
int (*verify_buf)(struct mtd_info *mtd, const uint8_t *buf, int len);
/*选定芯片*/
void (*select_chip)(struct mtd_info *mtd, int chip);
/*检查坏块*/
int (*block_bad)(struct mtd_info *mtd, loff_t ofs, int getchip);
/*mark(标记)bad block*/
int (*block_markbad)(struct mtd_info *mtd, loff_t ofs);
/*发送命令/地址*/
void (*cmd_ctrl)(struct mtd_info *mtd, int dat,unsigned int ctrl);
/*读取芯片状态*/
int (*dev_ready)(struct mtd_info *mtd);
/*发送命令*/
void (*cmdfunc)(struct mtd_info *mtd, unsigned command, int column, int page_addr);
/*等待就绪*/
int (*waitfunc)(struct mtd_info *mtd, struct nand_chip *this);
/*擦除命令函数*/
void (*erase_cmd)(struct mtd_info *mtd, int page);
/*扫描坏块表*/
int (*scan_bbt)(struct mtd_info *mtd);
int (*errstat)(struct mtd_info *mtd, struct nand_chip *this, int state, int status, int page);
/*高级页面写功能*/
int (*write_page)(struct mtd_info *mtd, struct nand_chip *chip,const uint8_t *buf, int page, int cached, int raw);
int chip_delay;
struct nand_ecc_ctrl ecc;
struct nand_buffers *buffers;
...................
};