annotate packages/io/nand/current/cdl/nand.cdl @ 2944:32bcd454bda4

Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
author wry
date Fri, 09 Oct 2009 14:25:00 +0000
parents c3c708068a37
children f14749d39b9c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
166 cdl_option CYGNUM_NAND_PAGEBUFFER {
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
167 display "Largest page size to support"
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
168 flavor data
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
169 default_value 0
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
170 description "
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
171 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
172 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
173 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
174 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
175 packages are present."
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
176 }
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
177
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
178 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
179 display "Automatic read retry limit"
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
180 flavor data
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
181 default_value 2
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
182 description "
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
183 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
184 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
185 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
186 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
187 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
188 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
189 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
190 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
191 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
192 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
193 }
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
194
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
195 cdl_option CYGNUM_NAND_MAX_PARTITIONS {
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
196 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
197 flavor data
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
198 default_value 4
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
199 legal_values 1 to 0x7fffffff
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
200 description "
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
201 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
202 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
203 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
204 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
205 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
206
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
207 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
208 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
209 }
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
210
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
211 # 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
212 # 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
213 # 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
214 # 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
215 # 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
216 # 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
217 # 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
218
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
219 cdl_option CYGPKG_IO_NAND_TESTS {
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
220 display "NAND library tests"
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
221 flavor data
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
222 no_define
2937
c3c708068a37 move bbt and multipagebbt to synth nand
wry
parents: 2930
diff changeset
223 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
224 description "
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
225 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
226 }
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
227
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
228 }