annotate packages/io/nand/current/ChangeLog @ 3378:c61c25416156

* src/nand.c (valid_page_addr): Silence signed/unsigned warning.
author Jonathan Larmour <jifl@eCosCentric.com>
date Thu, 21 Jul 2011 19:14:52 +0100
parents 84277d0be0b2
children b1e9145ae7cd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3369
17169b710e76 Fix bit rot: make nand package build with recent gcc
Ross Younger <wry@ecoscentric.com>
parents: 3017
diff changeset
1 2014-08-11 Ross Younger <wry@ecoscentric.com>
17169b710e76 Fix bit rot: make nand package build with recent gcc
Ross Younger <wry@ecoscentric.com>
parents: 3017
diff changeset
2
17169b710e76 Fix bit rot: make nand package build with recent gcc
Ross Younger <wry@ecoscentric.com>
parents: 3017
diff changeset
3 * nand.c nand_bbt.c nand_synth.c: Make build with recent gcc
17169b710e76 Fix bit rot: make nand package build with recent gcc
Ross Younger <wry@ecoscentric.com>
parents: 3017
diff changeset
4
3378
c61c25416156 * src/nand.c (valid_page_addr): Silence signed/unsigned warning.
Jonathan Larmour <jifl@eCosCentric.com>
parents: 3377
diff changeset
5 2011-07-21 Jonathan Larmour <jifl@eCosCentric.com>
c61c25416156 * src/nand.c (valid_page_addr): Silence signed/unsigned warning.
Jonathan Larmour <jifl@eCosCentric.com>
parents: 3377
diff changeset
6
c61c25416156 * src/nand.c (valid_page_addr): Silence signed/unsigned warning.
Jonathan Larmour <jifl@eCosCentric.com>
parents: 3377
diff changeset
7 * src/nand.c (valid_page_addr): Silence signed/unsigned warning.
c61c25416156 * src/nand.c (valid_page_addr): Silence signed/unsigned warning.
Jonathan Larmour <jifl@eCosCentric.com>
parents: 3377
diff changeset
8
3377
84277d0be0b2 Use correct format for FAIL output when using diag_printf to construct
Jonathan Larmour <jifl@eCosCentric.com>
parents: 3376
diff changeset
9 2011-04-08 Jonathan Larmour <jifl@eCosCentric.com>
84277d0be0b2 Use correct format for FAIL output when using diag_printf to construct
Jonathan Larmour <jifl@eCosCentric.com>
parents: 3376
diff changeset
10
84277d0be0b2 Use correct format for FAIL output when using diag_printf to construct
Jonathan Larmour <jifl@eCosCentric.com>
parents: 3376
diff changeset
11 * tests/nand_eccequiv.c (cyg_user_start): Use correct format for
84277d0be0b2 Use correct format for FAIL output when using diag_printf to construct
Jonathan Larmour <jifl@eCosCentric.com>
parents: 3376
diff changeset
12 FAIL output.
84277d0be0b2 Use correct format for FAIL output when using diag_printf to construct
Jonathan Larmour <jifl@eCosCentric.com>
parents: 3376
diff changeset
13
3376
23d6949cfdbd nand.c: Fix name of cyg_nandp_bbt_markbad_pageaddr to match header.
Ross Younger <wry@ecoscentric.com>
parents: 3369
diff changeset
14 2010-07-09 Ross Younger <wry@eCosCentric.com>
3377
84277d0be0b2 Use correct format for FAIL output when using diag_printf to construct
Jonathan Larmour <jifl@eCosCentric.com>
parents: 3376
diff changeset
15
3376
23d6949cfdbd nand.c: Fix name of cyg_nandp_bbt_markbad_pageaddr to match header.
Ross Younger <wry@ecoscentric.com>
parents: 3369
diff changeset
16 * nand.c: Fix name of cyg_nandp_bbt_markbad_pageaddr to match header.
23d6949cfdbd nand.c: Fix name of cyg_nandp_bbt_markbad_pageaddr to match header.
Ross Younger <wry@ecoscentric.com>
parents: 3369
diff changeset
17
3017
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
18 2010-04-20 Ross Younger <wry@eCosCentric.com>
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
19
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
20 * nand_ecc.h nand.c: Expand ECC interface to allow different
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
21 calculate functions during reads and writes, as needed by some
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
22 hardware ECC implementations. Defines
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
23 CYGSEM_IO_NAND_ECC_SPLIT_FUNCTION.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
24 * nandunit.c nand_eccequiv.c nand_sweccwalk.c: Fix up.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
25 * nand.c nand_oob.c: Fix uninitialised OOB issue.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
26 * tests/nand_readwrite.c: Add further checks to confirm
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
27 the spare area works as expected.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
28
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
29 2010-03-16 Ross Younger <wry@eCosCentric.com>
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
30
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
31 * tests: Prefix test names with "nand", for consistency.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
32 * utils/erasenand.c: Fix off-by-one error.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
33
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
34 2010-03-12 Ross Younger <wry@eCosCentric.com>
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
35
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
36 * nand.c: Short-cut zero-length part-reads; don't pass them on to the
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
37 underlying driver.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
38 * nand.h: Correct off-by-one error (in the safe direction) in the
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
39 definition of CYG_NAND_PARTITION_NBLOCKS.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
40
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
41 2009-11-24 Ross Younger <wry@eCosCentric.com>
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
42
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
43 * tests/rwbenchmark.c: Add bulk-read and bulk-write modes
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
44 which measure time for a whole block. Improve timing output
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
45 to scale itself to milliseconds where appropriate.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
46
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
47 * nand_ecc.h, nand_ecc_mtd_fast.c: Expose the byte-parity table
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
48 for use in other packages.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
49
2994
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
50 2009-11-19 Ross Younger <wry@eCosCentric.com>
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
51
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
52 Significant interface change.
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
53 * nand.h: Application-facing functions now take partition-relative
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
54 addresses, not device-relative addresses.
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
55 Rename functions cyg_nand_* -> cyg_nandp_* to reflect this (change the
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
56 interface, change the name).
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
57 Create helper macros CYG_NAND_PARTITION_N{BLOCKS,PAGES}.
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
58 Rename NAND_* macros to CYG_NAND_*.
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
59 * tests, utils: Update to new semantics.
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
60 * nand.cdl: Declare CYGSEM_IO_NAND_APPINTERFACE_VERSION
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
61 - calculated, 2 - and add a tripwire to ensure YAFFS is updated.
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
62 * docs/nand.sgml: Updated to suit.
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
63
2992
d0daa15943a5 NAND: cosmetic messages fix
Ross Younger <wry@ecoscentric.com>
parents: 2991
diff changeset
64 2009-11-17 Ross Younger <wry@eCosCentric.com>
d0daa15943a5 NAND: cosmetic messages fix
Ross Younger <wry@ecoscentric.com>
parents: 2991
diff changeset
65
d0daa15943a5 NAND: cosmetic messages fix
Ross Younger <wry@ecoscentric.com>
parents: 2991
diff changeset
66 * nand.c: Cosmetic messages fix
d0daa15943a5 NAND: cosmetic messages fix
Ross Younger <wry@ecoscentric.com>
parents: 2991
diff changeset
67
2988
5cd059c3887b Fix fencepost error in erasenand.c
Ross Younger <wry@ecoscentric.com>
parents: 2976
diff changeset
68 2009-11-13 Ross Younger <wry@eCosCentric.com>
5cd059c3887b Fix fencepost error in erasenand.c
Ross Younger <wry@ecoscentric.com>
parents: 2976
diff changeset
69
5cd059c3887b Fix fencepost error in erasenand.c
Ross Younger <wry@ecoscentric.com>
parents: 2976
diff changeset
70 * utils/erasenand.c: Fix fencepost error
2989
8fb3f9a53423 Further refine CYGSEM_IO_NAND_USE_BBT, drop the relevant parts of the struct when not enabled.
Ross Younger <wry@ecoscentric.com>
parents: 2988
diff changeset
71 * nand_device.h nand.c: Further refine CYGSEM_IO_NAND_USE_BBT,
8fb3f9a53423 Further refine CYGSEM_IO_NAND_USE_BBT, drop the relevant parts of the struct when not enabled.
Ross Younger <wry@ecoscentric.com>
parents: 2988
diff changeset
72 drop the relevant parts of the struct when not enabled.
2990
436d18a77629 erase_bbt_dangerous: build fix for non-default config
Ross Younger <wry@ecoscentric.com>
parents: 2989
diff changeset
73 * utils/erase_bbt_dangerous.c: Build fix for non-default config
2991
1368d5ff0323 nand_bbt.c: Fix logic error on initial scan (introduced 2009-11-09)
Ross Younger <wry@ecoscentric.com>
parents: 2990
diff changeset
74 * nand_bbt.c: Fix logic error on initial scan
2988
5cd059c3887b Fix fencepost error in erasenand.c
Ross Younger <wry@ecoscentric.com>
parents: 2976
diff changeset
75
2976
758f9d488949 NAND: Add timing instrumentation hooks (disabled by default)
Ross Younger <wry@ecoscentric.com>
parents: 2975
diff changeset
76 2009-11-12 Ross Younger <wry@eCosCentric.com>
758f9d488949 NAND: Add timing instrumentation hooks (disabled by default)
Ross Younger <wry@ecoscentric.com>
parents: 2975
diff changeset
77
758f9d488949 NAND: Add timing instrumentation hooks (disabled by default)
Ross Younger <wry@ecoscentric.com>
parents: 2975
diff changeset
78 * nand.c: Add timing instrumentation hooks.
758f9d488949 NAND: Add timing instrumentation hooks (disabled by default)
Ross Younger <wry@ecoscentric.com>
parents: 2975
diff changeset
79 * nand.cdl: Add CYGSEM_IO_NAND_INSTRUMENT_TIMING to mediate them.
758f9d488949 NAND: Add timing instrumentation hooks (disabled by default)
Ross Younger <wry@ecoscentric.com>
parents: 2975
diff changeset
80 * misc/timetag_to_csv.pl: Helper perl script for use with them.
758f9d488949 NAND: Add timing instrumentation hooks (disabled by default)
Ross Younger <wry@ecoscentric.com>
parents: 2975
diff changeset
81
2966
c6ce6b63dcb5 NAND: app interface change: read_page does only whole page, read_part_page does part pages
Ross Younger <wry@ecoscentric.com>
parents: 2964
diff changeset
82 2009-11-09 Ross Younger <wry@eCosCentric.com>
c6ce6b63dcb5 NAND: app interface change: read_page does only whole page, read_part_page does part pages
Ross Younger <wry@ecoscentric.com>
parents: 2964
diff changeset
83
c6ce6b63dcb5 NAND: app interface change: read_page does only whole page, read_part_page does part pages
Ross Younger <wry@ecoscentric.com>
parents: 2964
diff changeset
84 * nand.h: Rationalise interface:
c6ce6b63dcb5 NAND: app interface change: read_page does only whole page, read_part_page does part pages
Ross Younger <wry@ecoscentric.com>
parents: 2964
diff changeset
85 * read_page: now only reads a whole page and/or its spare.
c6ce6b63dcb5 NAND: app interface change: read_page does only whole page, read_part_page does part pages
Ross Younger <wry@ecoscentric.com>
parents: 2964
diff changeset
86 * read_part_page: Created. Allows part-pages and optionally
2976
758f9d488949 NAND: Add timing instrumentation hooks (disabled by default)
Ross Younger <wry@ecoscentric.com>
parents: 2975
diff changeset
87 not checking ECC.
2966
c6ce6b63dcb5 NAND: app interface change: read_page does only whole page, read_part_page does part pages
Ross Younger <wry@ecoscentric.com>
parents: 2964
diff changeset
88 * write_page: now only writes a whole page and/or its spare.
2968
368f9c978e57 NAND: Drop poorly-conceived ecc sub-stride support
Ross Younger <wry@ecoscentric.com>
parents: 2967
diff changeset
89 + nand_ecc.h: Drop earlier attempt to support sub-page ECC.
2967
46c738b81b70 NAND: test part-page reads
Ross Younger <wry@ecoscentric.com>
parents: 2966
diff changeset
90 * tests/readwrite.c: Test out cyg_nand_read_part_page().
2966
c6ce6b63dcb5 NAND: app interface change: read_page does only whole page, read_part_page does part pages
Ross Younger <wry@ecoscentric.com>
parents: 2964
diff changeset
91 * tests: Update for interface tweak.
2969
0da640d830c9 NAND: Cope with finding only one BBT copy; rationalise BBT finding code
Ross Younger <wry@ecoscentric.com>
parents: 2968
diff changeset
92 * nand_bbt.c: Rationalise BBT finding into one place and fix to
2976
758f9d488949 NAND: Add timing instrumentation hooks (disabled by default)
Ross Younger <wry@ecoscentric.com>
parents: 2975
diff changeset
93 better cope with the situation where only one BBT block had
758f9d488949 NAND: Add timing instrumentation hooks (disabled by default)
Ross Younger <wry@ecoscentric.com>
parents: 2975
diff changeset
94 been written. Cure an internal race.
2974
54682dd5e6fe NAND: Speed up software ECC checking phase
Ross Younger <wry@ecoscentric.com>
parents: 2969
diff changeset
95 * nand_ecc_mtd_fast.c: Speed up checking phase.
2966
c6ce6b63dcb5 NAND: app interface change: read_page does only whole page, read_part_page does part pages
Ross Younger <wry@ecoscentric.com>
parents: 2964
diff changeset
96
2963
b836edcc5d76 NAND: Completely rewrite software ECC. A modest code increase (about 500 bytes) is a small price to pay for a massive speedup (measured at 3x on lpc2468, 21x on AMD64 on the desktop...)
Ross Younger <wry@ecoscentric.com>
parents: 2952
diff changeset
97 2009-11-06 Ross Younger <wry@eCosCentric.com>
b836edcc5d76 NAND: Completely rewrite software ECC. A modest code increase (about 500 bytes) is a small price to pay for a massive speedup (measured at 3x on lpc2468, 21x on AMD64 on the desktop...)
Ross Younger <wry@ecoscentric.com>
parents: 2952
diff changeset
98
b836edcc5d76 NAND: Completely rewrite software ECC. A modest code increase (about 500 bytes) is a small price to pay for a massive speedup (measured at 3x on lpc2468, 21x on AMD64 on the desktop...)
Ross Younger <wry@ecoscentric.com>
parents: 2952
diff changeset
99 * nand_ecc_mtd_fast.c: Created. Complete rewrite of software
b836edcc5d76 NAND: Completely rewrite software ECC. A modest code increase (about 500 bytes) is a small price to pay for a massive speedup (measured at 3x on lpc2468, 21x on AMD64 on the desktop...)
Ross Younger <wry@ecoscentric.com>
parents: 2952
diff changeset
100 ECC for massive performance boost. In summary, use all 32 bits
b836edcc5d76 NAND: Completely rewrite software ECC. A modest code increase (about 500 bytes) is a small price to pay for a massive speedup (measured at 3x on lpc2468, 21x on AMD64 on the desktop...)
Ross Younger <wry@ecoscentric.com>
parents: 2952
diff changeset
101 of a register at once, and part-unroll the operation. (Also
b836edcc5d76 NAND: Completely rewrite software ECC. A modest code increase (about 500 bytes) is a small price to pay for a massive speedup (measured at 3x on lpc2468, 21x on AMD64 on the desktop...)
Ross Younger <wry@ecoscentric.com>
parents: 2952
diff changeset
102 rewrote the ecc repair function to drop the dependency on the
b836edcc5d76 NAND: Completely rewrite software ECC. A modest code increase (about 500 bytes) is a small price to pay for a massive speedup (measured at 3x on lpc2468, 21x on AMD64 on the desktop...)
Ross Younger <wry@ecoscentric.com>
parents: 2952
diff changeset
103 previous (imported) code.
b836edcc5d76 NAND: Completely rewrite software ECC. A modest code increase (about 500 bytes) is a small price to pay for a massive speedup (measured at 3x on lpc2468, 21x on AMD64 on the desktop...)
Ross Younger <wry@ecoscentric.com>
parents: 2952
diff changeset
104 * tests: Update to suit the above.
2964
b3d2f083ab91 NAND: Create software ECC equivalence test
Ross Younger <wry@ecoscentric.com>
parents: 2963
diff changeset
105 * tests/eccequiv.c: Created (used to test new ECC implementation).
2963
b836edcc5d76 NAND: Completely rewrite software ECC. A modest code increase (about 500 bytes) is a small price to pay for a massive speedup (measured at 3x on lpc2468, 21x on AMD64 on the desktop...)
Ross Younger <wry@ecoscentric.com>
parents: 2952
diff changeset
106
2951
0eb1d8b14623 NAND: update doc for recent changes; document ECC alg interface
Ross Younger <wry@ecoscentric.com>
parents: 2950
diff changeset
107 2009-10-28 Ross Younger <wry@eCosCentric.com>
2948
f14749d39b9c NAND: implement CYGSEM_IO_NAND_USE_BBT
Ross Younger <wry@ecoscentric.com>
parents: 2944
diff changeset
108
f14749d39b9c NAND: implement CYGSEM_IO_NAND_USE_BBT
Ross Younger <wry@ecoscentric.com>
parents: 2944
diff changeset
109 * nand.cdl, nand.c, nand_bbt.[ch]: CYGSEM_IO_NAND_USE_BBT
f14749d39b9c NAND: implement CYGSEM_IO_NAND_USE_BBT
Ross Younger <wry@ecoscentric.com>
parents: 2944
diff changeset
110 implemented (default on). Updated tests and utils to suit.
2949
b72667909323 NAND: add CYGBLD_IO_NAND_BUILD_UTILS; tidy bbt code
Ross Younger <wry@ecoscentric.com>
parents: 2948
diff changeset
111 * nand.cdl: Add convenience options to build the utils as well
b72667909323 NAND: add CYGBLD_IO_NAND_BUILD_UTILS; tidy bbt code
Ross Younger <wry@ecoscentric.com>
parents: 2948
diff changeset
112 as the tests.
2950
cde493f78168 NAND: add sweccwalk test
Ross Younger <wry@ecoscentric.com>
parents: 2949
diff changeset
113 * tests/sweccwalk.c: Created (software ECC bit-walker and repair
cde493f78168 NAND: add sweccwalk test
Ross Younger <wry@ecoscentric.com>
parents: 2949
diff changeset
114 consistency checks)
2951
0eb1d8b14623 NAND: update doc for recent changes; document ECC alg interface
Ross Younger <wry@ecoscentric.com>
parents: 2950
diff changeset
115 * nand.sgml: Updated for the above. Documented ECC algorithm
0eb1d8b14623 NAND: update doc for recent changes; document ECC alg interface
Ross Younger <wry@ecoscentric.com>
parents: 2950
diff changeset
116 interface.
2952
56aff9481398 NAND: make rwbenchmark check its work
Ross Younger <wry@ecoscentric.com>
parents: 2951
diff changeset
117 * tests/rwbenchmark.c: Have rwbenchmark use randomised test data
56aff9481398 NAND: make rwbenchmark check its work
Ross Younger <wry@ecoscentric.com>
parents: 2951
diff changeset
118 and check its work for better validity.
2948
f14749d39b9c NAND: implement CYGSEM_IO_NAND_USE_BBT
Ross Younger <wry@ecoscentric.com>
parents: 2944
diff changeset
119
2944
32bcd454bda4 Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents: 2943
diff changeset
120 2009-10-08 Ross Younger <wry@eCosCentric.com>
32bcd454bda4 Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents: 2943
diff changeset
121
32bcd454bda4 Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents: 2943
diff changeset
122 * nand_ecc.h, nand.c, nand_ecc_mtd.c: Expand ECC interface
32bcd454bda4 Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents: 2943
diff changeset
123 to better allow hardware assistance.
32bcd454bda4 Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents: 2943
diff changeset
124 * nand_device.h, nand.cdl: Change function set ("v2"), add cdl marker
32bcd454bda4 Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents: 2943
diff changeset
125 * nand.c: Implement v2 read/write, updated devinit
32bcd454bda4 Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents: 2943
diff changeset
126 * nand.c, nand_bbt.h: Internally expose "raw" page read/write fns
32bcd454bda4 Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents: 2943
diff changeset
127 * nand_oob.c, nand_oob.h: Create packed_{read,write} fns
32bcd454bda4 Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents: 2943
diff changeset
128 * nand_bbt.c: Use raw page read/write fns, packed read/write fns
32bcd454bda4 Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents: 2943
diff changeset
129 - and sanity test them on startup
32bcd454bda4 Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents: 2943
diff changeset
130 * nand.sgml: Document driver interface change.
32bcd454bda4 Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents: 2943
diff changeset
131 * rwbenchmark.c: Check that we read the requisite amount of data.
32bcd454bda4 Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents: 2943
diff changeset
132
2943
cc87500cad3c NAND/synth tests: Don't put large arrays on stack. (#1000826)
wry
parents: 2937
diff changeset
133 2009-09-28 Ross Younger <wry@eCosCentric.com>
cc87500cad3c NAND/synth tests: Don't put large arrays on stack. (#1000826)
wry
parents: 2937
diff changeset
134
cc87500cad3c NAND/synth tests: Don't put large arrays on stack. (#1000826)
wry
parents: 2937
diff changeset
135 * tests: Don't put large arrays on stack.
cc87500cad3c NAND/synth tests: Don't put large arrays on stack. (#1000826)
wry
parents: 2937
diff changeset
136
2937
c3c708068a37 move bbt and multipagebbt to synth nand
wry
parents: 2930
diff changeset
137 2009-08-28 Ross Younger <wry@eCosCentric.com>
c3c708068a37 move bbt and multipagebbt to synth nand
wry
parents: 2930
diff changeset
138
c3c708068a37 move bbt and multipagebbt to synth nand
wry
parents: 2930
diff changeset
139 * doc/nand.sgml: Update. Split entries for NAND device drivers out into
c3c708068a37 move bbt and multipagebbt to synth nand
wry
parents: 2930
diff changeset
140 their individual driver packages.
c3c708068a37 move bbt and multipagebbt to synth nand
wry
parents: 2930
diff changeset
141 * tests: Moved bbt.c and multipagebbt.c into devs/nand/synth/
c3c708068a37 move bbt and multipagebbt to synth nand
wry
parents: 2930
diff changeset
142
2930
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
143 2009-07-28 Ross Younger <wry@eCosCentric.com>
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
144
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
145 * utils: Add erasenand.c; build fix erase_bbt_dangerous.c
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
146
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
147 2009-07-21 Ross Younger <wry@eCosCentric.com>
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
148
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
149 * nand_bbt.c: Fix BBT initialisation bug
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
150
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
151 2009-07-17 Ross Younger <wry@eCosCentric.com>
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
152
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
153 * nand.sgml: Prep for inclusion in docbuilds
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
154
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
155 2009-07-09 Ross Younger <wry@eCosCentric.com>
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
156
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
157 * nand_bbt.c: Fix corner case arising from a write failure on a BBT block.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
158
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
159 2009-07-02 Ross Younger <wry@eCosCentric.com>
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
160
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
161 * tests: Add rwbenchmark.c
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
162
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
163 2009-06-17 Ross Younger <wry@eCosCentric.com>
3017
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
164
2930
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
165 * Global: Create a per-device lock to remove this burden from drivers.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
166 Retab for consistency with the rest of eCos.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
167 * cdl: Create CYGNUM_NAND_PAGEBUFFER; NAND drivers must impose
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
168 requirements on this according to the largest device they support.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
169 Add dependency on stdlib.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
170 * nand.c, util.c: Add more assertions.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
171 * nand_app.h: Renamed to nand.h for consistency with other packages
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
172 * nand_bbt.c: Refactor to use the pagebuffer to not be so stack-greedy.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
173 Properly incorporate both on-chip BBTs in case we were interrupted
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
174 when writing out. Add more assertions.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
175 * nand_bbt.h: Move BLOCK2PAGEADDR and PAGE2BLOCKADDR to util.h.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
176 Header made internal.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
177 * nand_ecc.h: Rename ECCPERPAGE to CYG_NAND_ECCPERPAGE.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
178 * nand_oob.h: Rename NAND_APPLICATION_OOB to CYG_NAND_APPLICATION_OOB,
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
179 similarly for OOB_MAX_ECC_SLOTS and OOB_MAX_APP_SLOTS.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
180 * doc: Linewrap for consistency
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
181 * tests: Tweak to make more likely to work in a minimal config.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
182 Move mkvector.c and ar4test.c into misc/.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
183 bbt doesn't mandate synth.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
184 eccdamage moved to synth.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
185
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
186 2009-06-02 Ross Younger <wry@eCosCentric.com>
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
187
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
188 * cyg_nand_init: Removed in toto, in favour of a static constructor.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
189 * Global: Replaced all use of diag_printf with new NAND_ERROR macro.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
190
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
191 2009-06-01 Ross Younger <wry@eCosCentric.com>
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
192
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
193 * src/util.c include/util.h: Created
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
194
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
195 2009-03-02 Ross Younger <wry@eCosCentric.com>
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
196
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
197 * New package. NAND flash access library.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
198
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
199 //===========================================================================
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
200 // ####ECOSGPLCOPYRIGHTBEGIN####
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
201 // -------------------------------------------
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
202 // This file is part of eCos, the Embedded Configurable Operating System.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
203 // Copyright (C) 2009 eCosCentric Limited.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
204 //
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
205 // eCos is free software; you can redistribute it and/or modify it under
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
206 // the terms of the GNU General Public License as published by the Free
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
207 // Software Foundation; either version 2 or (at your option) any later
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
208 // version.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
209 //
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
210 // eCos is distributed in the hope that it will be useful, but WITHOUT
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
211 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
212 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
213 // for more details.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
214 //
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
215 // You should have received a copy of the GNU General Public License
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
216 // along with eCos; if not, write to the Free Software Foundation, Inc.,
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
217 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
218 //
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
219 // As a special exception, if other files instantiate templates or use
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
220 // macros or inline functions from this file, or you compile this file
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
221 // and link it with other works to produce a work based on this file,
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
222 // this file does not by itself cause the resulting work to be covered by
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
223 // the GNU General Public License. However the source code for this file
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
224 // must still be made available in accordance with section (3) of the GNU
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
225 // General Public License v2.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
226 //
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
227 // This exception does not invalidate any other reasons why a work based
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
228 // on this file might be covered by the GNU General Public License.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
229 // -------------------------------------------
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
230 // ####ECOSGPLCOPYRIGHTEND####
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
231 //===========================================================================
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
232
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
233