annotate packages/io/flash/current/cdl/io_flash.cdl @ 3292:7f8e529b4d82 default tip

Fix FREESCALE_EDMA_NBYTES_MLOFFYES_MLOFF() so it works with negative offsets.
author vae
date Wed, 29 Apr 2015 23:31:48 +0000
parents f5ae5af1e5f8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
115
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
1 # ====================================================================
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
2 #
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
3 # io_flash.cdl
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
4 #
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
5 # eCos IO configuration data
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
6 #
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
7 # ====================================================================
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
8 ## ####ECOSGPLCOPYRIGHTBEGIN####
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
9 ## -------------------------------------------
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
10 ## This file is part of eCos, the Embedded Configurable Operating System.
2933
0cdf7781a5ab * src/flashiodevlegacy.c: Specify flash block device lengths correctly
jld
parents: 2796
diff changeset
11 ## Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2009, 2010 Free Software Foundation, Inc.
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
12 ##
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
13 ## eCos is free software; you can redistribute it and/or modify it under
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
14 ## the terms of the GNU General Public License as published by the Free
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
15 ## Software Foundation; either version 2 or (at your option) any later
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
16 ## version.
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
17 ##
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
18 ## eCos is distributed in the hope that it will be useful, but WITHOUT
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
19 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
20 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
21 ## for more details.
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
22 ##
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
23 ## You should have received a copy of the GNU General Public License
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
24 ## along with eCos; if not, write to the Free Software Foundation, Inc.,
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
25 ## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
26 ##
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
27 ## As a special exception, if other files instantiate templates or use
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
28 ## macros or inline functions from this file, or you compile this file
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
29 ## and link it with other works to produce a work based on this file,
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
30 ## this file does not by itself cause the resulting work to be covered by
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
31 ## the GNU General Public License. However the source code for this file
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
32 ## must still be made available in accordance with section (3) of the GNU
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
33 ## General Public License v2.
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
34 ##
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
35 ## This exception does not invalidate any other reasons why a work based
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
36 ## on this file might be covered by the GNU General Public License.
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
37 ## -------------------------------------------
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2626
diff changeset
38 ## ####ECOSGPLCOPYRIGHTEND####
115
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
39 # ====================================================================
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
40 ######DESCRIPTIONBEGIN####
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
41 #
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
42 # Author(s): gthomas
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
43 # Original data: gthomas
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
44 # Contributors: woehler, bartv
115
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
45 # Date: 2000-07-06
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
46 #
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
47 #####DESCRIPTIONEND####
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
48 #
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
49 # ====================================================================
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
50
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
51 cdl_package CYGPKG_IO_FLASH {
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
52 display "FLASH device drivers"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
53 include_dir cyg/io
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
54 doc ref/io-flash.html
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
55 description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
56 This package provides support for the flash devices on the
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
57 current platform."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
58 requires CYGPKG_ISOINFRA
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
59 requires CYGINT_ISO_STRING_STRFUNCS
115
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
60
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
61 compile flash.c
115
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
62
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
63 cdl_interface CYGHWR_IO_FLASH_DEVICE {
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
64 display "Hardware FLASH device drivers"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
65 requires { CYGHWR_IO_FLASH_DEVICE >= 1 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
66 description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
67 This calculated option gives the number of flash devices
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
68 on the current platform. The generic flash support requires
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
69 at least one device."
154
e2d866e32dac Merge from eCos master repository on 2001-02-26-23:18:05-GMT
jlarmour
parents: 119
diff changeset
70 }
e2d866e32dac Merge from eCos master repository on 2001-02-26-23:18:05-GMT
jlarmour
parents: 119
diff changeset
71
119
77cec8369160 Merge from eCos master repository on 2000-09-01-07:47:03-BST
jlarmour
parents: 115
diff changeset
72 cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
73 display "Hardware can support block locking"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
74 flavor booldata
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
75 description "
119
77cec8369160 Merge from eCos master repository on 2000-09-01-07:47:03-BST
jlarmour
parents: 115
diff changeset
76 This option will be enabled by devices which can support
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
77 locking (write-protection) of individual flash blocks. If
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
78 none of the devices support locking then the relevant code
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
79 in the generic flash package can be eliminated."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
80 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
81
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
82 cdl_interface CYGHWR_IO_FLASH_INDIRECT_READS {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
83 display "Hardware requires indirect reads"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
84 flavor booldata
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
85 description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
86 Some flash devices can be read directly like any other
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
87 memory. Others can only be accessed indirectly, which
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
88 involves extra code. If none of the flash devices on the
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
89 target hardware use indirect reads then the extra code
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
90 can be eliminated."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
91 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
92
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
93 cdl_interface CYGHWR_IO_FLASH_DEVICE_NEEDS_CACHE_HANDLED {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
94 display "Device driver needs cache handled centrally"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
95 flavor booldata
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
96 description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
97 Managing flash often requires interacting with the cache.
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
98 Some device drivers do not require the generic flash code to
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
99 manipulate the cache, either because they do it themselves or
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
100 because the hardware does the right thing. Other drivers
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
101 require the generic code to disable/enable the cache before
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
102 calling into the driver."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
103 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
104
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
105 cdl_interface CYGHWR_IO_FLASH_DEVICE_LEGACY {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
106 display "Hardware driver uses the legacy interface"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
107 flavor booldata
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
108 compile -library=libextras.a legacy_dev.c
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
109 description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
110 The generic flash code can work with either a legacy device
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
111 driver or with V2 drivers. If a legacy driver is used on the
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
112 current platform then this option will be implemented."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
113 requires { CYGHWR_IO_FLASH_DEVICE_LEGACY <= 1 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
114
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
115 # For now assume all legacy devices need the cache handled by
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
116 # the central code
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
117 implements CYGHWR_IO_FLASH_DEVICE_NEEDS_CACHE_HANDLED
119
77cec8369160 Merge from eCos master repository on 2000-09-01-07:47:03-BST
jlarmour
parents: 115
diff changeset
118 }
172
cd45958b28ff Merge from eCos master repository on 2001-07-20-10:24:43-BST
jlarmour
parents: 160
diff changeset
119
1223
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
120 cdl_option CYGSEM_IO_FLASH_READ_INDIRECT {
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
121 display "Legacy device driver uses indirect reads."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
122 active_if CYGHWR_IO_FLASH_DEVICE_LEGACY
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
123 flavor bool
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
124 default_value 0
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
125 requires { !CYGSEM_IO_FLASH_VERIFY_PROGRAM }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
126 description "
1223
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
127 This option will be asserted by devices which cannot support
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
128 direct access to the FLASH memory contents (e.g. EEPROM or NAND
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
129 devices). In these cases, the driver must provide an appropriate
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
130 hardware access function."
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
131 }
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
132
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
133 cdl_option CYGSEM_IO_FLASH_CHATTER {
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
134 display "Display status messages during flash operations"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
135 flavor bool
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
136 default_value 1
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
137 description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
138 Selecting this option will cause the flash code to print status
1223
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
139 messages as various flash operations are undertaken."
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
140 }
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
141
157
b65ec671dd4c Merge from eCos master repository on 2001-04-06-18:28:36-BST
jlarmour
parents: 154
diff changeset
142 cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
143 display "Verify data programmed to flash"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
144 flavor bool
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
145 default_value 1
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
146 active_if { CYGHWR_IO_FLASH_INDIRECT_READS < CYGHWR_IO_FLASH_DEVICE }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
147 description "
157
b65ec671dd4c Merge from eCos master repository on 2001-04-06-18:28:36-BST
jlarmour
parents: 154
diff changeset
148 Selecting this option will cause verification of data
b65ec671dd4c Merge from eCos master repository on 2001-04-06-18:28:36-BST
jlarmour
parents: 154
diff changeset
149 programmed to flash."
b65ec671dd4c Merge from eCos master repository on 2001-04-06-18:28:36-BST
jlarmour
parents: 154
diff changeset
150 }
1223
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
151
174
38892b97b685 Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents: 172
diff changeset
152 cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
38892b97b685 Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents: 172
diff changeset
153 display "Platform has flash soft DIP switch write-protect"
38892b97b685 Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents: 172
diff changeset
154 flavor bool
38892b97b685 Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents: 172
diff changeset
155 default_value 0
38892b97b685 Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents: 172
diff changeset
156 description "
38892b97b685 Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents: 172
diff changeset
157 Selecting this option will cause the state of a hardware jumper or
38892b97b685 Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents: 172
diff changeset
158 dipswitch to be read by software to determine whether the flash is
38892b97b685 Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents: 172
diff changeset
159 write-protected or not."
38892b97b685 Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents: 172
diff changeset
160 }
1223
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
161
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 191
diff changeset
162 cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
163 display "Provide /dev block devices"
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 191
diff changeset
164 flavor bool
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 191
diff changeset
165 active_if CYGPKG_IO
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 191
diff changeset
166 default_value 0
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 191
diff changeset
167 compile -library=libextras.a flashiodev.c
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
168 requires { CYGINT_IO_FLASH_BLOCK_DEVICE_METHODS > 0}
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 191
diff changeset
169 description "
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
170 Provide one or more block devices below /dev which can be
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
171 accessed using standard I/O functions such as eCos cyg_io_read()
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
172 and POSIX open()."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
173
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
174 cdl_interface CYGINT_IO_FLASH_BLOCK_DEVICE_METHODS {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
175 display "Number of methods to reference Flash"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
176 flavor bool
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
177 no_define
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
178 description "This interface counts the number of ways Flash can
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
179 be referenced in order to be opened. This is so that
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
180 the configuration can ensure that at least one method
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
181 is available."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
182 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
183
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
184 cdl_option CYGNUM_IO_FLASH_BLOCK_DEVICES {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
185 display "Number of /dev/flash/ device slots"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
186 flavor data
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
187 default_value 2
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
188 description "The number of simultaneously open flash devices
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
189 permitted. This is statically configured, rather than
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
190 dynamically allocated at run-time as it is likely the
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
191 number required will be small."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
192 }
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 191
diff changeset
193
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
194 cdl_option CYGFUN_IO_FLASH_BLOCK_FROM_FIS {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
195 display "Access using named FIS areas"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
196 requires CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
197 default_value CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
198 implements CYGINT_IO_FLASH_BLOCK_DEVICE_METHODS
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
199 description "This method of access to Flash regions uses the names
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
200 of FIS regions to identify the Flash device, or portion
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
201 of the device. For example /dev/flash/fis/jffs2."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
202 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
203 cdl_option CYGFUN_IO_FLASH_BLOCK_FROM_DEVOFFSET {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
204 display "Access using device numbers,offsets"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
205 default_value 1
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
206 implements CYGINT_IO_FLASH_BLOCK_DEVICE_METHODS
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
207 description "This method of access to Flash regions uses the Flash
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
208 device number, along with an offset (which may be
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
209 0 to indicate the start of the device) and an optional length
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
210 which will otherwise be assumed to be the whole device.
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
211 For example /dev/flash/0/0x1000 or
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
212 /dev/flash/1/0,65536."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
213 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
214 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
215
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
216 cdl_option CYGSEM_IO_FLASH_LEGACY_API {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
217 display "Provide the legacy user API"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
218 flavor bool
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
219 default_value 1
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
220 compile legacy_api.c
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
221 description "
2944
f5ae5af1e5f8 * cdl/io_flash.cdl: Fix display string for CYGSEM_IO_FLASH_LEGACY_API
sergeig
parents: 2943
diff changeset
222 Provide an implementation of the legacy user API. This is mapped
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
223 onto the new API via a small layer of code"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
224 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
225
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
226 cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE_LEGACY {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
227 display "Provide /dev block devices (legacy format)"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
228 flavor bool
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
229 active_if CYGPKG_IO
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
230 default_value 0
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
231 compile -library=libextras.a flashiodevlegacy.c
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
232 description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
233 Provide one or more block devices below /dev which can be
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
234 accessed using standard I/O functions such as eCos cyg_io_read()
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
235 and POSIX open(). This format of configuration is deprecated,
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
236 but is included for compatibility with older configurations."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
237
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
238 for { set ::dev 1 } { $::dev <= 2 } { incr ::dev } {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
239
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
240 cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE_$::dev {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
241 display "Provide block device $::dev"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
242 if { 1 == $::dev } {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
243 default_value 1
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
244 } else {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
245 default_value 0
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
246 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
247 description "Provide block device $::dev for use with standard I/O"
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 191
diff changeset
248
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
249 cdl_option CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_$::dev {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
250 display "Name of flash block device $::dev"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
251 flavor data
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
252 default_value "\"\\\"/dev/flash$::dev\\\"\""
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
253 description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
254 This option determines the name by which the block
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
255 device can be accessed."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
256 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
257
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
258 cdl_interface CYGINT_IO_FLASH_BLOCK_CFG_$::dev {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
259 requires 1 == CYGINT_IO_FLASH_BLOCK_CFG_$::dev
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
260 no_define
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
261 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
262
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
263 cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_$::dev {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
264 display "Static configuration via offset"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
265 default_value 1
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
266 implements CYGINT_IO_FLASH_BLOCK_CFG_$::dev
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
267 description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
268 This configures the flash block device $::dev
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
269 with static offset from the base of the first
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
270 flash device and length"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
271
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
272 cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_$::dev {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
273 display "Start offset from flash base"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
274 flavor data
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
275 default_value 0xFFFFFFFF
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
276 requires 0xFFFFFFFF != CYGNUM_IO_FLASH_BLOCK_OFFSET_$::dev
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
277 description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
278 This gives the offset from the base of flash
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
279 of the first flash device which this block device
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
280 corresponds to."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
281 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
282 cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_$::dev {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
283 display "Length"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
284 flavor data
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
285 default_value 0
2943
b8ec40e0124b * cdl/io_flash.cdl: Fix "requires" constraint on
sergeig
parents: 2933
diff changeset
286 requires 0 != CYGNUM_IO_FLASH_BLOCK_LENGTH_$::dev
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
287 description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
288 This gives the length of the region of flash given over
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
289 to this block device."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
290 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
291 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
292
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
293 cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_ABSOLUTE_$::dev {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
294 display "Static configuration via absolute address"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
295 default_value 0
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
296 implements CYGINT_IO_FLASH_BLOCK_CFG_$::dev
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
297 description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
298 This configures the flash block device $::dev
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
299 with absolute base address and a length"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
300
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
301 cdl_option CYGNUM_IO_FLASH_BLOCK_ABSOLUTE_START_$::dev {
2933
0cdf7781a5ab * src/flashiodevlegacy.c: Specify flash block device lengths correctly
jld
parents: 2796
diff changeset
302 display "Start absolute address"
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
303 flavor data
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
304 default_value 0xFFFFFFFF
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
305 requires 0xFFFFFFFF != CYGNUM_IO_FLASH_BLOCK_ABSOLUTE_START_$::dev
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
306 description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
307 This gives the absolute address in flash which this
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
308 block device corresponds to."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
309 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
310 cdl_option CYGNUM_IO_FLASH_BLOCK_ABSOLUTE_LENGTH_$::dev {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
311 display "Length"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
312 flavor data
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
313 default_value 0
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
314 requires 0 != CYGNUM_IO_FLASH_BLOCK_ABSOLUTE_LENGTH_$::dev
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
315 description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
316 This gives the length of the region of flash given over
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
317 to this block device."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
318 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
319 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
320
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
321 cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_FIS_$::dev {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
322 display "Configuration from FIS"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
323 default_value 0
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
324 implements CYGINT_IO_FLASH_BLOCK_CFG_$::dev
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
325 description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
326 This configures the flash block device $::dev
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
327 from Redboot FIS"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
328
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
329 cdl_component CYGDAT_IO_FLASH_BLOCK_FIS_NAME_$::dev {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
330 display "Name of FIS entry"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
331 flavor data
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
332 requires "\"\"" != CYGDAT_IO_FLASH_BLOCK_FIS_NAME_$::dev
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
333 if { 1 == $::dev } {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
334 default_value { "\"jffs2\"" }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
335 } elseif { 2 == $::dev } {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
336 default_value { "\"jffs2-2\"" }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
337 } else {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
338 default_value { "\"\"" }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
339 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
340 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
341 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
342 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
343 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
344 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
345
1730
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
346 cdl_component CYGPKG_IO_FLASH_OPTIONS {
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
347 display "Flash device driver build options"
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
348 flavor none
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
349 description "
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
350 Package specific build options including control over
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
351 compiler flags used only in building this package,
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
352 and details of which tests are built."
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
353
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
354
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
355 cdl_option CYGPKG_IO_FLASH_CFLAGS_ADD {
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
356 display "Additional compiler flags"
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
357 flavor data
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
358 no_define
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
359 default_value { "" }
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
360 description "
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
361 This option modifies the set of compiler flags for
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
362 building the flash device drivers. These flags are used in addition
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
363 to the set of global flags."
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
364 }
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
365
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
366 cdl_option CYGPKG_IO_FLASH_CFLAGS_REMOVE {
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
367 display "Suppressed compiler flags"
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
368 flavor data
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
369 no_define
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
370 default_value { "" }
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
371 description "
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
372 This option modifies the set of compiler flags for
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
373 building the flash device drivers. These flags are removed from
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
374 the set of global flags if present."
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
375 }
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
376
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
377 cdl_component CYGPKG_IO_FLASH_TESTS {
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
378 display "Flash device driver tests"
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
379 flavor data
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
380 no_define
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
381 # requires { CYGINT_IO_FLASH_TESTS_ADDR_METHOD == 1 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
382 calculated { (CYGSEM_IO_FLASH_LEGACY_API ? "tests/flash1" : "") .
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
383 (CYGPKG_IO_FLASH_BLOCK_DEVICE ? " tests/flashdev" : "") }
1730
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
384 description "
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
385 This option specifies the set of tests for the flash device drivers."
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
386
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
387 # cdl_interface CYGINT_IO_FLASH_TESTS_ADDR_METHOD {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
388 # display "Set single Flash access method"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
389 # }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
390 #
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
391 #
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
392 # cdl_option CYGTST_IO_FLASH_TESTS_ADDR_FIS {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
393 # display "Use \"flashtest\" FIS entry"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
394 # default_value CYGFUN_IO_FLASH_BLOCK_FROM_FIS
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
395 # implements CYGINT_IO_FLASH_TESTS_ADDR_METHOD
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
396 # requires CYGFUN_IO_FLASH_BLOCK_FROM_FIS
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
397 # requires !CYGTST_IO_FLASH_TESTS_ADDR_HARDCODE
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
398 # description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
399 # This option means that tests will use the Flash region
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
400 # identified by the \"flashtest\" FIS entry if it is found."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
401 # }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
402 #
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
403 # cdl_component CYGTST_IO_FLASH_TESTS_ADDR_HARDCODE {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
404 # display "Use hardcoded offset from Flash base"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
405 # default_value !CYGTST_IO_FLASH_TESTS_ADDR_FIS
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
406 # implements CYGINT_IO_FLASH_TESTS_ADDR_METHOD
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
407 # requires !CYGTST_IO_FLASH_TESTS_ADDR_FIS
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
408 # description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
409 # This option means that tests will use the flash region
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
410 # identified by the \"flashtest\" FIS entry if it is found."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
411 #
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
412 cdl_option CYGNUM_IO_FLASH_TEST_OFFSET {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
413 display "Start offset from flash base"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
414 flavor data
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
415 default_value 0x100000
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
416 description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
417 This gives the offset from the base of flash where tests
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
418 can be run. It is important to set this correctly, as an
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
419 incorrect value could allow the tests to write over critical
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
420 portions of the FLASH device and possibly render the target
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
421 board totally non-functional."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
422 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
423 cdl_option CYGNUM_IO_FLASH_TEST_LENGTH {
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
424 display "Length"
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
425 flavor data
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
426 default_value 0x100000
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
427 description "
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
428 This gives the length of the region of flash used for testing."
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
429 }
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
430 # }
1730
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
431 }
3175dbfa11a7 Add CDL for tests
gthomas
parents: 1674
diff changeset
432 }
115
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
433 }
2626
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
434
a2f5434df2cb Merge flashv2 branch to trunk, with eCosCentric additions
jlarmour
parents: 1730
diff changeset
435 # EOF io_flash.cdl