1 # ====================================================================
5 # eCos IO configuration data
7 # ====================================================================
8 #####ECOSGPLCOPYRIGHTBEGIN####
9 ## -------------------------------------------
10 ## This file is part of eCos, the Embedded Configurable Operating System.
11 ## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
12 ## Copyright (C) 2003, 2004 Gary Thomas
14 ## eCos is free software; you can redistribute it and/or modify it under
15 ## the terms of the GNU General Public License as published by the Free
16 ## Software Foundation; either version 2 or (at your option) any later version.
18 ## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
19 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
23 ## You should have received a copy of the GNU General Public License along
24 ## with eCos; if not, write to the Free Software Foundation, Inc.,
25 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
27 ## As a special exception, if other files instantiate templates or use macros
28 ## or inline functions from this file, or you compile this file and link it
29 ## with other works to produce a work based on this file, this file does not
30 ## by itself cause the resulting work to be covered by the GNU General Public
31 ## License. However the source code for this file must still be made available
32 ## in accordance with section (3) of the GNU General Public License.
34 ## This exception does not invalidate any other reasons why a work based on
35 ## this file might be covered by the GNU General Public License.
37 ## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
38 ## at http://sources.redhat.com/ecos/ecos-license/
39 ## -------------------------------------------
40 #####ECOSGPLCOPYRIGHTEND####
41 # ====================================================================
42 ######DESCRIPTIONBEGIN####
45 # Original data: gthomas
46 # Contributors: woehler
49 #####DESCRIPTIONEND####
51 # ====================================================================
53 cdl_package CYGPKG_IO_FLASH {
54 display "FLASH device drivers"
58 This option enables drivers for basic I/O services on
60 requires CYGPKG_ISOINFRA
61 requires CYGINT_ISO_STRING_STRFUNCS
66 puts $::cdl_header "#include <pkgconf/system.h>"
67 puts $::cdl_header "#ifdef CYGDAT_IO_FLASH_DEVICE_HEADER"
68 puts $::cdl_header "# include CYGDAT_IO_FLASH_DEVICE_HEADER"
69 puts $::cdl_header "#endif "
72 cdl_interface CYGHWR_IO_FLASH_DEVICE {
73 display "Hardware FLASH device drivers"
75 This option enables the hardware device drivers
76 for the current platform."
79 cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
80 display "Hardware FLASH device drivers are not in RAM"
83 Use of this interface is deprecated.
84 Drivers should make sure that the functions are
85 linked to RAM by putting them in .2ram sections."
86 requires !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM
89 cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
90 display "Hardware can support block locking"
93 This option will be enabled by devices which can support
94 locking (write-protection) of individual blocks."
97 cdl_option CYGSEM_IO_FLASH_READ_INDIRECT {
98 display "Hardware cannot support direct access to FLASH memory"
101 requires { !CYGSEM_IO_FLASH_VERIFY_PROGRAM }
103 This option will be asserted by devices which cannot support
104 direct access to the FLASH memory contents (e.g. EEPROM or NAND
105 devices). In these cases, the driver must provide an appropriate
106 hardware access function."
109 cdl_option CYGSEM_IO_FLASH_CHATTER {
110 display "Display status messages during flash operations"
114 Selecting this option will cause the drivers to print status
115 messages as various flash operations are undertaken."
118 cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
119 display "Verify data programmed to flash"
123 Selecting this option will cause verification of data
124 programmed to flash."
127 cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
128 display "Platform has flash soft DIP switch write-protect"
132 Selecting this option will cause the state of a hardware jumper or
133 dipswitch to be read by software to determine whether the flash is
134 write-protected or not."
137 cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
138 display "Instantiate in I/O block device API"
142 compile -library=libextras.a flashiodev.c
144 Provides a block device accessible using the standard I/O
145 API ( cyg_io_read() etc. )"
147 cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
148 display "Name of flash device 1 block device"
150 default_value { "\"/dev/flash1\"" }
152 cdl_interface CYGINT_IO_FLASH_BLOCK_CFG_1 {
153 requires 1 == CYGINT_IO_FLASH_BLOCK_CFG_1
157 cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 {
158 display "Static configuration"
160 implements CYGINT_IO_FLASH_BLOCK_CFG_1
162 This configures the flash device 1 block device
163 with static base and length"
165 cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
166 display "Start offset from flash base"
168 default_value 0x100000
170 This gives the offset from the base of flash which this
171 block device corresponds to."
173 cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
176 default_value 0x100000
178 This gives the length of the region of flash given over
179 to this block device."
182 cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 {
183 display "Configuration from FIS"
185 implements CYGINT_IO_FLASH_BLOCK_CFG_1
187 This configures the flash device 1 block device
190 cdl_component CYGDAT_IO_FLASH_BLOCK_FIS_NAME_1 {
191 display "Name of FIS entry"
193 default_value { "\"jffs2\"" }
199 cdl_component CYGPKG_IO_FLASH_OPTIONS {
200 display "Flash device driver build options"
203 Package specific build options including control over
204 compiler flags used only in building this package,
205 and details of which tests are built."
208 cdl_option CYGPKG_IO_FLASH_CFLAGS_ADD {
209 display "Additional compiler flags"
214 This option modifies the set of compiler flags for
215 building the flash device drivers. These flags are used in addition
216 to the set of global flags."
219 cdl_option CYGPKG_IO_FLASH_CFLAGS_REMOVE {
220 display "Suppressed compiler flags"
225 This option modifies the set of compiler flags for
226 building the flash device drivers. These flags are removed from
227 the set of global flags if present."
230 cdl_component CYGPKG_IO_FLASH_TESTS {
231 display "Flash device driver tests"
234 calculated { "tests/flash1" }
236 This option specifies the set of tests for the flash device drivers."
238 cdl_option CYGNUM_IO_FLASH_TEST_OFFSET {
239 display "Start offset from flash base"
241 default_value 0x100000
243 This gives the offset from the base of flash where tests
244 can be run. It is important to set this correctly, as an
245 incorrect value could allow the tests to write over critical
246 portions of the FLASH device and possibly render the target
247 board totally non-functional."
249 cdl_option CYGNUM_IO_FLASH_TEST_LENGTH {
252 default_value 0x100000
254 This gives the length of the region of flash used for testing."