annotate packages/io/nand/current/ChangeLog @ 3379:b1e9145ae7cd

packages/io/nand/current/tests/nand_rwbenchmark.c: Add CYG_TEST_INIT() before CYG_TEST_NA() to allow auto-testing cyg_test_init() breakpoint to work.
author James G. Smith <jsmith@ecoscentric.com>
date Tue, 17 Apr 2012 11:47:40 +0100
parents c61c25416156
children 6d93cd3d3350
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
3379
b1e9145ae7cd packages/io/nand/current/tests/nand_rwbenchmark.c: Add CYG_TEST_INIT() before CYG_TEST_NA() to allow auto-testing cyg_test_init() breakpoint to work.
James G. Smith <jsmith@ecoscentric.com>
parents: 3378
diff changeset
5 2012-04-17 James Smith <jsmith@ecoscentric.com>
b1e9145ae7cd packages/io/nand/current/tests/nand_rwbenchmark.c: Add CYG_TEST_INIT() before CYG_TEST_NA() to allow auto-testing cyg_test_init() breakpoint to work.
James G. Smith <jsmith@ecoscentric.com>
parents: 3378
diff changeset
6
b1e9145ae7cd packages/io/nand/current/tests/nand_rwbenchmark.c: Add CYG_TEST_INIT() before CYG_TEST_NA() to allow auto-testing cyg_test_init() breakpoint to work.
James G. Smith <jsmith@ecoscentric.com>
parents: 3378
diff changeset
7 * tests/nand_rwbenchmark.c (cyg_user_start): Add CYG_TEST_INIT()
b1e9145ae7cd packages/io/nand/current/tests/nand_rwbenchmark.c: Add CYG_TEST_INIT() before CYG_TEST_NA() to allow auto-testing cyg_test_init() breakpoint to work.
James G. Smith <jsmith@ecoscentric.com>
parents: 3378
diff changeset
8 to allow auto-testing to stop on cyg_test_init().
b1e9145ae7cd packages/io/nand/current/tests/nand_rwbenchmark.c: Add CYG_TEST_INIT() before CYG_TEST_NA() to allow auto-testing cyg_test_init() breakpoint to work.
James G. Smith <jsmith@ecoscentric.com>
parents: 3378
diff changeset
9
3378
c61c25416156 * src/nand.c (valid_page_addr): Silence signed/unsigned warning.
Jonathan Larmour <jifl@eCosCentric.com>
parents: 3377
diff changeset
10 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
11
c61c25416156 * src/nand.c (valid_page_addr): Silence signed/unsigned warning.
Jonathan Larmour <jifl@eCosCentric.com>
parents: 3377
diff changeset
12 * 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
13
3377
84277d0be0b2 Use correct format for FAIL output when using diag_printf to construct
Jonathan Larmour <jifl@eCosCentric.com>
parents: 3376
diff changeset
14 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
15
84277d0be0b2 Use correct format for FAIL output when using diag_printf to construct
Jonathan Larmour <jifl@eCosCentric.com>
parents: 3376
diff changeset
16 * 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
17 FAIL output.
84277d0be0b2 Use correct format for FAIL output when using diag_printf to construct
Jonathan Larmour <jifl@eCosCentric.com>
parents: 3376
diff changeset
18
3376
23d6949cfdbd nand.c: Fix name of cyg_nandp_bbt_markbad_pageaddr to match header.
Ross Younger <wry@ecoscentric.com>
parents: 3369
diff changeset
19 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
20
3376
23d6949cfdbd nand.c: Fix name of cyg_nandp_bbt_markbad_pageaddr to match header.
Ross Younger <wry@ecoscentric.com>
parents: 3369
diff changeset
21 * 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
22
3017
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
23 2010-04-20 Ross Younger <wry@eCosCentric.com>
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
24
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
25 * 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
26 calculate functions during reads and writes, as needed by some
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
27 hardware ECC implementations. Defines
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
28 CYGSEM_IO_NAND_ECC_SPLIT_FUNCTION.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
29 * nandunit.c nand_eccequiv.c nand_sweccwalk.c: Fix up.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
30 * nand.c nand_oob.c: Fix uninitialised OOB issue.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
31 * tests/nand_readwrite.c: Add further checks to confirm
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
32 the spare area works as expected.
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-16 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 * tests: Prefix test names with "nand", for consistency.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
37 * utils/erasenand.c: Fix off-by-one error.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
38
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
39 2010-03-12 Ross Younger <wry@eCosCentric.com>
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 * 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
42 underlying driver.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
43 * 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
44 definition of CYG_NAND_PARTITION_NBLOCKS.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
45
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
46 2009-11-24 Ross Younger <wry@eCosCentric.com>
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
47
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
48 * tests/rwbenchmark.c: Add bulk-read and bulk-write modes
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
49 which measure time for a whole block. Improve timing output
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
50 to scale itself to milliseconds where appropriate.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
51
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
52 * 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
53 for use in other packages.
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
54
2994
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
55 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
56
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
57 Significant interface change.
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
58 * 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
59 addresses, not device-relative addresses.
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
60 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
61 interface, change the name).
3d3b0d53c2e5 NAND: application interface v2: functions take partition-relative addresses.
Ross Younger <wry@ecoscentric.com>
parents: 2992
diff changeset
62 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
63 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
64 * 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
65 * 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
66 - 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
67 * 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
68
2992
d0daa15943a5 NAND: cosmetic messages fix
Ross Younger <wry@ecoscentric.com>
parents: 2991
diff changeset
69 2009-11-17 Ross Younger <wry@eCosCentric.com>
d0daa15943a5 NAND: cosmetic messages fix
Ross Younger <wry@ecoscentric.com>
parents: 2991
diff changeset
70
d0daa15943a5 NAND: cosmetic messages fix
Ross Younger <wry@ecoscentric.com>
parents: 2991
diff changeset
71 * nand.c: Cosmetic messages fix
d0daa15943a5 NAND: cosmetic messages fix
Ross Younger <wry@ecoscentric.com>
parents: 2991
diff changeset
72
2988
5cd059c3887b Fix fencepost error in erasenand.c
Ross Younger <wry@ecoscentric.com>
parents: 2976
diff changeset
73 2009-11-13 Ross Younger <wry@eCosCentric.com>
5cd059c3887b Fix fencepost error in erasenand.c
Ross Younger <wry@ecoscentric.com>
parents: 2976
diff changeset
74
5cd059c3887b Fix fencepost error in erasenand.c
Ross Younger <wry@ecoscentric.com>
parents: 2976
diff changeset
75 * 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
76 * 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
77 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
78 * 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
79 * 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
80
2976
758f9d488949 NAND: Add timing instrumentation hooks (disabled by default)
Ross Younger <wry@ecoscentric.com>
parents: 2975
diff changeset
81 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
82
758f9d488949 NAND: Add timing instrumentation hooks (disabled by default)
Ross Younger <wry@ecoscentric.com>
parents: 2975
diff changeset
83 * nand.c: Add timing instrumentation hooks.
758f9d488949 NAND: Add timing instrumentation hooks (disabled by default)
Ross Younger <wry@ecoscentric.com>
parents: 2975
diff changeset
84 * 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
85 * 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
86
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
87 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
88
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
89 * 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
90 * 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
91 * 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
92 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
93 * 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
94 + 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
95 * 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
96 * 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
97 * 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
98 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
99 been written. Cure an internal race.
2974
54682dd5e6fe NAND: Speed up software ECC checking phase
Ross Younger <wry@ecoscentric.com>
parents: 2969
diff changeset
100 * 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
101
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
102 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
103
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 * 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
105 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
106 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
107 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
108 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
109 * tests: Update to suit the above.
2964
b3d2f083ab91 NAND: Create software ECC equivalence test
Ross Younger <wry@ecoscentric.com>
parents: 2963
diff changeset
110 * 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
111
2951
0eb1d8b14623 NAND: update doc for recent changes; document ECC alg interface
Ross Younger <wry@ecoscentric.com>
parents: 2950
diff changeset
112 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
113
f14749d39b9c NAND: implement CYGSEM_IO_NAND_USE_BBT
Ross Younger <wry@ecoscentric.com>
parents: 2944
diff changeset
114 * 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
115 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
116 * 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
117 as the tests.
2950
cde493f78168 NAND: add sweccwalk test
Ross Younger <wry@ecoscentric.com>
parents: 2949
diff changeset
118 * tests/sweccwalk.c: Created (software ECC bit-walker and repair
cde493f78168 NAND: add sweccwalk test
Ross Younger <wry@ecoscentric.com>
parents: 2949
diff changeset
119 consistency checks)
2951
0eb1d8b14623 NAND: update doc for recent changes; document ECC alg interface
Ross Younger <wry@ecoscentric.com>
parents: 2950
diff changeset
120 * 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
121 interface.
2952
56aff9481398 NAND: make rwbenchmark check its work
Ross Younger <wry@ecoscentric.com>
parents: 2951
diff changeset
122 * 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
123 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
124
2944
32bcd454bda4 Major update to allow hardware ECC: change driver interface (to "v2" - with CDL marker), expand ECC interface
wry
parents: 2943
diff changeset
125 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
126
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_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
128 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
129 * 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
130 * 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
131 * 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
132 * 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
133 * 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
134 - 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
135 * 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
136 * 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
137
2943
cc87500cad3c NAND/synth tests: Don't put large arrays on stack. (#1000826)
wry
parents: 2937
diff changeset
138 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
139
cc87500cad3c NAND/synth tests: Don't put large arrays on stack. (#1000826)
wry
parents: 2937
diff changeset
140 * 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
141
2937
c3c708068a37 move bbt and multipagebbt to synth nand
wry
parents: 2930
diff changeset
142 2009-08-28 Ross Younger <wry@eCosCentric.com>
c3c708068a37 move bbt and multipagebbt to synth nand
wry
parents: 2930
diff changeset
143
c3c708068a37 move bbt and multipagebbt to synth nand
wry
parents: 2930
diff changeset
144 * 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
145 their individual driver packages.
c3c708068a37 move bbt and multipagebbt to synth nand
wry
parents: 2930
diff changeset
146 * tests: Moved bbt.c and multipagebbt.c into devs/nand/synth/
c3c708068a37 move bbt and multipagebbt to synth nand
wry
parents: 2930
diff changeset
147
2930
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
148 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
149
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
150 * 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
151
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
152 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
153
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
154 * 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
155
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
156 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
157
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
158 * 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
159
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
160 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
161
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
162 * 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
163
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
164 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
165
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
166 * tests: Add rwbenchmark.c
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
167
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
168 2009-06-17 Ross Younger <wry@eCosCentric.com>
3017
8502a048ad17 Update NAND to latest
Ross Younger <wry@ecoscentric.com>
parents: 2994
diff changeset
169
2930
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
170 * 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
171 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
172 * 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
173 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
174 Add dependency on stdlib.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
175 * 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
176 * 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
177 * 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
178 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
179 when writing out. Add more assertions.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
180 * 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
181 Header made internal.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
182 * 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
183 * 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
184 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
185 * doc: Linewrap for consistency
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
186 * 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
187 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
188 bbt doesn't mandate synth.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
189 eccdamage moved to synth.
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-02 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 * 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
194 * 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
195
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
196 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
197
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
198 * 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
199
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
200 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
201
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
202 * New package. NAND flash access library.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
203
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 // ####ECOSGPLCOPYRIGHTBEGIN####
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
206 // -------------------------------------------
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
207 // 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
208 // Copyright (C) 2009 eCosCentric Limited.
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 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
211 // 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
212 // 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
213 // version.
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 // 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
216 // 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
217 // 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
218 // for more details.
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
219 //
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
220 // 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
221 // 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
222 // 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
223 //
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
224 // 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
225 // 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
226 // 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
227 // 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
228 // 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
229 // 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
230 // General Public License v2.
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 // 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
233 // 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
234 // -------------------------------------------
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
235 // ####ECOSGPLCOPYRIGHTEND####
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
236 //===========================================================================
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
237
6efd22c2e7b1 Import anoncvs-based NAND and device drivers to 20090826
Ross Younger <wry@ecoscentric.com>
parents:
diff changeset
238