STRUCT NAND_CHIP(9) | Structures | STRUCT NAND_CHIP(9) |
NAME¶
struct_nand_chip - NAND Private Flash Chip Data
SYNOPSIS¶
struct nand_chip {
struct mtd_info mtd;
void __iomem * IO_ADDR_R;
void __iomem * IO_ADDR_W;
uint8_t (* read_byte) (struct mtd_info *mtd);
u16 (* read_word) (struct mtd_info *mtd);
void (* write_byte) (struct mtd_info *mtd, uint8_t byte);
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);
void (* select_chip) (struct mtd_info *mtd, int chip);
int (* block_bad) (struct mtd_info *mtd, loff_t ofs);
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);
int (* erase) (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,uint32_t offset, int data_len, const uint8_t *buf,int oob_required, int page, int cached, int raw);
int (* onfi_set_features) (struct mtd_info *mtd, struct nand_chip *chip,int feature_addr, uint8_t *subfeature_para);
int (* onfi_get_features) (struct mtd_info *mtd, struct nand_chip *chip,int feature_addr, uint8_t *subfeature_para);
int (* setup_read_retry) (struct mtd_info *mtd, int retry_mode);
int (* setup_data_interface) (struct mtd_info *mtd,const struct nand_data_interface *conf,bool check_only);
int chip_delay;
unsigned int options;
unsigned int bbt_options;
int page_shift;
int phys_erase_shift;
int bbt_erase_shift;
int chip_shift;
int numchips;
uint64_t chipsize;
int pagemask;
int pagebuf;
unsigned int pagebuf_bitflips;
int subpagesize;
uint8_t bits_per_cell;
uint16_t ecc_strength_ds;
uint16_t ecc_step_ds;
int onfi_timing_mode_default;
int badblockpos;
int badblockbits;
int onfi_version;
int jedec_version;
union {unnamed_union};
u16 max_bb_per_die;
u32 blocks_per_die;
struct nand_data_interface * data_interface;
int read_retries;
flstate_t state;
uint8_t * oob_poi;
struct nand_hw_control * controller;
struct nand_ecc_ctrl ecc;
struct nand_buffers * buffers;
struct nand_hw_control hwcontrol;
uint8_t * bbt;
struct nand_bbt_descr * bbt_td;
struct nand_bbt_descr * bbt_md;
struct nand_bbt_descr * badblock_pattern;
void * priv; };
MEMBERS¶
struct mtd_info mtd
void __iomem * IO_ADDR_R
void __iomem * IO_ADDR_W
uint8_t (*)(struct mtd_info *mtd) read_byte
u16 (*)(struct mtd_info *mtd) read_word
void (*)(struct mtd_info *mtd, uint8_t byte) write_byte
void (*)(struct mtd_info *mtd, const uint8_t *buf, int len) write_buf
void (*)(struct mtd_info *mtd, uint8_t *buf, int len) read_buf
void (*)(struct mtd_info *mtd, int chip) select_chip
int (*)(struct mtd_info *mtd, loff_t ofs) block_bad
int (*)(struct mtd_info *mtd, loff_t ofs) block_markbad
void (*)(struct mtd_info *mtd, int dat, unsigned int ctrl) cmd_ctrl
int (*)(struct mtd_info *mtd) dev_ready
void (*)(struct mtd_info *mtd, unsigned command, int column,int page_addr) cmdfunc
int(*)(struct mtd_info *mtd, struct nand_chip *this) waitfunc
int (*)(struct mtd_info *mtd, int page) erase
int (*)(struct mtd_info *mtd) scan_bbt
int (*)(struct mtd_info *mtd, struct nand_chip *this, int state,int status, int page) errstat
int (*)(struct mtd_info *mtd, struct nand_chip *chip,uint32_t offset, int data_len, const uint8_t *buf,int oob_required, int page, int cached, int raw) write_page
int (*)(struct mtd_info *mtd, struct nand_chip *chip,int feature_addr, uint8_t *subfeature_para) onfi_set_features
int (*)(struct mtd_info *mtd, struct nand_chip *chip,int feature_addr, uint8_t *subfeature_para) onfi_get_features
int (*)(struct mtd_info *mtd, int retry_mode) setup_read_retry
int (*)(struct mtd_info *mtd,const struct nand_data_interface *conf,bool check_only) setup_data_interface
int chip_delay
unsigned int options
unsigned int bbt_options
int page_shift
int phys_erase_shift
int bbt_erase_shift
int chip_shift
int numchips
uint64_t chipsize
int pagemask
int pagebuf
unsigned int pagebuf_bitflips
int subpagesize
uint8_t bits_per_cell
uint16_t ecc_strength_ds
uint16_t ecc_step_ds
int onfi_timing_mode_default
int badblockpos
int badblockbits
int onfi_version
int jedec_version
union {unnamed_union}
u16 max_bb_per_die
u32 blocks_per_die
struct nand_data_interface * data_interface
int read_retries
flstate_t state
uint8_t * oob_poi
struct nand_hw_control * controller
struct nand_ecc_ctrl ecc
struct nand_buffers * buffers
struct nand_hw_control hwcontrol
uint8_t * bbt
struct nand_bbt_descr * bbt_td
struct nand_bbt_descr * bbt_md
struct nand_bbt_descr * badblock_pattern
void * priv
AUTHOR¶
Thomas Gleixner <tglx@linutronix.de>
COPYRIGHT¶
June 2017 | Kernel Hackers Manual 4.11 |