1 2006-02-21 Oliver Munz <munz@speag.ch>
2 Andrew Lunn <andrew.lunn@ascom.ch>
4 * src/flash.c (flash_init): Allow repeat calls change the function
5 used for printing. There are times you don't want any output, eg you
6 are downloading am image over the serial port.
8 2005-08-02 Andrew Lunn <andrew.lunn@ascom.ch>
10 * tests/flash1.c (cyg_start): Compiler warning fixes.
12 2005-03-27 Andrew Lunn <andrew.lunn@ascom.ch>
14 * tests/flash1.c: Fixed compiler warning with diag_printf.
16 2004-09-05 Mark Salter <msalter@redhat.com>
18 * doc/flash.sgml: Fix unbalanced <PARA>s.
20 2004-08-24 Gary Thomas <gary@mlbassoc.com>
23 * tests/flash1.c: Add simple test of FLASH driver.
25 2004-06-20 Andrew Lunn <andrew.lunn@ascom.ch>
27 * src/flash.c (flash_read): Don't check if the flash is write
28 protected before performing a read.
30 * cdl/io_flash.cdl: Added documentation of the FLASH API
32 2004-04-29 Sebastien Couret <sebastien.couret@elios-informatique.com>
33 2004-04-29 Jonathan Larmour <jifl@eCosCentric.com>
35 * src/flashiodev.c: When checking flash upper bound, allow for end
36 of flash at 0xffffffff.
38 2003-11-27 David Woodhouse <dwmw2@infradead.org>
40 * src/flashiodev.c: Enable set_config() and implement
41 CYG_IO_SET_CONFIG_FLASH_FIS_NAME.
43 2003-11-25 Andrew Lunn <andrew.lunn@ascom.ch>
45 * src/flash.c: gcc 3.x vs gcc 2.x problems.
47 2003-11-24 Jani Monoses <jani@iv.ro>
50 * include/flash.h: Remove CYGNUM_FLASH_WORKSPACE_SIZE cdl option.
52 2003-11-24 Roland Caßebohm <roland.cassebohm@visionsystems.de>
54 * src/flashiodev.c (flashiodev_bwrite): Use flash_read rather than
55 directly doing a memcpy.
57 2003-11-20 Jani Monoses <jani@iv.ro>
61 * include/flash.h: Remove references to work_space and work_space_size
62 since they are no longer used.
64 2003-11-20 Jani Monoses <jani@iv.ro>
67 * src/flash.c: Remove handling of CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM
68 now that all flash drivers use ELF sections to specify which parts
71 2003-10-08 Roland Cassebohm <roland.cassebohm@visionsystems.de>
73 * src/flash.c: Fix parse error if CYGSEM_IO_FLASH_READ_INDIRECT
76 2003-09-19 Gary Thomas <gary@mlbassoc.com>
80 * cdl/io_flash.cdl: Add support for NAND (indirectly accessed)
81 devices. This includes a generic "flash_read_buf()" function.
83 2003-04-14 Jani Monoses <jani@iv.ro>
85 * include/flash_dev.h: Include <cyg/infra/cyg_type.h>
87 2003-03-19 Thomas Koeller <thomas.koeller@baslerweb.com>
89 * src/flashiodev.c: Fixed trivial error.
91 2003-03-03 Knud Woehler <knud.woehler@microplex.de>
94 * cdl/io_flash.cdl: Add CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 /
95 CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1. Initialize the block device
98 2003-02-24 Jonathan Larmour <jifl@eCosCentric.com>
100 * cdl/io_flash.cdl: Remove irrelevant doc link - default to top
103 2002-01-31 Jonathan Larmour <jlarmour@redhat.com>
105 * src/flashiodev.c: Fix bounds checking and offsetting.
107 * cdl/io_flash.cdl (CYGNUM_IO_FLASH_BLOCK_LENGTH_1): Default to
108 0x100000 for convenience.
110 2002-01-30 Jonathan Larmour <jlarmour@redhat.com>
112 * cdl/io_flash.cdl: Allow specification of an offset and length
113 of the region of flash.
114 * src/flashiodev.c: Use it.
116 2002-01-24 Jesper Skov <jskov@redhat.com>
118 * include/flash.h: Add a comment about the obvious: the flash
119 caching macros should be called with interrupts disabled.
121 2002-01-23 Jonathan Larmour <jlarmour@redhat.com>
123 * cdl/io_flash.cdl: Add CYGPKG_IO_FLASH_BLOCK_DEVICE and
124 CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 to allow exporting flash
125 as block devices accessible from file systems.
126 * src/fileiodev.c: New file implementing this.
127 * include/flash.h: Add typedefs for the various structures used
128 to configure the block devices.
130 2002-01-18 Paul Fine <pfine@delcomsys.com>
132 * src/flash.c : Modified flash_verify_addr, flash_erase,
133 flash_lock and flash_unlock to to work properly when the location
134 of the flash in the memory map is at the very top of the address
135 space. We check and handle values that may overflow.
137 2001-10-28 Gary Thomas <gthomas@redhat.com>
139 * src/flash.c (flash_erase): Don't call hardware layer if block
140 appears to be already erased [faster and less wear & tear].
142 2001-10-25 Jonathan Larmour <jlarmour@redhat.com>
144 * include/flash_dev.h: Fix test of 4x16-bit flash parts.
145 Spotted by Jose Pascual <josepascual@almudi.com>
147 2001-10-16 Jesper Skov <jskov@redhat.com>
149 * src/flash.c: Include string.h
151 * cdl/io_flash.cdl: Package requires ISOINFRA and string
154 2001-10-15 David Howells <dhowells@redhat.com>
156 * src/flash.c: Include string.h to get mem*() functions.
158 2001-09-25 Gary Thomas <gthomas@redhat.com>
160 * include/flash.h: Remove warning on printf() prototype.
162 2001-08-10 Jesper Skov <jskov@redhat.com>
164 * cdl/io_flash.cdl: Changed flavor of
165 CYGHWR_IO_FLASH_BLOCK_LOCKING to booldata.
166 * include/flash.h: Matching changes.
167 * src/flash.c: Matching changes.
169 2001-07-23 David Howells <dhowells@redhat.com>
171 * cdl/io_flash.cdl: Added software write protect option.
172 * include/flash.h: Ditto.
173 * src/flash.c: Added software write protect option and bank
174 support, and prevented low-level writes from being handed
175 cross-block data chunks.
177 2001-07-20 Gary Thomas <gthomas@redhat.com>
180 * cdl/io_flash.cdl: Name convention: CYGINT_FLASH_WORKSPACE_SIZE
181 renamed to be CYGNUM_FLASH_WORKSPACE_SIZE.
183 2001-07-19 Gary Thomas <gthomas@redhat.com>
186 * cdl/io_flash.cdl: New option CYGINT_FLASH_WORKSPACE_SIZE used
187 to control how much memory is reserved for use by FLASH drivers.
189 2001-06-19 Hugo Tyson <hmt@redhat.com>
191 * src/flash.c (flash_program): Only verify program with memcmp if
192 the status code suggests the programming went OK so far.
193 Otherwise all errors become verify errors.
195 (flash_init): Fix bug in removal of dependency of printf(). The
196 pointer was not initialized until after the call into the driver.
198 2001-06-11 Gary Thomas <gthomas@redhat.com>
201 * include/flash.h: Remove dependency on printf() via user functions.
203 2001-05-23 Jesper Skov <jskov@redhat.com>
205 * include/flash_dev.h (FLASH_P2V): Use CYG_ADDRWORD instead of int.
207 * src/flash.c: Copy functions to RAM iff
208 CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM defined.
210 * cdl/io_flash.cdl: Changed CYGHWR_IO_FLASH_DEVICE_IN_RAM to
211 CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM.
213 2001-05-21 Jonathan Larmour <jlarmour@redhat.com>
215 * include/flash_dev.h: Fix cyg_uin16 typo.
217 2001-03-29 Mark Salter <msalter@redhat.com>
219 * cdl/io_flash.cdl (CYGSEM_IO_FLASH_VERIFY_PROGRAM): New option
220 to control whether or not to perform extra verification of flash
222 * src/flash.c (flash_program): No verification unless
223 CYGSEM_IO_FLASH_VERIFY_PROGRAM defined.
225 2001-03-21 Gary Thomas <gthomas@redhat.com>
227 * src/flash.c (flash_program): Verify data after programming.
229 2001-03-21 Jesper Skov <jskov@redhat.com>
231 * include/flash.h: Added low voltage error message.
232 * src/flash.c: And its error message.
234 2001-03-17 Gary Thomas <gthomas@redhat.com>
236 * src/flash.c (flash_program):
237 * include/flash.h: Add support for [StrataFLASH] buffered writes.
238 This requires knowledge of the device write buffer size [saved].
240 2001-03-01 Gary Thomas <gthomas@redhat.com>
243 * include/flash.h: Allow platform to define pre/post routines
244 to enable/disable device access. These may be required, e.g.
245 to turn on some voltage, etc.
247 2001-02-23 Jesper Skov <jskov@redhat.com>
249 * include/flash.h: HAL_FLASH_CACHES_WANT_OPTIMAL replaced with
250 (opposite sense) HAL_FLASH_CACHES_OLD_MACROS.
252 * src/flash.c (__anonymizer): Use to force the compiler to use
253 jumps instead of branches.
255 2001-02-22 Jesper Skov <jskov@redhat.com>
257 * include/flash_dev.h: Added. Contains macros and definitions
258 common to all (new style) flash device drivers.
260 * include/flash.h: Added two new error codes.
261 * cdl/io_flash.cdl: Added CYGHWR_IO_FLASH_DEVICE_IN_RAM.
262 * src/flash.c: Made functions respect
263 CYGHWR_IO_FLASH_DEVICE_IN_RAM and jump directly to the code
264 instead of copying it around.
265 (__arm_broken): Work around problem with ARM tools.
267 2001-02-06 Hugo Tyson <hmt@redhat.com>
269 * src/flash.c (flash_erase): Add an additional argument to the
270 call into the driver, being the blocksize (as discovered). This
271 allows a gross check for actual erase in some drivers. Those that
272 don't use it, it's harmless - after all, this is an API by trust.
274 2000-12-06 Jesper Skov <jskov@redhat.com>
276 * src/flash.c (flash_dev_query): Added. Allows reloc/cache magic
277 to be removed from device drivers (eventually). Also fixed some
278 warnings, and made function references use char[] instead of just
279 char to prevent MIPS compiler from messing up.
281 * include/flash.h: Added FLASH_ERR_DRV_VERIFY and flash_dev_query.
283 2000-11-27 Jesper Skov <jskov@redhat.com>
285 * src/flash.c: Do all flash access inside properly
286 cache-controlled region.
287 * include/flash.h: Cache definitions.
289 2000-11-17 Jesper Skov <jskov@redhat.com>
291 * src/flash.c: Added debug mode, allowing device driver to use printf.
293 2000-11-16 Jesper Skov <jskov@redhat.com>
295 * src/flash.c: Added suspend error messages.
296 * include/flash.h: Same.
298 2000-09-01 Hugo Tyson <hmt@cygnus.co.uk>
301 * src/flash.c: CYGHWR_IO_FLASH_BLOCK_LOCKING is an interface, so
302 it's always defined; look for > 0 instead.
304 2000-08-28 Gary Thomas <gthomas@redhat.com>
308 * cdl/io_flash.cdl: Support block locking (optional by hardware).
310 2000-08-22 Hugo Tyson <hmt@cygnus.co.uk>
312 * src/flash.c (flash_program): Add HAL_ICACHE_DISABLE/ENABLE pairs
313 around calls to RAM copy of programming/erasing function - this is
314 necessary to get reliable operation on EBSA285 and similar.
315 Otherwise, what is in the instruction cache might be run instead.
317 2000-08-14 Gary Thomas <gthomas@redhat.com>
319 * include/flash.h: Add block size mask for finding block boundaries.
321 * src/flash.c: Use block size properly.
323 2000-07-29 Gary Thomas <gthomas@redhat.com>
326 * src/flash.c (flash_get_block_info): New function.
327 (flash_program): Program in block_size chunks as much as possible.
329 //===========================================================================
330 //####ECOSGPLCOPYRIGHTBEGIN####
331 // -------------------------------------------
332 // This file is part of eCos, the Embedded Configurable Operating System.
333 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
335 // eCos is free software; you can redistribute it and/or modify it under
336 // the terms of the GNU General Public License as published by the Free
337 // Software Foundation; either version 2 or (at your option) any later version.
339 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
340 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
341 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
344 // You should have received a copy of the GNU General Public License along
345 // with eCos; if not, write to the Free Software Foundation, Inc.,
346 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
348 // As a special exception, if other files instantiate templates or use macros
349 // or inline functions from this file, or you compile this file and link it
350 // with other works to produce a work based on this file, this file does not
351 // by itself cause the resulting work to be covered by the GNU General Public
352 // License. However the source code for this file must still be made available
353 // in accordance with section (3) of the GNU General Public License.
355 // This exception does not invalidate any other reasons why a work based on
356 // this file might be covered by the GNU General Public License.
358 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
359 // at http://sources.redhat.com/ecos/ecos-license/
360 // -------------------------------------------
361 //####ECOSGPLCOPYRIGHTEND####
362 //===========================================================================