Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /* arch/arm/mach-s3c2410/include/mach/nand.h
  2  *
  3  * Copyright (c) 2004 Simtec Electronics
  4  *      Ben Dooks <ben@simtec.co.uk>
  5  *
  6  * S3C2410 - NAND device controller platfrom_device info
  7  *
  8  * This program is free software; you can redistribute it and/or modify
  9  * it under the terms of the GNU General Public License version 2 as
 10  * published by the Free Software Foundation.
 11 */
 12 
 13 /**
 14  * struct s3c2410_nand_set - define a set of one or more nand chips
 15  * @disable_ecc:        Entirely disable ECC - Dangerous
 16  * @flash_bbt:          Openmoko u-boot can create a Bad Block Table
 17  *                      Setting this flag will allow the kernel to
 18  *                      look for it at boot time and also skip the NAND
 19  *                      scan.
 20  * @nr_chips:           Number of chips in this set
 21  * @nr_partitions:      Number of partitions pointed to by @partitions
 22  * @name:               Name of set (optional)
 23  * @nr_map:             Map for low-layer logical to physical chip numbers (option)
 24  * @partitions:         The mtd partition list
 25  *
 26  * define a set of one or more nand chips registered with an unique mtd. Also
 27  * allows to pass flag to the underlying NAND layer. 'disable_ecc' will trigger
 28  * a warning at boot time.
 29  */
 30 struct s3c2410_nand_set {
 31         unsigned int            disable_ecc:1;
 32         unsigned int            flash_bbt:1;
 33 
 34         int                     nr_chips;
 35         int                     nr_partitions;
 36         char                    *name;
 37         int                     *nr_map;
 38         struct mtd_partition    *partitions;
 39         struct nand_ecclayout   *ecc_layout;
 40 };
 41 
 42 struct s3c2410_platform_nand {
 43         /* timing information for controller, all times in nanoseconds */
 44 
 45         int     tacls;  /* time for active CLE/ALE to nWE/nOE */
 46         int     twrph0; /* active time for nWE/nOE */
 47         int     twrph1; /* time for release CLE/ALE from nWE/nOE inactive */
 48 
 49         unsigned int    ignore_unset_ecc:1;
 50 
 51         int                     nr_sets;
 52         struct s3c2410_nand_set *sets;
 53 
 54         void                    (*select_chip)(struct s3c2410_nand_set *,
 55                                                int chip);
 56 };
 57 
 58 
  This page was automatically generated by the LXR engine.