Mercurial > nand-ecoscentric
annotate packages/io/nand/current/cdl/nand.cdl @ 2948:f14749d39b9c
NAND: implement CYGSEM_IO_NAND_USE_BBT
| author | Ross Younger <wry@ecoscentric.com> |
|---|---|
| date | Wed, 28 Oct 2009 15:10:17 +0000 |
| parents | 32bcd454bda4 |
| children | b72667909323 |
| rev | line source |
|---|---|
|
2930
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
1 # ==================================================================== |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
2 # |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
3 # nand.cdl |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
4 # |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
5 # eCos NAND flash library |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
6 # |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
7 # ==================================================================== |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
8 # ####ECOSGPLCOPYRIGHTBEGIN#### |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
9 # ------------------------------------------- |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
10 # This file is part of eCos, the Embedded Configurable Operating System. |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
11 # Copyright (C) 2009 eCosCentric Limited. |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
12 # |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
13 # eCos is free software; you can redistribute it and/or modify it under |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
14 # the terms of the GNU General Public License as published by the Free |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
15 # Software Foundation; either version 2 or (at your option) any later |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
16 # version. |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
17 # |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
18 # eCos is distributed in the hope that it will be useful, but WITHOUT |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
19 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
20 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
21 # for more details. |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
22 # |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
23 # You should have received a copy of the GNU General Public License |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
24 # along with eCos; if not, write to the Free Software Foundation, Inc., |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
25 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
26 # |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
27 # As a special exception, if other files instantiate templates or use |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
28 # macros or inline functions from this file, or you compile this file |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
29 # and link it with other works to produce a work based on this file, |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
30 # this file does not by itself cause the resulting work to be covered by |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
31 # the GNU General Public License. However the source code for this file |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
32 # must still be made available in accordance with section (3) of the GNU |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
33 # General Public License v2. |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
34 # |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
35 # This exception does not invalidate any other reasons why a work based |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
36 # on this file might be covered by the GNU General Public License. |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
37 # ------------------------------------------- |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
38 # ####ECOSGPLCOPYRIGHTEND#### |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
39 # ==================================================================== |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
40 ######DESCRIPTIONBEGIN#### |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
41 # |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
42 # Author(s): wry |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
43 # Date: 2009-02-23 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
44 # |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
45 #####DESCRIPTIONEND#### |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
46 # |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
47 # ==================================================================== |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
48 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
49 cdl_package CYGPKG_IO_NAND { |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
50 display "NAND Flash access library" |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
51 parent CYGPKG_IO |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
52 include_dir cyg/nand |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
53 doc ref/nand.html |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
54 description " |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
55 This package provides support for NAND flash devices. It provides |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
56 both an application and a device interface. Further |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
57 platform-specific package(s) are required to implement drivers for |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
58 the particular devices present." |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
59 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
60 requires CYGINT_ISO_ERRNO_CODES |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
61 requires CYGPKG_ISOINFRA |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
62 requires CYGPKG_LIBC_STRING |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
63 requires CYGINT_ISO_STRING_MEMFUNCS |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
64 requires CYGPKG_LIBC_STDLIB |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
65 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
66 compile nand.c nand_bbt.c nand_ecc_mtd.c nand_oob.c util.c |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
67 compile -library=libextras.a nandinit.cxx |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
68 |
|
2944
32bcd454bda4
Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents:
2937
diff
changeset
|
69 cdl_option CYGSEM_IO_NAND_INTERFACE_VERSION { |
|
32bcd454bda4
Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents:
2937
diff
changeset
|
70 display "NAND device interface version" |
|
32bcd454bda4
Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents:
2937
diff
changeset
|
71 flavor data |
|
32bcd454bda4
Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents:
2937
diff
changeset
|
72 calculated 2 |
|
32bcd454bda4
Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents:
2937
diff
changeset
|
73 description "The current compatibility level provided by |
|
32bcd454bda4
Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents:
2937
diff
changeset
|
74 the NAND layer. As the NAND device interface evolves, this |
|
32bcd454bda4
Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents:
2937
diff
changeset
|
75 version number will be incremented; devices may require |
|
32bcd454bda4
Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents:
2937
diff
changeset
|
76 that the infrastructure provide a certain level in order |
|
32bcd454bda4
Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents:
2937
diff
changeset
|
77 to function correctly." |
|
32bcd454bda4
Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents:
2937
diff
changeset
|
78 } |
|
32bcd454bda4
Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents:
2937
diff
changeset
|
79 |
|
2930
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
80 cdl_component CYGPKG_IO_NAND_OPTIONS { |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
81 display "NAND library build options" |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
82 flavor none |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
83 description " |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
84 Package specific build options including control over |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
85 compiler flags used only in building the NAND library |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
86 flash driver." |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
87 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
88 cdl_option CYGPKG_IO_NAND_CFLAGS_ADD { |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
89 display "Additional compiler flags" |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
90 flavor data |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
91 no_define |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
92 default_value { "-Werror" } |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
93 description " |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
94 This option modifies the set of compiler flags for |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
95 building the NAND flash library. These flags |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
96 are used in addition to the set of global flags." |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
97 } |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
98 cdl_option CYGPKG_IO_NAND_CFLAGS_REMOVE { |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
99 display "Suppressed compiler flags" |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
100 flavor data |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
101 no_define |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
102 default_value { "" } |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
103 description " |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
104 This option modifies the set of compiler flags for |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
105 building the NAND flash library. These flags |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
106 are removed from the set of global flags if present." |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
107 } |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
108 } |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
109 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
110 cdl_interface CYGHWR_IO_NAND_DEVICE { |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
111 display "Hardware NAND device drivers" |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
112 requires { CYGHWR_IO_NAND_DEVICE >= 1 } |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
113 description " |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
114 This calculated option shows the number of NAND devices on |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
115 the current platform. The generic NAND support is disabled |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
116 unless at least one device is present." |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
117 } |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
118 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
119 cdl_component CYGSEM_IO_NAND_DEBUG { |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
120 display "NAND debug output" |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
121 default_value 1 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
122 description " |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
123 The NAND library has the ability to report debugging information |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
124 by sending it to a printf-like function. |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
125 This option is the master switch for all such output. |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
126 " |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
127 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
128 cdl_option CYGSEM_IO_NAND_DEBUG_FN_DEFAULT { |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
129 display "Global output function" |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
130 flavor data |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
131 default_value { "cyg_nand_defaultprintf" } |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
132 description " |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
133 This is the default function to use to send debugging output |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
134 from the NAND library. |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
135 (It may be overridden by individual device drivers.) |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
136 The default value is a wrapper to diag_printf. |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
137 " |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
138 } |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
139 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
140 cdl_option CYGSEM_IO_NAND_DEBUG_LEVEL { |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
141 display "Debug chatter level" |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
142 flavor data |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
143 legal_values 0 to 9 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
144 default_value 1 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
145 description " |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
146 This option configures the degree to which the NAND code will |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
147 print status messages as various operations are undertaken. |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
148 Setting it to zero disables the status chatter altogether. |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
149 Messages, when enabled, are printed using the printf-like |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
150 function provided when the library is initialised. |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
151 (Note that serious problems are always reported via |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
152 the output function, regardless of this setting.)" |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
153 compile nand_chatter.c |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
154 } |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
155 } |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
156 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
157 cdl_option CYGSEM_IO_NAND_READONLY { |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
158 display "NAND layer is read-only" |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
159 flavor bool |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
160 default_value 0 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
161 description " |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
162 Selecting this option will globally disable all code which |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
163 writes to NAND devices." |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
164 } |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
165 |
|
2948
f14749d39b9c
NAND: implement CYGSEM_IO_NAND_USE_BBT
Ross Younger <wry@ecoscentric.com>
parents:
2944
diff
changeset
|
166 cdl_option CYGSEM_IO_NAND_USE_BBT { |
|
f14749d39b9c
NAND: implement CYGSEM_IO_NAND_USE_BBT
Ross Younger <wry@ecoscentric.com>
parents:
2944
diff
changeset
|
167 display "NAND layer uses bad-block tables" |
|
f14749d39b9c
NAND: implement CYGSEM_IO_NAND_USE_BBT
Ross Younger <wry@ecoscentric.com>
parents:
2944
diff
changeset
|
168 flavor bool |
|
f14749d39b9c
NAND: implement CYGSEM_IO_NAND_USE_BBT
Ross Younger <wry@ecoscentric.com>
parents:
2944
diff
changeset
|
169 default_value 1 |
|
f14749d39b9c
NAND: implement CYGSEM_IO_NAND_USE_BBT
Ross Younger <wry@ecoscentric.com>
parents:
2944
diff
changeset
|
170 description " |
|
f14749d39b9c
NAND: implement CYGSEM_IO_NAND_USE_BBT
Ross Younger <wry@ecoscentric.com>
parents:
2944
diff
changeset
|
171 Select this option to instruct the NAND library to use |
|
f14749d39b9c
NAND: implement CYGSEM_IO_NAND_USE_BBT
Ross Younger <wry@ecoscentric.com>
parents:
2944
diff
changeset
|
172 a Bad Block Table to keep track of blocks marked bad |
|
f14749d39b9c
NAND: implement CYGSEM_IO_NAND_USE_BBT
Ross Younger <wry@ecoscentric.com>
parents:
2944
diff
changeset
|
173 at the factory and any bad blocks which may develop during |
|
f14749d39b9c
NAND: implement CYGSEM_IO_NAND_USE_BBT
Ross Younger <wry@ecoscentric.com>
parents:
2944
diff
changeset
|
174 the life of the device. This is strongly recommended." |
|
f14749d39b9c
NAND: implement CYGSEM_IO_NAND_USE_BBT
Ross Younger <wry@ecoscentric.com>
parents:
2944
diff
changeset
|
175 } |
|
f14749d39b9c
NAND: implement CYGSEM_IO_NAND_USE_BBT
Ross Younger <wry@ecoscentric.com>
parents:
2944
diff
changeset
|
176 |
|
2930
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
177 cdl_option CYGNUM_NAND_PAGEBUFFER { |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
178 display "Largest page size to support" |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
179 flavor data |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
180 default_value 0 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
181 description " |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
182 This package requires a certain amount of RAM to use as a |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
183 page buffer from time to time. This value is the |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
184 size of that buffer. You should not normally require to |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
185 edit this; it is affected by whichever NAND chip driver |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
186 packages are present." |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
187 } |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
188 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
189 cdl_option CYGNUM_NAND_MAX_READ_RETRIES { |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
190 display "Automatic read retry limit" |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
191 flavor data |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
192 default_value 2 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
193 description " |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
194 Typical NAND chips may exhibit occasional bit errors, |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
195 which may be transient. This library implements |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
196 an Error Correcting Code in order to detect and |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
197 automatically repair these. If you are unlucky, |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
198 a combination of errors may cause an indication of |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
199 an uncorrectable error, which would normally be returned to |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
200 the caller as EIO. This setting causes the library |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
201 to automatically retry a read, up to this many times, |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
202 in the hope that the error is transient; |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
203 set to 0 if you wish to disable this behaviour." |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
204 } |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
205 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
206 cdl_option CYGNUM_NAND_MAX_PARTITIONS { |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
207 display "Maximum number of partitions on a NAND chip" |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
208 flavor data |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
209 default_value 4 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
210 legal_values 1 to 0x7fffffff |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
211 description " |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
212 Within every NAND device there are one or more logical partitions, |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
213 akin to partitions on a hard drive. This setting is the |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
214 largest number of partitions that the NAND library and |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
215 drivers will support. The default, 4, should be enough for |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
216 most purposes. (Higher settings consume more RAM at runtime.) |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
217 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
218 N.B. This setting does not configure how partitions are defined; |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
219 that is set up in the platform HAL." |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
220 } |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
221 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
222 # We do not currently provide CDL options to switch the choice of |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
223 # ECC algorithm, OOB area layout and BBT semantics on and off. |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
224 # This could easily be added in future if there was a demand for it. |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
225 # Bear in mind that as well as conditioning the code in/out, each |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
226 # chip instance must select its own semantics individually (in case |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
227 # of multiple devices with different requirements), so there may |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
228 # well not be a need for a top-level switch. |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
229 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
230 cdl_option CYGPKG_IO_NAND_TESTS { |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
231 display "NAND library tests" |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
232 flavor data |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
233 no_define |
| 2937 | 234 calculated { "tests/nandunit tests/readlimits tests/readwrite tests/rwbenchmark" } |
|
2930
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
235 description " |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
236 This option specifies the set of tests for the NAND library." |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
237 } |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
238 |
|
6efd22c2e7b1
Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff
changeset
|
239 } |
