Mercurial > nand-ecoscentric
view packages/io/nand/current/ChangeLog @ 3403:8c8767bb9a62 default tip
devs/nand/micron_mt29: Remove defunct references (in comments) to mt29f2g08_oob_ecc.
| author | Ross Younger <wry@ecoscentric.com> |
|---|---|
| date | Sun, 18 Jan 2015 17:59:01 +1300 |
| parents | 3c98ca6c7e46 |
| children |
line wrap: on
line source
2015-01-16 Ross Younger <wry@ecoscentric.com> * cdl/nand.cdl: Deparent CYGPKG_IO_NAND from CYGPKG_IO, for consistency with most other packages. 2015-01-12 Ross Younger <wry@ecoscentric.com> * include/nand_device.h: Add 'plf_priv' member of device struct and CYG_NAND_DEVICE_2 initialiser macro. * include/nand_ecc.h: Add CYG_NAND_ECC_ALG_DECLARATION 2014-12-06 Ross Younger <wry@ecoscentric.com> * src/nandinit.cxx: Another tweak to initialiser priority * include/nand_device.h src/nand.c: Add mechanism for devices to provide partition geometry later than device init time 2014-12-02 Ross Younger <wry@ecoscentric.com> * cdl/nand.cdl tests/nand_readlimits.c tests/nand_readwrite.c * tests/nand_rwbenchmark.c: Rename CYGINT_IO_NAND_TEST_PARTITION to CYGNUM_IO_NAND_TEST_PARTITION. * doc/nand.sgml: Minor updates. 2014-12-01 Ross Younger <wry@ecoscentric.com> * src/nandinit.cxx: Improve initialiser priority 2014-11-22 Ross Younger <wry@ecoscentric.com> * src/nand_bbt.c: Fix uninitialised variable which sometimes caused test failures. Erase any obsolete copies of the BBT we may come across; cope with BBT version overflowing. 2014-10-20 Ross Younger <wry@ecoscentric.com> * src/nand.c include/nand_internal.h: Create internal nandi_write_page_raw_explicit_ecc interface for use by test programs. 2014-10-05 Ross Younger <wry@ecoscentric.com> * include/nand.h: Create CYG_NAND_BYTES_PER_BLOCK so this computation need only be coded in one place. * include/nand_ecc.h src/nand.c tests/nand_eccequiv.c tests/nand_sweccwalk.c tests/nandunit.c: Split out ecc init function into init_rd and init_wr for hardware which needs it; create CYG_NAND_ECC_ALG_HW3 to instantiate, and backwards-compatibly fix up the previous instantiation macros. 2014-09-27 Ross Younger <wry@ecoscentric.com> * cdl/nand.cdl src/nand.c tests/nand_readlimits.c tests/nand_readwrite.c tests/nand_rwbenchmark.c: Create CYGINT_IO_NAND_TEST_PARTITION to specify which partition the tests should use. * include/nand_internal.h: Create header to expose internal functions to NAND drivers. 2014-09-26 Ross Younger <wry@ecoscentric.com> * tests/nand_rwbenchmark.c: Cope with CYGNUM_KERNEL_COUNTERS_RTC_PERIOD not being constant. * src/nand.c: Cope with gcc being pickier than it used to. 2014-08-11 Ross Younger <wry@ecoscentric.com> * nand.c nand_bbt.c nand_synth.c: Make build with recent gcc 2014-06-21 Ross Younger <wry@ecoscentric.com> * cdl/nand.cdl src/nand.c utils/erasenand.c: Create CYGSEM_IO_NAND_ALLOW_ERASE_WORNBAD. 2014-06-14 Ross Younger <wry@ecoscentric.com> * tests/nand_rwbenchmark.c: Fix infinite loop when all blocks are marked bad. 2013-09-06 Jonathan Larmour <jifl@eCosCentric.com> * src/nand_bbt.c (LOCK_PAGEBUF, UNLOCK_PAGEBUF, bbti_incorporate_one, bbti_write_one_table): Remove all uses of i_locked variable as it wasn't really used. * tests/nand_eccequiv.c (cyg_user_start): Don't use CYG_ASSERTC checks, which only tests for debug builds. Use MUST instead. * tests/nand_readwrite.c (cyg_user_start): Ditto. * tests/nand_sweccwalk.c (cyg_user_start): Ditto. 2013-06-28 Jonathan Larmour <jifl@eCosCentric.com> * src/nand.c (nandi_read_whole_page_raw): Remove unused var 'step'. 2012-04-17 James Smith <jsmith@ecoscentric.com> * tests/nand_rwbenchmark.c (cyg_user_start): Add CYG_TEST_INIT() to allow auto-testing to stop on cyg_test_init(). 2011-07-21 Jonathan Larmour <jifl@eCosCentric.com> * src/nand.c (valid_page_addr): Silence signed/unsigned warning. 2011-04-08 Jonathan Larmour <jifl@eCosCentric.com> * tests/nand_eccequiv.c (cyg_user_start): Use correct format for FAIL output. 2010-07-09 Ross Younger <wry@eCosCentric.com> * nand.c: Fix name of cyg_nandp_bbt_markbad_pageaddr to match header. 2010-04-20 Ross Younger <wry@eCosCentric.com> * nand_ecc.h nand.c: Expand ECC interface to allow different calculate functions during reads and writes, as needed by some hardware ECC implementations. Defines CYGSEM_IO_NAND_ECC_SPLIT_FUNCTION. * nandunit.c nand_eccequiv.c nand_sweccwalk.c: Fix up. * nand.c nand_oob.c: Fix uninitialised OOB issue. * tests/nand_readwrite.c: Add further checks to confirm the spare area works as expected. 2010-03-16 Ross Younger <wry@eCosCentric.com> * tests: Prefix test names with "nand", for consistency. * utils/erasenand.c: Fix off-by-one error. 2010-03-12 Ross Younger <wry@eCosCentric.com> * nand.c: Short-cut zero-length part-reads; don't pass them on to the underlying driver. * nand.h: Correct off-by-one error (in the safe direction) in the definition of CYG_NAND_PARTITION_NBLOCKS. 2009-11-24 Ross Younger <wry@eCosCentric.com> * tests/rwbenchmark.c: Add bulk-read and bulk-write modes which measure time for a whole block. Improve timing output to scale itself to milliseconds where appropriate. * nand_ecc.h, nand_ecc_mtd_fast.c: Expose the byte-parity table for use in other packages. 2009-11-19 Ross Younger <wry@eCosCentric.com> Significant interface change. * nand.h: Application-facing functions now take partition-relative addresses, not device-relative addresses. Rename functions cyg_nand_* -> cyg_nandp_* to reflect this (change the interface, change the name). Create helper macros CYG_NAND_PARTITION_N{BLOCKS,PAGES}. Rename NAND_* macros to CYG_NAND_*. * tests, utils: Update to new semantics. * nand.cdl: Declare CYGSEM_IO_NAND_APPINTERFACE_VERSION - calculated, 2 - and add a tripwire to ensure YAFFS is updated. * docs/nand.sgml: Updated to suit. 2009-11-17 Ross Younger <wry@eCosCentric.com> * nand.c: Cosmetic messages fix 2009-11-13 Ross Younger <wry@eCosCentric.com> * utils/erasenand.c: Fix fencepost error * nand_device.h nand.c: Further refine CYGSEM_IO_NAND_USE_BBT, drop the relevant parts of the struct when not enabled. * utils/erase_bbt_dangerous.c: Build fix for non-default config * nand_bbt.c: Fix logic error on initial scan 2009-11-12 Ross Younger <wry@eCosCentric.com> * nand.c: Add timing instrumentation hooks. * nand.cdl: Add CYGSEM_IO_NAND_INSTRUMENT_TIMING to mediate them. * misc/timetag_to_csv.pl: Helper perl script for use with them. 2009-11-09 Ross Younger <wry@eCosCentric.com> * nand.h: Rationalise interface: * read_page: now only reads a whole page and/or its spare. * read_part_page: Created. Allows part-pages and optionally not checking ECC. * write_page: now only writes a whole page and/or its spare. + nand_ecc.h: Drop earlier attempt to support sub-page ECC. * tests/readwrite.c: Test out cyg_nand_read_part_page(). * tests: Update for interface tweak. * nand_bbt.c: Rationalise BBT finding into one place and fix to better cope with the situation where only one BBT block had been written. Cure an internal race. * nand_ecc_mtd_fast.c: Speed up checking phase. 2009-11-06 Ross Younger <wry@eCosCentric.com> * nand_ecc_mtd_fast.c: Created. Complete rewrite of software ECC for massive performance boost. In summary, use all 32 bits of a register at once, and part-unroll the operation. (Also rewrote the ecc repair function to drop the dependency on the previous (imported) code. * tests: Update to suit the above. * tests/eccequiv.c: Created (used to test new ECC implementation). 2009-10-28 Ross Younger <wry@eCosCentric.com> * nand.cdl, nand.c, nand_bbt.[ch]: CYGSEM_IO_NAND_USE_BBT implemented (default on). Updated tests and utils to suit. * nand.cdl: Add convenience options to build the utils as well as the tests. * tests/sweccwalk.c: Created (software ECC bit-walker and repair consistency checks) * nand.sgml: Updated for the above. Documented ECC algorithm interface. * tests/rwbenchmark.c: Have rwbenchmark use randomised test data and check its work for better validity. 2009-10-08 Ross Younger <wry@eCosCentric.com> * nand_ecc.h, nand.c, nand_ecc_mtd.c: Expand ECC interface to better allow hardware assistance. * nand_device.h, nand.cdl: Change function set ("v2"), add cdl marker * nand.c: Implement v2 read/write, updated devinit * nand.c, nand_bbt.h: Internally expose "raw" page read/write fns * nand_oob.c, nand_oob.h: Create packed_{read,write} fns * nand_bbt.c: Use raw page read/write fns, packed read/write fns - and sanity test them on startup * nand.sgml: Document driver interface change. * rwbenchmark.c: Check that we read the requisite amount of data. 2009-09-28 Ross Younger <wry@eCosCentric.com> * tests: Don't put large arrays on stack. 2009-08-28 Ross Younger <wry@eCosCentric.com> * doc/nand.sgml: Update. Split entries for NAND device drivers out into their individual driver packages. * tests: Moved bbt.c and multipagebbt.c into devs/nand/synth/ 2009-07-28 Ross Younger <wry@eCosCentric.com> * utils: Add erasenand.c; build fix erase_bbt_dangerous.c 2009-07-21 Ross Younger <wry@eCosCentric.com> * nand_bbt.c: Fix BBT initialisation bug 2009-07-17 Ross Younger <wry@eCosCentric.com> * nand.sgml: Prep for inclusion in docbuilds 2009-07-09 Ross Younger <wry@eCosCentric.com> * nand_bbt.c: Fix corner case arising from a write failure on a BBT block. 2009-07-02 Ross Younger <wry@eCosCentric.com> * tests: Add rwbenchmark.c 2009-06-17 Ross Younger <wry@eCosCentric.com> * Global: Create a per-device lock to remove this burden from drivers. Retab for consistency with the rest of eCos. * cdl: Create CYGNUM_NAND_PAGEBUFFER; NAND drivers must impose requirements on this according to the largest device they support. Add dependency on stdlib. * nand.c, util.c: Add more assertions. * nand_app.h: Renamed to nand.h for consistency with other packages * nand_bbt.c: Refactor to use the pagebuffer to not be so stack-greedy. Properly incorporate both on-chip BBTs in case we were interrupted when writing out. Add more assertions. * nand_bbt.h: Move BLOCK2PAGEADDR and PAGE2BLOCKADDR to util.h. Header made internal. * nand_ecc.h: Rename ECCPERPAGE to CYG_NAND_ECCPERPAGE. * nand_oob.h: Rename NAND_APPLICATION_OOB to CYG_NAND_APPLICATION_OOB, similarly for OOB_MAX_ECC_SLOTS and OOB_MAX_APP_SLOTS. * doc: Linewrap for consistency * tests: Tweak to make more likely to work in a minimal config. Move mkvector.c and ar4test.c into misc/. bbt doesn't mandate synth. eccdamage moved to synth. 2009-06-02 Ross Younger <wry@eCosCentric.com> * cyg_nand_init: Removed in toto, in favour of a static constructor. * Global: Replaced all use of diag_printf with new NAND_ERROR macro. 2009-06-01 Ross Younger <wry@eCosCentric.com> * src/util.c include/util.h: Created 2009-03-02 Ross Younger <wry@eCosCentric.com> * New package. NAND flash access library. //=========================================================================== // ####ECOSGPLCOPYRIGHTBEGIN#### // ------------------------------------------- // This file is part of eCos, the Embedded Configurable Operating System. // Copyright (C) 2009 eCosCentric Limited. // // eCos is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2 or (at your option) any later // version. // // eCos is distributed in the hope that it will be useful, but WITHOUT // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License // for more details. // // You should have received a copy of the GNU General Public License // along with eCos; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // // As a special exception, if other files instantiate templates or use // macros or inline functions from this file, or you compile this file // and link it with other works to produce a work based on this file, // this file does not by itself cause the resulting work to be covered by // the GNU General Public License. However the source code for this file // must still be made available in accordance with section (3) of the GNU // General Public License v2. // // This exception does not invalidate any other reasons why a work based // on this file might be covered by the GNU General Public License. // ------------------------------------------- // ####ECOSGPLCOPYRIGHTEND#### //===========================================================================
