]> git.karo-electronics.de Git - karo-tx-redboot.git/blob - packages/io/flash/v2_0/cdl/io_flash.cdl
Initial revision
[karo-tx-redboot.git] / packages / io / flash / v2_0 / cdl / io_flash.cdl
1 # ====================================================================
2 #
3 #      io_flash.cdl
4 #
5 #      eCos IO configuration data
6 #
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
13 ##
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.
17 ##
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
21 ## for more details.
22 ##
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.
26 ##
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.
33 ##
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.
36 ##
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####
43 #
44 # Author(s):      gthomas
45 # Original data:  gthomas
46 # Contributors:   woehler
47 # Date:           2000-07-06
48 #
49 #####DESCRIPTIONEND####
50 #
51 # ====================================================================
52
53 cdl_package CYGPKG_IO_FLASH {
54     display       "FLASH device drivers"
55     include_dir   cyg/io
56     doc           ref/flash.html
57     description   "
58         This option enables drivers for basic I/O services on
59         flash devices."
60     requires CYGPKG_ISOINFRA
61     requires CYGINT_ISO_STRING_STRFUNCS
62
63     compile       flash.c
64  
65     define_proc {
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 "
70     }
71
72     cdl_interface CYGHWR_IO_FLASH_DEVICE {
73         display       "Hardware FLASH device drivers"
74         description   "
75             This option enables the hardware device drivers
76             for the current platform."
77     }
78
79     cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
80         display       "Hardware FLASH device drivers are not in RAM"
81         flavor        booldata
82         description   "
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
87     }
88
89     cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
90         display       "Hardware can support block locking"
91         flavor        booldata
92         description   "
93             This option will be enabled by devices which can support
94             locking (write-protection) of individual blocks."
95     }
96
97     cdl_option CYGSEM_IO_FLASH_READ_INDIRECT {
98         display       "Hardware cannot support direct access to FLASH memory"
99         flavor        bool
100         default_value 0
101         requires      { !CYGSEM_IO_FLASH_VERIFY_PROGRAM }
102         description   "
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."
107     }
108
109     cdl_option CYGSEM_IO_FLASH_CHATTER {
110         display          "Display status messages during flash operations"
111         flavor           bool
112         default_value    1
113         description      "
114            Selecting this option will cause the drivers to print status
115            messages as various flash operations are undertaken."
116     }
117
118     cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
119         display          "Verify data programmed to flash"
120         flavor           bool
121         default_value    1
122         description      "
123            Selecting this option will cause verification of data
124            programmed to flash."
125     }
126
127     cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
128         display          "Platform has flash soft DIP switch write-protect"
129         flavor           bool
130         default_value    0
131         description      "
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."
135     }
136
137     cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
138         display         "Instantiate in I/O block device API"
139         flavor          bool
140         active_if       CYGPKG_IO
141         default_value   0
142         compile         -library=libextras.a flashiodev.c
143         description     "
144                 Provides a block device accessible using the standard I/O
145                 API ( cyg_io_read() etc. )"
146
147         cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
148                         display       "Name of flash device 1 block device"
149             flavor        data
150             default_value { "\"/dev/flash1\"" }
151                 
152                         cdl_interface CYGINT_IO_FLASH_BLOCK_CFG_1 {
153                                 requires 1 == CYGINT_IO_FLASH_BLOCK_CFG_1
154                                 no_define
155                         }
156
157                         cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 {
158                                 display       "Static configuration"
159                                 default_value 1
160                                 implements    CYGINT_IO_FLASH_BLOCK_CFG_1
161                                 description   "
162                                         This configures the flash device 1 block device
163                                         with static base and length"
164                         
165                                 cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
166                                         display         "Start offset from flash base"
167                                         flavor          data
168                                         default_value   0x100000
169                                         description     "
170                                                 This gives the offset from the base of flash which this
171                                                 block device corresponds to."
172                                         }
173                                         cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
174                                         display         "Length"
175                                         flavor          data
176                                         default_value   0x100000
177                                         description     "
178                                                 This gives the length of the region of flash given over
179                                                 to this block device."
180                                         }
181                                 }
182                         cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 {
183                                 display       "Configuration from FIS"
184                                 default_value 0
185                                 implements    CYGINT_IO_FLASH_BLOCK_CFG_1
186                                 description   "
187                                         This configures the flash device 1 block device
188                                         from Redboot FIS"
189                                         
190                                 cdl_component CYGDAT_IO_FLASH_BLOCK_FIS_NAME_1 {
191                                         display       "Name of FIS entry"
192                                         flavor        data
193                                         default_value { "\"jffs2\"" }   
194                                 }
195             }        
196         }
197     }
198
199     cdl_component CYGPKG_IO_FLASH_OPTIONS {
200         display "Flash device driver build options"
201         flavor  none
202         description   "
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."
206
207
208         cdl_option CYGPKG_IO_FLASH_CFLAGS_ADD {
209             display "Additional compiler flags"
210             flavor  data
211             no_define
212             default_value { "" }
213             description   "
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."
217         }
218
219         cdl_option CYGPKG_IO_FLASH_CFLAGS_REMOVE {
220             display "Suppressed compiler flags"
221             flavor  data
222             no_define
223             default_value { "" }
224             description   "
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."
228         }
229
230         cdl_component CYGPKG_IO_FLASH_TESTS {
231             display "Flash device driver tests"
232             flavor  data
233             no_define
234             calculated { "tests/flash1" }
235             description   "
236                 This option specifies the set of tests for the flash device drivers."
237
238             cdl_option CYGNUM_IO_FLASH_TEST_OFFSET {
239                 display         "Start offset from flash base"
240                 flavor          data
241                 default_value   0x100000
242                 description     "
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."
248             }
249             cdl_option CYGNUM_IO_FLASH_TEST_LENGTH {
250                 display         "Length"
251                 flavor          data
252                 default_value   0x100000
253                 description     "
254                     This gives the length of the region of flash used for testing."
255             }
256         }
257     }
258 }