STRUCT PLATFORM_NAND(9) Structures STRUCT PLATFORM_NAND(9)NAME
struct_platform_nand_ctrl - controller level device structure
SYNOPSIS
struct platform_nand_ctrl {
int (* probe) (struct platform_device *pdev);
void (* remove) (struct platform_device *pdev);
void (* hwcontrol) (struct mtd_info *mtd, int cmd);
int (* dev_ready) (struct mtd_info *mtd);
void (* select_chip) (struct mtd_info *mtd, int chip);
void (* cmd_ctrl) (struct mtd_info *mtd, int dat, unsigned int ctrl);
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);
unsigned char (* read_byte) (struct mtd_info *mtd);
void * priv;
};
MEMBERS
probe
platform specific function to probe/setup hardware
remove
platform specific function to remove/teardown hardware
hwcontrol
platform specific hardware control structure
dev_ready
platform specific function to read ready/busy pin
select_chip
platform specific chip select function
cmd_ctrl
platform specific function for controlling ALE/CLE/nCE. Also used to write command and address
write_buf
platform specific function for write buffer
read_buf
platform specific function for read buffer
read_byte
platform specific function to read one byte from chip
priv
private data to transport driver specific settings
DESCRIPTION
All fields are optional and depend on the hardware driver requirements
AUTHOR
Thomas Gleixner <tglx@linutronix.de>
Author.
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 STRUCT PLATFORM_NAND(9)
Check Out this Related Man Page
STRUCT NAND_ECC_CTRL(9) Structures STRUCT NAND_ECC_CTRL(9)NAME
struct_nand_ecc_ctrl - Control structure for ecc
SYNOPSIS
struct nand_ecc_ctrl {
nand_ecc_modes_t mode;
int steps;
int size;
int bytes;
int total;
int prepad;
int postpad;
struct nand_ecclayout * layout;
void (* hwctl) (struct mtd_info *mtd, int mode);
int (* calculate) (struct mtd_info *mtd,const uint8_t *dat,uint8_t *ecc_code);
int (* correct) (struct mtd_info *mtd, uint8_t *dat,uint8_t *read_ecc,uint8_t *calc_ecc);
int (* read_page_raw) (struct mtd_info *mtd,struct nand_chip *chip,uint8_t *buf, int page);
void (* write_page_raw) (struct mtd_info *mtd,struct nand_chip *chip,const uint8_t *buf);
int (* read_page) (struct mtd_info *mtd,struct nand_chip *chip,uint8_t *buf, int page);
int (* read_subpage) (struct mtd_info *mtd,struct nand_chip *chip,uint32_t offs, uint32_t len,uint8_t *buf);
void (* write_page) (struct mtd_info *mtd,struct nand_chip *chip,const uint8_t *buf);
int (* read_oob) (struct mtd_info *mtd,struct nand_chip *chip,int page,int sndcmd);
int (* write_oob) (struct mtd_info *mtd,struct nand_chip *chip,int page);
};
MEMBERS
mode
ecc mode
steps
number of ecc steps per page
size
data bytes per ecc step
bytes
ecc bytes per step
total
total number of ecc bytes per page
prepad
padding information for syndrome based ecc generators
postpad
padding information for syndrome based ecc generators
layout
ECC layout control struct pointer
hwctl
function to control hardware ecc generator. Must only be provided if an hardware ECC is available
calculate
function for ecc calculation or readback from ecc hardware
correct
function for ecc correction, matching to ecc generator (sw/hw)
read_page_raw
function to read a raw page without ECC
write_page_raw
function to write a raw page without ECC
read_page
function to read a page according to the ecc generator requirements
read_subpage
function to read parts of the page covered by ECC.
write_page
function to write a page according to the ecc generator requirements
read_oob
function to read chip OOB data
write_oob
function to write chip OOB data
AUTHOR
Thomas Gleixner <tglx@linutronix.de>
Author.
COPYRIGHT Kernel Hackers Manual 2.6. July 2010 STRUCT NAND_ECC_CTRL(9)