1 2005-01-14 Thomas Koeller <thomas.koeller@baslerweb.com>
3 * src/flash_query.c (flash_query): Fix switching the flash back to
4 array mode, which was broken on MIPS platforms. Always write
5 control codes to offset 0.
7 2004-09-02 Mark Salter <msalter@redhat.com>
9 * src/flash_query.c (CYGHWR_FLASH_READ_QUERY): Add platform hook
10 to handle access to query info.
11 * src/flash_program_buf.c (CYGHWR_FLASH_WRITE_BUF): Add platform
12 hook handle access to write buffer.
14 2004-08-21 Andrew Lunn <andrew.lunn@ascom.ch>
16 * src/flash_unlock_block.c (flash_unlock_block):
17 * cdl/flash_strata.cdl: CDL to control the maximum number of
18 blocks the driver supports. Some of the newer strata device has more
19 than the default maximum of 128. Problem pointed out by Kevin Zhang.
21 2005-01-26 Scott Wilkinson <scott@alliantnetworks.com>
24 Flash from STMicro is compatible with the Intel strata chips,
25 so detect them as well. Check for manuf id 0x20.
27 2003-10-29 Jonathan Larmour <jifl@eCosCentric.com>
29 * src/flash_unlock_block.c (flash_unlock_block): test lock bit
30 explicitly - newer flash parts use the reserved bits in the
33 2003-09-11 Jani Monoses <jani@iv.ro>
35 * src/flash_erase_block.c (flash_erase_block):
36 * src/flash_program_buf.c (flash_program_buf): Fix bootblock handling
37 in erase. Fix erase and word-program for Synchronous Strata and later
38 chips where block address and word address are required in the first
39 cycle of the operation while for earlier parts any address was good.
41 2003-09-10 Jani Monoses <jani@iv.ro>
43 * cdl/flash_strata.cdl:
44 * src/flash_lock_block.c (flash_lock_block):
45 * src/flash_unlock_block.c (flash_unlock_block):
46 * src/flash_erase_block.c (flash_erase_block):
47 * src/flash_query.c (flash_query):
48 * src/flash_program_buf.c (flash_program_buf): Use .2ram sections
49 for putting flash functions to RAM instead of the old method.
51 2003-05-02 Jani Monoses <jani@iv.ro>
53 * src/strata.c: Switch to using generic flash_query_dev.
54 The previous cache related changes broke flash_query for
55 Strata because in the query case the generic flash driver was not
56 called to handle the caches but the internal handling was removed
59 2003-04-04 Jani Monoses <jani@iv.ro>
62 Use generic flash_dev.h for providing the FLASHWORD macro for
63 different widths and device numbers.No reason to duplicate that
64 here.This implicitely fixes the case when CYGNUM_FLASH_WIDTH is 16
65 and CYGNUM_FLASH_DEVICES is 4.
67 2003-04-03 Jani Monoses <jani@iv.ro>
69 * src/flash_lock_block.c (flash_lock_block):
70 * src/flash_unlock_block.c (flash_unlock_block):
71 * src/flash_erase_block.c (flash_erase_block):
72 * src/flash_query.c (flash_query):
73 * src/flash_program_buf.c (flash_program_buf):
74 Cache enabling and disabling are already handled by generic flash
76 2002-08-12 Mark Salter <msalter@redhat.com>
78 * src/flash_unlock_block.c: Add synchronous strataflash support.
79 * src/strata.h: Add comments regarding synchronous strataflash.
81 2002-04-30 Christoph Csebits <christoph.csebits@frequentis.com>
83 * src/flash_unlock_block.c: Getting the current block lock
84 state for flashes in 8-Bit mode is now working correctly.
86 2002-04-16 Jonathan Larmour <jlarmour@redhat.com>
88 * cdl/flash_strata.cdl: Invoke $(CC) with $(CFLAGS) to ensure the
89 correct flags are passed.
91 2002-04-12 Gary Thomas <gthomas@redhat.com>
93 * src/strata.c: Clean up warnings.
95 2002-01-22 Mark Salter <msalter@redhat.com>
97 * cdl/flash_strata.cdl: Add ".text" before "_end" markers in .s files.
99 2001-10-23 Hugo Tyson <hmt@redhat.com>
101 * cdl/flash_strata.cdl: Provide an option so that RedBoot .ecm
102 files can turn off the functionality of copying flash driver code
103 to separate RAM for execution; it's not needed for RAM and ROMRAM
104 startup, and for some platforms it is required to *not* copy thus.
106 2001-08-25 Gary Thomas <gthomas@redhat.com>
108 * src/flash_program_buf.c (flash_program_buf): Allow configuration
109 specific code sequence for actual writing of data. Define by the
110 macro CYGHWR_FLASH_WRITE_ELEM. Note: this is required on some
111 hardware, like the Intel SA185, which handles flash writes in
112 strange/obscure fashion.
114 2001-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
116 * src/flash_query.c (flash_query): Query needs to be done on even
117 addresses for byte-enabled strata flash
119 * src/flash_program_buf.c (flash_program_buf): Fix of conversion of
120 write buffer length (in bytes) to the length in 'flash_t' words.
122 2001-06-22 Hugo Tyson <hmt@redhat.com>
124 * src/strata.c (flash_hwr_init): Need to refer to the query code
125 as extern char flash_query[], flash_query_end[]; (with the []) or
126 MIPS code gen assumes these are short offsets and linking fails.
127 The generic flash code in io/flash already uses this idiom.
129 2001-06-22 Hugo Tyson <hmt@redhat.com>
131 * src/strata.c (flash_hwr_init): Warnings reduced. No arithmetic
134 2001-06-21 Hugo Tyson <hmt@redhat.com>
136 * src/flash_program_buf.c (flash_program_buf): The buffered write
137 code didn't jump out if there was a write error, nor verify the
138 data by reading back. This isn't consistent with the slow case,
139 and made it take an age if the device is unhappy, and then report
140 a bizarre error code. Both issues fixed.
142 2001-06-21 Hugo Tyson <hmt@redhat.com>
144 * src/strata.c (flash_hwr_init): If shrinking to fit, must also
145 adjust the flash_info.blocks field, else unlock crashes trying to
146 get status of all those extra blocks that we cannot actually see.
148 2001-06-11 Gary Thomas <gthomas@redhat.com>
150 * src/strata.c: Remove dependency on printf() via user functions.
152 2001-06-07 Hugo Tyson <hmt@redhat.com>
154 * src/strata.c (flash_hwr_init): If we find a flash device that is
155 larger than is possible given the memory map, shrink to fit.
156 We know about the memory map from CYGNUM_FLASH_BASE_MASK (if
157 defined); it tells us the stride from one device to another.
159 This is to cope with installing, say, a 28F640 in a slot designed
160 for a 28F320 because of supply issues - it all works fine so long
163 2001-05-23 Jesper Skov <jskov@redhat.com>
165 * cdl/flash_strata.cdl: Needs IO driver to copy functions to RAM.
167 2001-04-26 Gary Thomas <gthomas@redhat.com>
169 * src/strata.c: Be more careful when enable/flush/disable caches.
171 * src/flash_erase_block.c (flash_erase_block): Boot block devices
172 may require additional erase commands to erase entire 'block'.
174 2001-03-21 Hugo Tyson <hmt@redhat.com>
176 * src/strata.h (FLASH_Write_Buffer): Do not define this if
177 CYGOPT_FLASH_IS_NOT_ADVANCED is defined; Advanced (xxxJ3) flash is
178 usual these days. Also added documentation of the options that
179 can be used to control this module.
181 * src/flash_program_buf.c (flash_program_buf): Reduce warnings
182 about unused variables if no FLASH_Write_Buffer command available.
184 2001-03-21 Gary Thomas <gthomas@redhat.com>
186 * src/flash_program_buf.c (flash_program_buf): Buffered write code
187 fixups, only on platforms with it defined.
189 2001-03-17 Gary Thomas <gthomas@redhat.com>
192 * src/strata.c: Support buffered writes.
194 * src/flash_program_buf.c: Use buffered writes if possible. This
195 mode allows the chip to do parallelized writes which is much faster.
196 It does require additional information, now provided by upper layer.
198 2001-02-15 Hugo Tyson <hmt@redhat.com>
200 * src/flash_query.c (flash_query): Depending on whether
201 CYGOPT_FLASH_IS_BOOTBLOCK (just a #define from the instantiator,
202 not really a cdl_option) is set, do the full Read_Query or just
203 acquire two codes for manufacturer and device type using Read_ID.
205 * src/strata.c (flash_hwr_init): Again depending on whether
206 CYGOPT_FLASH_IS_BOOTBLOCK, decode the device type into a size and
207 so on, or use the full Read_Query data as before.
209 * src/strata.h (FLASH_Read_ID): Undefine those commands which we
210 do not use. Conditionally define those that we use depending on
211 CYGOPT_FLASH_IS_BOOTBLOCK. Thus we should be able to deal with
212 StrataFlash and BootBlock flash with the same code.
214 * cdl/flash_strata.cdl: Do not implement (in the CDL sense)
215 CYGHWR_IO_FLASH_BLOCK_LOCKING leave it up to the instantiating
216 package instead. Also move the build of the two objects that do
217 locking and unlocking into a compenent which is only active if
218 CYGHWR_IO_FLASH_BLOCK_LOCKING is indeed (requested to be)
219 implemented somewhere.
221 2001-02-14 Hugo Tyson <hmt@redhat.com>
223 * devs/flash/intel/strata/...: New package, generic strataFlash
224 driver based on several others; a portion of its history
228 flash<platform>.c -> strata.c
230 2001-02-06 Hugo Tyson <hmt@redhat.com>
232 * src/flash.h: Much more generic again. Not yet separated into
233 generic component and invocation header, but the structure is
234 there. Also included support for a mapping from the physical
235 flash address we're thinking of to the virtual address we use to
236 access it. More documentation. Generalization to 8,16,32 and
237 64-bit access, made up from 8,16 or 32-bit devices. Command and
238 status macros modified to accommodate these options.
240 * src/flash_lock_block.c (flash_lock_block):
241 * src/flash_erase_block.c (flash_erase_block):
242 * src/flash_query.c (flash_query):
243 * src/flash_program_buf.c (flash_program_buf):
244 All now acquire when possible the ROM address from the block
245 address, and use the physical to virtual macro as needed.
247 * src/flash_unlock_block.c (flash_unlock_block):
248 The same changes, but a little more complex because of the need to
249 clear-all then re-lock some semantics. Shadow pointer to virtual
250 address is used each time round the loop.
252 * cdl/flash_strata.cdl: Add explicit dependencies on flash.h, for
253 there were none - or they were ignored - for the specially built
254 compilation units that get copied to RAM for execution.
256 2001-02-01 Hugo Tyson <hmt@redhat.com>
258 * all: copied from the assabet flash driver.
260 2000-12-05 Jonathan Larmour <jlarmour@redhat.com>
262 * src/assabet_flash.c (flash_code_overlaps): Define stext/etext
263 as array types so no assumptions can be made by the compiler about
266 2000-10-24 Gary Thomas <gthomas@redhat.com>
268 * src/flash_unlock_block.c (flash_unlock_block):
269 * src/flash_lock_block.c (flash_lock_block):
270 * src/flash_program_buf.c (flash_program_buf):
271 * src/flash_erase_block.c (flash_erase_block): Support up to 32M FLASH.
273 2000-09-10 Gary Thomas <gthomas@redhat.com>
275 * src/flash_unlock_block.c:
276 * src/flash_lock_block.c: New file(s).
279 * cdl/flash_assabet.cdl: Add region locking functions.
281 2000-08-29 Gary Thomas <gthomas@redhat.com>
283 * src/assabet_flash.c: Improve error decoding.
285 2000-08-24 Gary Thomas <gthomas@redhat.com>
288 * src/flash_erase_block.c:
289 * src/flash.h: FLASH support for Intel SA1110 Assabet.
291 //===========================================================================
292 //####ECOSGPLCOPYRIGHTBEGIN####
293 // -------------------------------------------
294 // This file is part of eCos, the Embedded Configurable Operating System.
295 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
297 // eCos is free software; you can redistribute it and/or modify it under
298 // the terms of the GNU General Public License as published by the Free
299 // Software Foundation; either version 2 or (at your option) any later version.
301 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
302 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
303 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
306 // You should have received a copy of the GNU General Public License along
307 // with eCos; if not, write to the Free Software Foundation, Inc.,
308 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
310 // As a special exception, if other files instantiate templates or use macros
311 // or inline functions from this file, or you compile this file and link it
312 // with other works to produce a work based on this file, this file does not
313 // by itself cause the resulting work to be covered by the GNU General Public
314 // License. However the source code for this file must still be made available
315 // in accordance with section (3) of the GNU General Public License.
317 // This exception does not invalidate any other reasons why a work based on
318 // this file might be covered by the GNU General Public License.
320 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
321 // at http://sources.redhat.com/ecos/ecos-license/
322 // -------------------------------------------
323 //####ECOSGPLCOPYRIGHTEND####
324 //===========================================================================