annotate packages/io/flash/current/cdl/io_flash.cdl @ 1770:be052fe43d4d

Trivial tweaks to preceding checkin.
author jlarmour
date Wed, 27 Sep 2006 14:52:23 +0000
parents 8667859d61ab
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 # ====================================================================
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 191
diff changeset
8 #####ECOSGPLCOPYRIGHTBEGIN####
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
9 ## -------------------------------------------
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
10 ## This file is part of eCos, the Embedded Configurable Operating System.
1769
8667859d61ab * src/flash_legacy.h: Undef HAL_FLASH_CACHES_* macros if the HAL
jlarmour
parents: 1747
diff changeset
11 ## Copyright (C) 2004, 2006 eCosCentric Ltd
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
12 ## Copyright (C) 2004 Andrew Lunn
1223
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
13 ## Copyright (C) 2003 Gary Thomas
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
14 ## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
15 ##
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
16 ## eCos is free software; you can redistribute it and/or modify it under
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
17 ## the terms of the GNU General Public License as published by the Free
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
18 ## Software Foundation; either version 2 or (at your option) any later version.
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
19 ##
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
20 ## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
21 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
22 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
23 ## for more details.
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
24 ##
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
25 ## You should have received a copy of the GNU General Public License along
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
26 ## with eCos; if not, write to the Free Software Foundation, Inc.,
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
27 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
28 ##
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
29 ## As a special exception, if other files instantiate templates or use macros
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
30 ## or inline functions from this file, or you compile this file and link it
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
31 ## with other works to produce a work based on this file, this file does not
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
32 ## by itself cause the resulting work to be covered by the GNU General Public
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
33 ## License. However the source code for this file must still be made available
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
34 ## in accordance with section (3) of the GNU General Public License.
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
35 ##
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
36 ## This exception does not invalidate any other reasons why a work based on
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
37 ## this file might be covered by the GNU General Public License.
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
38 ##
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
39 ## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
40 ## at http://sources.redhat.com/ecos/ecos-license/
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
41 ## -------------------------------------------
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 191
diff changeset
42 #####ECOSGPLCOPYRIGHTEND####
115
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
43 # ====================================================================
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
44 ######DESCRIPTIONBEGIN####
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
45 #
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
46 # Author(s): gthomas
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
47 # Original data: gthomas
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
48 # Contributors: woehler, bartv
115
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
49 # Date: 2000-07-06
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 #####DESCRIPTIONEND####
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
52 #
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
53 # ====================================================================
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
54
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
55 cdl_package CYGPKG_IO_FLASH {
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
56 display "FLASH device drivers"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
57 include_dir cyg/io
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
58 doc ref/flash.html
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
59 description "
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
60 This package provides support for the flash devices on the
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
61 current platform."
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
62 requires CYGPKG_ISOINFRA
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
63 requires CYGINT_ISO_STRING_STRFUNCS
115
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
64
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
65 compile flash.c
115
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
66
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
diff changeset
67 cdl_interface CYGHWR_IO_FLASH_DEVICE {
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
68 display "Hardware FLASH device drivers"
1747
a221170fac3d Add an optimization for the common case of a single flash device
bartv
parents: 1745
diff changeset
69 requires { CYGHWR_IO_FLASH_DEVICE >= 1 }
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
70 description "
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
71 This calculated option gives the number of flash devices
1747
a221170fac3d Add an optimization for the common case of a single flash device
bartv
parents: 1745
diff changeset
72 on the current platform. The generic flash support requires
a221170fac3d Add an optimization for the common case of a single flash device
bartv
parents: 1745
diff changeset
73 at least one device."
154
e2d866e32dac Merge from eCos master repository on 2001-02-26-23:18:05-GMT
jlarmour
parents: 119
diff changeset
74 }
e2d866e32dac Merge from eCos master repository on 2001-02-26-23:18:05-GMT
jlarmour
parents: 119
diff changeset
75
119
77cec8369160 Merge from eCos master repository on 2000-09-01-07:47:03-BST
jlarmour
parents: 115
diff changeset
76 cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
77 display "Hardware can support block locking"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
78 flavor booldata
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
79 description "
119
77cec8369160 Merge from eCos master repository on 2000-09-01-07:47:03-BST
jlarmour
parents: 115
diff changeset
80 This option will be enabled by devices which can support
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
81 locking (write-protection) of individual flash blocks. If
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
82 none of the devices support locking then the relevant code
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
83 in the generic flash package can be eliminated."
119
77cec8369160 Merge from eCos master repository on 2000-09-01-07:47:03-BST
jlarmour
parents: 115
diff changeset
84 }
172
cd45958b28ff Merge from eCos master repository on 2001-07-20-10:24:43-BST
jlarmour
parents: 160
diff changeset
85
1742
a668b95e5f2e Only include the support for indirect flash reads if there are devices
bartv
parents: 1706
diff changeset
86 cdl_interface CYGHWR_IO_FLASH_INDIRECT_READS {
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
87 display "Hardware requires indirect reads"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
88 flavor booldata
1742
a668b95e5f2e Only include the support for indirect flash reads if there are devices
bartv
parents: 1706
diff changeset
89 description "
a668b95e5f2e Only include the support for indirect flash reads if there are devices
bartv
parents: 1706
diff changeset
90 Some flash devices can be read directly like any other
a668b95e5f2e Only include the support for indirect flash reads if there are devices
bartv
parents: 1706
diff changeset
91 memory. Others can only be accessed indirectly, which
a668b95e5f2e Only include the support for indirect flash reads if there are devices
bartv
parents: 1706
diff changeset
92 involves extra code. If none of the flash devices on the
a668b95e5f2e Only include the support for indirect flash reads if there are devices
bartv
parents: 1706
diff changeset
93 target hardware use indirect reads then the extra code
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
94 can be eliminated."
1742
a668b95e5f2e Only include the support for indirect flash reads if there are devices
bartv
parents: 1706
diff changeset
95 }
a668b95e5f2e Only include the support for indirect flash reads if there are devices
bartv
parents: 1706
diff changeset
96
1769
8667859d61ab * src/flash_legacy.h: Undef HAL_FLASH_CACHES_* macros if the HAL
jlarmour
parents: 1747
diff changeset
97 cdl_interface CYGHWR_IO_FLASH_DEVICE_NEEDS_CACHE_HANDLED {
8667859d61ab * src/flash_legacy.h: Undef HAL_FLASH_CACHES_* macros if the HAL
jlarmour
parents: 1747
diff changeset
98 display "Device driver needs cache handled centrally"
8667859d61ab * src/flash_legacy.h: Undef HAL_FLASH_CACHES_* macros if the HAL
jlarmour
parents: 1747
diff changeset
99 flavor booldata
8667859d61ab * src/flash_legacy.h: Undef HAL_FLASH_CACHES_* macros if the HAL
jlarmour
parents: 1747
diff changeset
100 description "
1770
be052fe43d4d Trivial tweaks to preceding checkin.
jlarmour
parents: 1769
diff changeset
101 Managing flash often requires interacting with the cache.
1769
8667859d61ab * src/flash_legacy.h: Undef HAL_FLASH_CACHES_* macros if the HAL
jlarmour
parents: 1747
diff changeset
102 Some device drivers do not require the generic flash code to
1770
be052fe43d4d Trivial tweaks to preceding checkin.
jlarmour
parents: 1769
diff changeset
103 manipulate the cache, either because they do it themselves or
1769
8667859d61ab * src/flash_legacy.h: Undef HAL_FLASH_CACHES_* macros if the HAL
jlarmour
parents: 1747
diff changeset
104 because the hardware does the right thing. Other drivers
1770
be052fe43d4d Trivial tweaks to preceding checkin.
jlarmour
parents: 1769
diff changeset
105 require the generic code to disable/enable the cache before
1769
8667859d61ab * src/flash_legacy.h: Undef HAL_FLASH_CACHES_* macros if the HAL
jlarmour
parents: 1747
diff changeset
106 calling into the driver."
8667859d61ab * src/flash_legacy.h: Undef HAL_FLASH_CACHES_* macros if the HAL
jlarmour
parents: 1747
diff changeset
107 }
8667859d61ab * src/flash_legacy.h: Undef HAL_FLASH_CACHES_* macros if the HAL
jlarmour
parents: 1747
diff changeset
108
1706
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
109 cdl_interface CYGHWR_IO_FLASH_DEVICE_LEGACY {
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
110 display "Hardware driver uses the legacy interface"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
111 flavor booldata
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
112 compile -library=libextras.a legacy_dev.c
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
113 description "
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
114 The generic flash code can work with either a legacy device
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
115 driver or with V2 drivers. If a legacy driver is used on the
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
116 current platform then this option will be implemented."
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
117 requires { CYGHWR_IO_FLASH_DEVICE_LEGACY <= 1 }
1769
8667859d61ab * src/flash_legacy.h: Undef HAL_FLASH_CACHES_* macros if the HAL
jlarmour
parents: 1747
diff changeset
118
1770
be052fe43d4d Trivial tweaks to preceding checkin.
jlarmour
parents: 1769
diff changeset
119 # For now assume all legacy devices need the cache handled by
be052fe43d4d Trivial tweaks to preceding checkin.
jlarmour
parents: 1769
diff changeset
120 # the central code
be052fe43d4d Trivial tweaks to preceding checkin.
jlarmour
parents: 1769
diff changeset
121 implements CYGHWR_IO_FLASH_DEVICE_NEEDS_CACHE_HANDLED
1706
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
122 }
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
123
1223
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
124 cdl_option CYGSEM_IO_FLASH_READ_INDIRECT {
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
125 display "Legacy device driver uses indirect reads."
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
126 active_if CYGHWR_IO_FLASH_DEVICE_LEGACY
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
127 flavor bool
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
128 default_value 0
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
129 requires { !CYGSEM_IO_FLASH_VERIFY_PROGRAM }
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
130 description "
1223
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
131 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
132 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
133 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
134 hardware access function."
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
135 }
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
136
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
137 cdl_option CYGSEM_IO_FLASH_CHATTER {
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
138 display "Display status messages during flash operations"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
139 flavor bool
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
140 default_value 1
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
141 description "
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
142 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
143 messages as various flash operations are undertaken."
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
144 }
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
145
157
b65ec671dd4c Merge from eCos master repository on 2001-04-06-18:28:36-BST
jlarmour
parents: 154
diff changeset
146 cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
147 display "Verify data programmed to flash"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
148 flavor bool
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
149 default_value 1
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
150 active_if { CYGHWR_IO_FLASH_INDIRECT_READS < CYGHWR_IO_FLASH_DEVICE }
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
151 description "
157
b65ec671dd4c Merge from eCos master repository on 2001-04-06-18:28:36-BST
jlarmour
parents: 154
diff changeset
152 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
153 programmed to flash."
b65ec671dd4c Merge from eCos master repository on 2001-04-06-18:28:36-BST
jlarmour
parents: 154
diff changeset
154 }
1223
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
155
174
38892b97b685 Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents: 172
diff changeset
156 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
157 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
158 flavor bool
38892b97b685 Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents: 172
diff changeset
159 default_value 0
38892b97b685 Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents: 172
diff changeset
160 description "
38892b97b685 Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents: 172
diff changeset
161 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
162 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
163 write-protected or not."
38892b97b685 Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents: 172
diff changeset
164 }
1223
dbcfe4e0dbd2 New platform - TAMS MOAB - and generic changes to support it
gthomas
parents: 791
diff changeset
165
1706
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
166 cdl_option CYGSEM_IO_FLASH_LEGACY_API {
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
167 display "Provide the legacy user API"
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
168 flavor bool
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
169 default_value 1
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
170 compile legacy_api.c
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
171 description "
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
172 Provide an implementation of the lagacy user API. This is mapped
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
173 onto the new API via a small layer of code"
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
174 }
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
175
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 191
diff changeset
176 cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
177 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
178 flavor bool
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 191
diff changeset
179 active_if CYGPKG_IO
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 191
diff changeset
180 default_value 0
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 191
diff changeset
181 compile -library=libextras.a flashiodev.c
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 191
diff changeset
182 description "
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
183 Provide one or more block devices below /dev which can be
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
184 accessed using standard I/O functions such as eCos cyg_io_read()
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
185 and POSIX open()."
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
186
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
187 for { set ::dev 1 } { $::dev <= 2 } { incr ::dev } {
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
188
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
189 cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE_$::dev {
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
190 display "Provide block device $::dev"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
191 if { 1 == $::dev } {
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
192 default_value 1
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
193 } else {
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
194 default_value 0
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
195 }
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
196 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
197
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
198 cdl_option CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_$::dev {
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
199 display "Name of flash block device $::dev"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
200 flavor data
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
201 default_value "\"\\\"/dev/flash$::dev\\\"\""
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
202 description "
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
203 This option determines the name by which the block
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
204 device can be accessed."
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
205 }
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
206
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
207 cdl_interface CYGINT_IO_FLASH_BLOCK_CFG_$::dev {
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
208 requires 1 == CYGINT_IO_FLASH_BLOCK_CFG_$::dev
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
209 no_define
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
210 }
1706
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
211
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
212 cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_$::dev {
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
213 display "Static configuration via offset"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
214 default_value 1
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
215 implements CYGINT_IO_FLASH_BLOCK_CFG_$::dev
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
216 description "
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
217 This configures the flash block device $::dev
1706
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
218 with static offset from the base of the first
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
219 flash device and length"
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
220
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
221 cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_$::dev {
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
222 display "Start offset from flash base"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
223 flavor data
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
224 default_value 0xFFFFFFFF
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
225 requires 0xFFFFFFFF != CYGNUM_IO_FLASH_BLOCK_OFFSET_$::dev
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
226 description "
1706
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
227 This gives the offset from the base of flash
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
228 of the first flash device which this block device
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
229 corresponds to."
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
230 }
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
231 cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_$::dev {
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
232 display "Length"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
233 flavor data
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
234 default_value 0
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
235 requires 0 != CYGNUM_IO_FLASH_BLOCK_OFFSET_$::dev
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
236 description "
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
237 This gives the length of the region of flash given over
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
238 to this block device."
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
239 }
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
240 }
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
241
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
242 cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_ABSOLUTE_$::dev {
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
243 display "Static configuration via absolute address"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
244 default_value 0
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
245 implements CYGINT_IO_FLASH_BLOCK_CFG_$::dev
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
246 description "
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
247 This configures the flash block device $::dev
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
248 with absolute base address and a length"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
249
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
250 cdl_option CYGNUM_IO_FLASH_BLOCK_ABSOLUTE_START_$::dev {
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
251 display "Start offset from flash base"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
252 flavor data
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
253 default_value 0xFFFFFFFF
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
254 requires 0xFFFFFFFF != CYGNUM_IO_FLASH_BLOCK_ABSOLUTE_START_$::dev
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
255 description "
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
256 This gives the absolute address in flash which this
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
257 block device corresponds to."
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
258 }
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
259 cdl_option CYGNUM_IO_FLASH_BLOCK_ABSOLUTE_LENGTH_$::dev {
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
260 display "Length"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
261 flavor data
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
262 default_value 0
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
263 requires 0 != CYGNUM_IO_FLASH_BLOCK_ABSOLUTE_LENGTH_$::dev
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
264 description "
1706
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
265 This gives the length of the region of flash given over
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
266 to this block device."
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
267 }
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
268 }
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
269
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
270 cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_FIS_$::dev {
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
271 display "Configuration from FIS"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
272 default_value 0
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
273 implements CYGINT_IO_FLASH_BLOCK_CFG_$::dev
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
274 description "
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
275 This configures the flash block device $::dev
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
276 from Redboot FIS"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
277
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
278 cdl_component CYGDAT_IO_FLASH_BLOCK_FIS_NAME_$::dev {
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
279 display "Name of FIS entry"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
280 flavor data
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
281 requires "\"\"" != CYGDAT_IO_FLASH_BLOCK_FIS_NAME_$::dev
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
282 if { 1 == $::dev } {
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
283 default_value { "\"jffs2\"" }
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
284 } elseif { 2 == $::dev } {
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
285 default_value { "\"jffs2-2\"" }
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
286 } else {
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
287 default_value { "\"\"" }
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
288 }
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
289 }
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
290 }
1706
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
291 }
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
292 }
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
293 }
1706
3845779eca10 * src/flash.c: Major rewrite to implement a new API
asl
parents: 1674
diff changeset
294
1745
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
295 # FIXME: remove in next release
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
296 cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
297 display "Hardware FLASH device drivers are not in RAM"
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
298 flavor booldata
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
299 description "
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
300 Use of this interface is deprecated.
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
301 Drivers should make sure that the functions are
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
302 linked to RAM by putting them in .2ram sections."
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
303 requires !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM
49e24a462730 Clean up flash configury
bartv
parents: 1742
diff changeset
304 }
1742
a668b95e5f2e Only include the support for indirect flash reads if there are devices
bartv
parents: 1706
diff changeset
305 }