blob: 9148ac045b0d9433c7d0b4629cc2f5b5d287fd7c [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* linux/include/asm-arm/arch-s3c2410/nand.h
2 *
3 * (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 * Changelog:
13 * 23-Sep-2004 BJD Created file
14*/
15
16/* struct s3c2410_nand_set
17 *
18 * define an set of one or more nand chips registered with an unique mtd
19 *
20 * nr_chips = number of chips in this set
21 * nr_partitions = number of partitions pointed to be partitoons (or zero)
22 * name = name of set (optional)
23 * nr_map = map for low-layer logical to physical chip numbers (option)
24 * partitions = mtd partition list
25*/
26
27struct s3c2410_nand_set {
28 int nr_chips;
29 int nr_partitions;
30 char *name;
31 int *nr_map;
32 struct mtd_partition *partitions;
33};
34
35struct s3c2410_platform_nand {
36 /* timing information for controller, all times in nanoseconds */
37
38 int tacls; /* time for active CLE/ALE to nWE/nOE */
39 int twrph0; /* active time for nWE/nOE */
40 int twrph1; /* time for release CLE/ALE from nWE/nOE inactive */
41
42 int nr_sets;
43 struct s3c2410_nand_set *sets;
44
45 void (*select_chip)(struct s3c2410_nand_set *,
46 int chip);
47};
48