X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=Documentation%2FDocBook%2Fmtdnand.tmpl;h=8e145857fc9dad52ff39f90dcac17015b4851fd0;hb=5b6345be1b41db5e70f90c3559c3b40c8abcde8b;hp=6fbc41d98c1eb56a0779499ed6d9dd8ce45235f6;hpb=541010e4b8921cd781ff02ae68028501457045b6;p=~andy%2Flinux diff --git a/Documentation/DocBook/mtdnand.tmpl b/Documentation/DocBook/mtdnand.tmpl index 6fbc41d98c1..8e145857fc9 100644 --- a/Documentation/DocBook/mtdnand.tmpl +++ b/Documentation/DocBook/mtdnand.tmpl @@ -80,7 +80,7 @@ struct member has a short description which is marked with an [XXX] identifier. The following chapters explain the meaning of those identifiers. - + Function identifiers [XXX] The functions are marked with [XXX] identifiers in the short @@ -115,7 +115,7 @@ - + Struct member identifiers [XXX] The struct members are marked with [XXX] identifiers in the @@ -159,7 +159,7 @@ basic functions and fill out some really board dependent members in the nand chip description structure. - + Basic defines At least you have to provide a mtd structure and @@ -185,7 +185,7 @@ static struct nand_chip board_chip; static unsigned long baseaddr; - + Partition defines If you want to divide your device into partitions, then @@ -204,7 +204,7 @@ static struct mtd_partition partition_info[] = { }; - + Hardware control function The hardware control function provides access to the @@ -246,7 +246,7 @@ static void board_hwcontrol(struct mtd_info *mtd, int cmd) } - + Device ready function If the hardware interface has the ready busy pin of the NAND chip connected to a @@ -257,7 +257,7 @@ static void board_hwcontrol(struct mtd_info *mtd, int cmd) the function must not be defined and the function pointer this->dev_ready is set to NULL. - + Init function The init function allocates memory and sets up all the board @@ -282,7 +282,7 @@ int __init board_init (void) goto out; } - /* map physical adress */ + /* map physical address */ baseaddr = (unsigned long)ioremap(CHIP_PHYSICAL_ADDRESS, 1024); if(!baseaddr){ printk("Ioremap to access NAND chip failed\n"); @@ -306,7 +306,7 @@ int __init board_init (void) this->dev_ready = board_dev_ready; this->eccmode = NAND_ECC_SOFT; - /* Scan to find existance of the device */ + /* Scan to find existence of the device */ if (nand_scan (board_mtd, 1)) { err = -ENXIO; goto out_ior; @@ -325,7 +325,7 @@ out: module_init(board_init); - + Exit function The exit function is only neccecary if the driver is @@ -340,7 +340,7 @@ static void __exit board_cleanup (void) /* Release resources, unregister device */ nand_release (board_mtd); - /* unmap physical adress */ + /* unmap physical address */ iounmap((void *)baseaddr); /* Free the MTD device structure */ @@ -359,7 +359,7 @@ module_exit(board_cleanup); driver. For a list of functions which can be overridden by the board driver see the documentation of the nand_chip structure. - + Multiple chip control The nand driver can control chip arrays. Therefor the @@ -419,9 +419,9 @@ static void board_select_chip (struct mtd_info *mtd, int chip) } - + Hardware ECC support - + Functions and constants The nand driver supports three different types of @@ -475,7 +475,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip) - + Hardware ECC with syndrome calculation Many hardware ECC implementations provide Reed-Solomon @@ -500,7 +500,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip) - + Bad block table support Most NAND chips mark the bad blocks at a defined @@ -552,7 +552,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip) allows faster access than always checking the bad block information on the flash chip itself. - + Flash based tables It may be desired or neccecary to keep a bad block table in FLASH. @@ -587,7 +587,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip) - + User defined tables User defined tables are created by filling out a @@ -676,7 +676,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip) - + Spare area (auto)placement The nand driver implements different possibilities for @@ -730,7 +730,7 @@ struct nand_oobinfo { - + Placement defined by fs driver The calling function provides a pointer to a nand_oobinfo @@ -760,7 +760,7 @@ struct nand_oobinfo { done according to the given scheme in the nand_oobinfo structure. - + Automatic placement Automatic placement uses the built in defaults to place the @@ -774,7 +774,7 @@ struct nand_oobinfo { done according to the default builtin scheme. - + User space placement selection All non ecc functions like mtd->read and mtd->write use an internal @@ -789,9 +789,9 @@ struct nand_oobinfo { - + Spare area autoplacement default schemes - + 256 byte pagesize @@ -843,7 +843,7 @@ pages this byte is reserved - + 512 byte pagesize @@ -906,7 +906,7 @@ in this page - + 2048 byte pagesize @@ -1126,9 +1126,9 @@ in this page This chapter describes the constants which might be relevant for a driver developer. - + Chip option constants - + Constants for chip id table These constants are defined in nand.h. They are ored together to describe @@ -1153,7 +1153,7 @@ in this page - + Constants for runtime options These constants are defined in nand.h. They are ored together to describe @@ -1171,7 +1171,7 @@ in this page - + ECC selection constants Use these constants to select the ECC algorithm. @@ -1192,7 +1192,7 @@ in this page - + Hardware control related constants These constants describe the requested hardware access function when @@ -1218,7 +1218,7 @@ in this page - + Bad block table related constants These constants describe the options used for bad block