2001-10-28  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c (flash_erase): Don't call hardware layer if block
	appears to be already erased [faster and less wear & tear].

2001-10-25  Jonathan Larmour  <jlarmour@redhat.com>

	* include/flash_dev.h: Fix test of 4x16-bit flash parts.
	Spotted by Jose Pascual <josepascual@almudi.com>

2001-10-16  Jesper Skov  <jskov@redhat.com>

	* src/flash.c: Include string.h

	* cdl/io_flash.cdl: Package requires ISOINFRA and string
	functions.

2001-10-15  David Howells  <dhowells@redhat.com>

	* src/flash.c: Include string.h to get mem*() functions.

2001-09-25  Gary Thomas  <gthomas@redhat.com>

	* include/flash.h: Remove warning on printf() prototype.

2001-08-10  Jesper Skov  <jskov@redhat.com>

	* cdl/io_flash.cdl: Changed flavor of
	CYGHWR_IO_FLASH_BLOCK_LOCKING to booldata.
	* include/flash.h: Matching changes.
	* src/flash.c: Matching changes.

2001-07-23  David Howells  <dhowells@redhat.com>

	* cdl/io_flash.cdl: Added software write protect option.
	* include/flash.h: Ditto.
	* src/flash.c: Added software write protect option and bank
	support, and prevented low-level writes from being handed
	cross-block data chunks.

2001-07-20  Gary Thomas  <gthomas@redhat.com>

	* include/flash.h: 
	* cdl/io_flash.cdl: Name convention: CYGINT_FLASH_WORKSPACE_SIZE 
	renamed to be CYGNUM_FLASH_WORKSPACE_SIZE.

2001-07-19  Gary Thomas  <gthomas@redhat.com>

	* include/flash.h: 
	* cdl/io_flash.cdl: New option CYGINT_FLASH_WORKSPACE_SIZE used
	to control how much memory is reserved for use by FLASH drivers.

2001-06-19  Hugo Tyson  <hmt@redhat.com>

	* src/flash.c (flash_program): Only verify program with memcmp if
	the status code suggests the programming went OK so far.
	Otherwise all errors become verify errors.

	(flash_init): Fix bug in removal of dependency of printf().  The
	pointer was not initialized until after the call into the driver.

2001-06-11  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c: 
	* include/flash.h: Remove dependency on printf() via user functions.

2001-05-23  Jesper Skov  <jskov@redhat.com>

	* include/flash_dev.h (FLASH_P2V): Use CYG_ADDRWORD instead of int.

	* src/flash.c: Copy functions to RAM iff
	CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM defined.

	* cdl/io_flash.cdl: Changed CYGHWR_IO_FLASH_DEVICE_IN_RAM to
	CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM.

2001-05-21  Jonathan Larmour  <jlarmour@redhat.com>

	* include/flash_dev.h: Fix cyg_uin16 typo.

2001-03-29  Mark Salter  <msalter@redhat.com>

	* cdl/io_flash.cdl (CYGSEM_IO_FLASH_VERIFY_PROGRAM): New option
	to control whether or not to perform extra verification of flash
	programming.
	* src/flash.c (flash_program): No verification unless
	CYGSEM_IO_FLASH_VERIFY_PROGRAM defined.

2001-03-21  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c (flash_program): Verify data after programming.

2001-03-21  Jesper Skov  <jskov@redhat.com>

	* include/flash.h: Added low voltage error message.
	* src/flash.c: And its error message.

2001-03-17  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c (flash_program): 
	* include/flash.h: Add support for [StrataFLASH] buffered writes.
	This requires knowledge of the device write buffer size [saved].

2001-03-01  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c: 
	* include/flash.h: Allow platform to define pre/post routines
	to enable/disable device access.  These may be required, e.g.
	to turn on some voltage, etc.

2001-02-23  Jesper Skov  <jskov@redhat.com>

	* include/flash.h: HAL_FLASH_CACHES_WANT_OPTIMAL replaced with
	(opposite sense) HAL_FLASH_CACHES_OLD_MACROS.

	* src/flash.c (__anonymizer): Use to force the compiler to use
	jumps instead of branches.

2001-02-22  Jesper Skov  <jskov@redhat.com>

	* include/flash_dev.h: Added. Contains macros and definitions
	common to all (new style) flash device drivers.

	* include/flash.h: Added two new error codes.
	* cdl/io_flash.cdl: Added CYGHWR_IO_FLASH_DEVICE_IN_RAM.
	* src/flash.c: Made functions respect
	CYGHWR_IO_FLASH_DEVICE_IN_RAM and jump directly to the code
	instead of copying it around.
	(__arm_broken): Work around problem with ARM tools.

2001-02-06  Hugo Tyson  <hmt@redhat.com>

	* src/flash.c (flash_erase): Add an additional argument to the
	call into the driver, being the blocksize (as discovered).  This
	allows a gross check for actual erase in some drivers.  Those that
	don't use it, it's harmless - after all, this is an API by trust.

2000-12-06  Jesper Skov  <jskov@redhat.com>

	* src/flash.c (flash_dev_query): Added. Allows reloc/cache magic
	to be removed from device drivers (eventually). Also fixed some
	warnings, and made function references use char[] instead of just
	char to prevent MIPS compiler from messing up.

	* include/flash.h: Added FLASH_ERR_DRV_VERIFY and flash_dev_query.

2000-11-27  Jesper Skov  <jskov@redhat.com>

	* src/flash.c: Do all flash access inside properly
	cache-controlled region.
	* include/flash.h: Cache definitions.

2000-11-17  Jesper Skov  <jskov@redhat.com>

	* src/flash.c: Added debug mode, allowing device driver to use printf.

2000-11-16  Jesper Skov  <jskov@redhat.com>

	* src/flash.c: Added suspend error messages.
	* include/flash.h: Same.

2000-09-01  Hugo Tyson  <hmt@cygnus.co.uk>

	* include/flash.h: 
	* src/flash.c: CYGHWR_IO_FLASH_BLOCK_LOCKING is an interface, so
	it's always defined; look for > 0 instead.

2000-08-28  Gary Thomas  <gthomas@redhat.com>

	* src/flash.c: 
	* include/flash.h: 
	* cdl/io_flash.cdl: Support block locking (optional by hardware).

2000-08-22  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/flash.c (flash_program): Add HAL_ICACHE_DISABLE/ENABLE pairs
	around calls to RAM copy of programming/erasing function - this is
	necessary to get reliable operation on EBSA285 and similar.
	Otherwise, what is in the instruction cache might be run instead.

2000-08-14  Gary Thomas  <gthomas@redhat.com>

	* include/flash.h: Add block size mask for finding block boundaries.

	* src/flash.c: Use block size properly.

2000-07-29  Gary Thomas  <gthomas@redhat.com>

	* include/flash.h: 
	* src/flash.c (flash_get_block_info): New function.
	(flash_program): Program in block_size chunks as much as possible.

//===========================================================================
//####COPYRIGHTBEGIN####
//                                                                          
// -------------------------------------------                              
// The contents of this file are subject to the Red Hat eCos Public License 
// Version 1.1 (the "License"); you may not use this file except in         
// compliance with the License.  You may obtain a copy of the License at    
// http://www.redhat.com/                                                   
//                                                                          
// Software distributed under the License is distributed on an "AS IS"      
// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the 
// License for the specific language governing rights and limitations under 
// the License.                                                             
//                                                                          
// The Original Code is eCos - Embedded Configurable Operating System,      
// released September 30, 1998.                                             
//                                                                          
// The Initial Developer of the Original Code is Red Hat.                   
// Portions created by Red Hat are                                          
// Copyright (C) 1998, 1999, 2000 Red Hat, Inc.                             
// All Rights Reserved.                                                     
// -------------------------------------------                              
//                                                                          
//####COPYRIGHTEND####
//===========================================================================
