Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
nand_chip Struct Reference

#include <nand.h>

Data Fields

void __iomemIO_ADDR_R
 
void __iomemIO_ADDR_W
 
uint8_t(* read_byte )(struct mtd_info *mtd)
 
u16(* read_word )(struct mtd_info *mtd)
 
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 getchip)
 
int(* block_markbad )(struct mtd_info *mtd, loff_t ofs)
 
void(* cmd_ctrl )(struct mtd_info *mtd, int dat, unsigned int ctrl)
 
int(* init_size )(struct mtd_info *mtd, struct nand_chip *this, u8 *id_data)
 
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 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 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 cellinfo
 
int badblockpos
 
int badblockbits
 
int onfi_version
 
struct nand_onfi_params onfi_params
 
flstate_t state
 
uint8_toob_poi
 
struct nand_hw_controlcontroller
 
struct nand_ecclayoutecclayout
 
struct nand_ecc_ctrl ecc
 
struct nand_buffersbuffers
 
struct nand_hw_control hwcontrol
 
uint8_tbbt
 
struct nand_bbt_descrbbt_td
 
struct nand_bbt_descrbbt_md
 
struct nand_bbt_descrbadblock_pattern
 
voidpriv
 

Detailed Description

struct nand_chip - NAND Private Flash Chip Data : [BOARDSPECIFIC] address to read the 8 I/O lines of the flash device : [BOARDSPECIFIC] address to write the 8 I/O lines of the flash device. : [REPLACEABLE] read one byte from the chip : [REPLACEABLE] read one word from the chip : [REPLACEABLE] write data from the buffer to the chip : [REPLACEABLE] read data from the chip into the buffer : [REPLACEABLE] select chip nr : [REPLACEABLE] check, if the block is bad : [REPLACEABLE] mark the block bad : [BOARDSPECIFIC] hardwarespecific function for controlling ALE/CLE/nCE. Also used to write command and address : [BOARDSPECIFIC] hardwarespecific function for setting mtd->oobsize, mtd->writesize and so on. contains the 8 bytes values of NAND_CMD_READID. Return with the bus width. : [BOARDSPECIFIC] hardwarespecific function for accessing device ready/busy line. If set to NULL no access to ready/busy is available and the ready/busy information is read from the chip status register. : [REPLACEABLE] hardwarespecific function for writing commands to the chip. : [REPLACEABLE] hardwarespecific function for wait on ready. : [BOARDSPECIFIC] ECC control structure : buffer structure for read/write : platform-specific hardware control structure : [INTERN] erase command write function, selectable due to AND support. : [REPLACEABLE] function to scan bad block table : [BOARDSPECIFIC] chip dependent delay for transferring data from array to read regs (tR). : [INTERN] the current state of the NAND device : "poison value buffer," used for laying out OOB data before writing : [INTERN] number of address bits in a page (column address bits). : [INTERN] number of address bits in a physical eraseblock : [INTERN] number of address bits in a bbt entry : [INTERN] number of address bits in one chip : [BOARDSPECIFIC] various chip options. They can partly be set to inform nand_scan about special functionality. See the defines for further explanation. : [INTERN] bad block specific options. All options used here must come from bbm.h. By default, these options will be copied to the appropriate nand_bbt_descr's. : [INTERN] position of the bad block marker in the oob area. : [INTERN] minimum number of set bits in a good block's bad block marker position; i.e., BBM == 11110111b is not bad when badblockbits == 7 : [INTERN] MLC/multichip data from chip ident : [INTERN] number of physical chips : [INTERN] the size of one chip for multichip arrays : [INTERN] page number mask = number of (pages / chip) - 1 : [INTERN] holds the pagenumber which is currently in data_buf. : [INTERN] holds the bitflip count for the page which is currently in data_buf. : [INTERN] holds the subpagesize : [INTERN] holds the chip ONFI version (BCD encoded), non 0 if ONFI supported. : [INTERN] holds the ONFI page parameter when ONFI is supported, 0 otherwise. [REPLACEABLE] set the features for ONFI nand [REPLACEABLE] get the features for ONFI nand : [REPLACEABLE] the default ECC placement scheme : [INTERN] bad block table pointer : [REPLACEABLE] bad block table descriptor for flash lookup. : [REPLACEABLE] bad block table mirror descriptor : [REPLACEABLE] bad block scan pattern used for initial bad block scan. : [REPLACEABLE] a pointer to a hardware controller structure which is shared among multiple independent devices. : [OPTIONAL] pointer to private chip data : [OPTIONAL] hardware specific function to perform additional error status checks (determine if errors are correctable). : [REPLACEABLE] High-level page write function

Definition at line 493 of file nand.h.

Field Documentation

struct nand_bbt_descr* badblock_pattern

Definition at line 558 of file nand.h.

int badblockbits

Definition at line 539 of file nand.h.

int badblockpos

Definition at line 538 of file nand.h.

uint8_t* bbt

Definition at line 554 of file nand.h.

int bbt_erase_shift

Definition at line 529 of file nand.h.

Definition at line 556 of file nand.h.

unsigned int bbt_options

Definition at line 525 of file nand.h.

Definition at line 555 of file nand.h.

int(* block_bad)(struct mtd_info *mtd, loff_t ofs, int getchip)

Definition at line 502 of file nand.h.

int(* block_markbad)(struct mtd_info *mtd, loff_t ofs)

Definition at line 503 of file nand.h.

struct nand_buffers* buffers

Definition at line 551 of file nand.h.

uint8_t cellinfo

Definition at line 537 of file nand.h.

int chip_delay

Definition at line 523 of file nand.h.

int chip_shift

Definition at line 530 of file nand.h.

uint64_t chipsize

Definition at line 532 of file nand.h.

void(* cmd_ctrl)(struct mtd_info *mtd, int dat, unsigned int ctrl)

Definition at line 504 of file nand.h.

void(* cmdfunc)(struct mtd_info *mtd, unsigned command, int column, int page_addr)

Definition at line 508 of file nand.h.

Definition at line 547 of file nand.h.

int(* dev_ready)(struct mtd_info *mtd)

Definition at line 507 of file nand.h.

Definition at line 550 of file nand.h.

struct nand_ecclayout* ecclayout

Definition at line 548 of file nand.h.

void(* erase_cmd)(struct mtd_info *mtd, int page)

Definition at line 511 of file nand.h.

int(* errstat)(struct mtd_info *mtd, struct nand_chip *this, int state, int status, int page)

Definition at line 513 of file nand.h.

Definition at line 552 of file nand.h.

int(* init_size)(struct mtd_info *mtd, struct nand_chip *this, u8 *id_data)

Definition at line 505 of file nand.h.

void __iomem* IO_ADDR_R

Definition at line 494 of file nand.h.

void __iomem* IO_ADDR_W

Definition at line 495 of file nand.h.

int numchips

Definition at line 531 of file nand.h.

int(* onfi_get_features)(struct mtd_info *mtd, struct nand_chip *chip, int feature_addr, uint8_t *subfeature_para)

Definition at line 520 of file nand.h.

struct nand_onfi_params onfi_params

Definition at line 542 of file nand.h.

int(* onfi_set_features)(struct mtd_info *mtd, struct nand_chip *chip, int feature_addr, uint8_t *subfeature_para)

Definition at line 518 of file nand.h.

int onfi_version

Definition at line 541 of file nand.h.

uint8_t* oob_poi

Definition at line 546 of file nand.h.

unsigned int options

Definition at line 524 of file nand.h.

int page_shift

Definition at line 527 of file nand.h.

int pagebuf

Definition at line 534 of file nand.h.

unsigned int pagebuf_bitflips

Definition at line 535 of file nand.h.

int pagemask

Definition at line 533 of file nand.h.

int phys_erase_shift

Definition at line 528 of file nand.h.

Definition at line 560 of file nand.h.

void(* read_buf)(struct mtd_info *mtd, uint8_t *buf, int len)

Definition at line 500 of file nand.h.

uint8_t(* read_byte)(struct mtd_info *mtd)

Definition at line 497 of file nand.h.

u16(* read_word)(struct mtd_info *mtd)

Definition at line 498 of file nand.h.

int(* scan_bbt)(struct mtd_info *mtd)

Definition at line 512 of file nand.h.

void(* select_chip)(struct mtd_info *mtd, int chip)

Definition at line 501 of file nand.h.

Definition at line 544 of file nand.h.

int subpagesize

Definition at line 536 of file nand.h.

int(* waitfunc)(struct mtd_info *mtd, struct nand_chip *this)

Definition at line 510 of file nand.h.

void(* write_buf)(struct mtd_info *mtd, const uint8_t *buf, int len)

Definition at line 499 of file nand.h.

int(* write_page)(struct mtd_info *mtd, struct nand_chip *chip, const uint8_t *buf, int oob_required, int page, int cached, int raw)

Definition at line 515 of file nand.h.


The documentation for this struct was generated from the following file: