Home | History | Annotate | only in /src/sys/dev/nand
History log of /src/sys/dev/nand
RevisionDateAuthorComments
 1.6 09-Nov-2017  jmcneill Add support for decoding legacy Toshiba TC58NVG2S0H NAND chip params.
 1.5 31-Oct-2012  riz Hook nand_samsung.c into the build, and use it if a legacy chip
from Samsung is found.
 1.4 28-Jun-2011  ahoka branches: 1.4.2; 1.4.4; 1.4.10; 1.4.16;
Refactor flash and nand driver, so we can reuse the io thread code
in the future nor driver (and any other future driver).

Also simplify some of the code in the process, eg. saner flash attachment.
 1.3 27-Mar-2011  ahoka branches: 1.3.4;
Add support for redifining page read and program functions by drivers.
Some controllers implement read/write in one step, so this is required
to support those.
 1.2 09-Mar-2011  ahoka Add support for legacy devices not supporting the ONFI READ_PARAMETER_PAGE
command with example usage for Micron chips
 1.1 26-Feb-2011  ahoka branches: 1.1.2; 1.1.4;
Import the Flash and NAND subsytem code contributed by the University
of Szeged, Hungary.

The commit includes:
- Flash layer, which gives a common API to access flash devices
- NAND controller subsystem for the flash layer
- An example OMAP driver which is used on BeagleBoard or alike ARM boards
 1.1.4.3 21-Apr-2011  rmind sync with head
 1.1.4.2 05-Mar-2011  rmind sync with head
 1.1.4.1 26-Feb-2011  rmind file files.nand was added on branch rmind-uvmplock on 2011-03-05 20:53:33 +0000
 1.1.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 26-Feb-2011  bouyer file files.nand was added on branch bouyer-quota2 on 2011-03-05 15:10:22 +0000
 1.3.4.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.4.1 27-Mar-2011  jruoho file files.nand was added on branch jruoho-x86intr on 2011-06-06 09:08:07 +0000
 1.4.16.2 03-Dec-2017  jdolecek update from HEAD
 1.4.16.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.4.10.2 27-Dec-2011  matt Merge flash/nand/nor infrastruct from matt-nb5-pq3.
 1.4.10.1 28-Jun-2011  matt file files.nand was added on branch matt-nb5-mips64 on 2011-12-27 17:35:47 +0000
 1.4.4.1 16-Jan-2013  yamt sync with (a bit old) head
 1.4.2.2 26-Jul-2011  matt Backport flash/nand/nor subsystem from -HEAD.
 1.4.2.1 28-Jun-2011  matt file files.nand was added on branch matt-nb5-pq3 on 2011-07-26 03:22:27 +0000
 1.2 07-Dec-2021  andvar fix various typos, mainly in comments.
 1.1 26-Feb-2011  ahoka branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.18;
Import the Flash and NAND subsytem code contributed by the University
of Szeged, Hungary.

The commit includes:
- Flash layer, which gives a common API to access flash devices
- NAND controller subsystem for the flash layer
- An example OMAP driver which is used on BeagleBoard or alike ARM boards
 1.1.18.2 27-Dec-2011  matt Merge flash/nand/nor infrastruct from matt-nb5-pq3.
 1.1.18.1 26-Feb-2011  matt file hamming.c was added on branch matt-nb5-mips64 on 2011-12-27 17:35:47 +0000
 1.1.10.2 26-Jul-2011  matt Backport flash/nand/nor subsystem from -HEAD.
 1.1.10.1 26-Feb-2011  matt file hamming.c was added on branch matt-nb5-pq3 on 2011-07-26 03:22:27 +0000
 1.1.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.8.1 26-Feb-2011  jruoho file hamming.c was added on branch jruoho-x86intr on 2011-06-06 09:08:07 +0000
 1.1.4.2 05-Mar-2011  rmind sync with head
 1.1.4.1 26-Feb-2011  rmind file hamming.c was added on branch rmind-uvmplock on 2011-03-05 20:53:33 +0000
 1.1.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 26-Feb-2011  bouyer file hamming.c was added on branch bouyer-quota2 on 2011-03-05 15:10:22 +0000
 1.1 26-Feb-2011  ahoka branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.18;
Import the Flash and NAND subsytem code contributed by the University
of Szeged, Hungary.

The commit includes:
- Flash layer, which gives a common API to access flash devices
- NAND controller subsystem for the flash layer
- An example OMAP driver which is used on BeagleBoard or alike ARM boards
 1.1.18.2 27-Dec-2011  matt Merge flash/nand/nor infrastruct from matt-nb5-pq3.
 1.1.18.1 26-Feb-2011  matt file hamming.h was added on branch matt-nb5-mips64 on 2011-12-27 17:35:47 +0000
 1.1.10.2 26-Jul-2011  matt Backport flash/nand/nor subsystem from -HEAD.
 1.1.10.1 26-Feb-2011  matt file hamming.h was added on branch matt-nb5-pq3 on 2011-07-26 03:22:27 +0000
 1.1.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.8.1 26-Feb-2011  jruoho file hamming.h was added on branch jruoho-x86intr on 2011-06-06 09:08:07 +0000
 1.1.4.2 05-Mar-2011  rmind sync with head
 1.1.4.1 26-Feb-2011  rmind file hamming.h was added on branch rmind-uvmplock on 2011-03-05 20:53:33 +0000
 1.1.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 26-Feb-2011  bouyer file hamming.h was added on branch bouyer-quota2 on 2011-03-05 15:10:22 +0000
 1.29 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.28 24-Apr-2021  thorpej branches: 1.28.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.27 13-Nov-2017  jmcneill branches: 1.27.20;
Add support for dynamic flash partitions
 1.26 09-Nov-2017  jmcneill Add support for decoding legacy Toshiba TC58NVG2S0H NAND chip params.
 1.25 04-Oct-2016  kiyohara Use ONFI_STATUS_WP instead of 0x80.
 1.24 04-Oct-2016  kiyohara Wait STATUS_RDY after ONFI_RESET.
 1.23 20-Oct-2013  christos branches: 1.23.6; 1.23.10;
remove unused
 1.22 03-Nov-2012  ahoka branches: 1.22.2;
Endiannes fixes from Brett Slager in ONFI Param page parsing.
Similar changes in nandemulator by me.
Remove panic about more than one LUNs.
 1.21 03-Nov-2012  ahoka Make nc_block_pages go aways, its redundant and unused.
Print more info on attach including the width.
 1.20 02-Nov-2012  pgoyette Use %zu formats to print size_t values.
 1.19 02-Nov-2012  ahoka No longer use size_t in the chip structure.
 1.18 31-Oct-2012  riz Hook nand_samsung.c into the build, and use it if a legacy chip
from Samsung is found.
 1.17 12-Jul-2012  matt branches: 1.17.2;
Deal with a spare size of 32. XXX necc_offset is only a guess.
 1.16 28-Aug-2011  martin branches: 1.16.2; 1.16.8;
Rename isbad argument to is_bad - stupid namespace pollution and ancient
bad sector routines interfere on some archs and cause global shadowing
warnings.
 1.15 15-Jul-2011  cliff branches: 1.15.2;
Add support for CFI NOR, using MPC8536DS as initial example.
Only AMD/Fujitsu command set is suported so far.
This is still work in progress, be advised.
 1.14 01-Jul-2011  ahoka Make this actually compile by adding a wrapper function which calls
flash_io_submit.
 1.13 28-Jun-2011  ahoka Refactor flash and nand driver, so we can reuse the io thread code
in the future nor driver (and any other future driver).

Also simplify some of the code in the process, eg. saner flash attachment.
 1.12 28-Jun-2011  ahoka follow bus_space conventions in naming
 1.11 01-May-2011  rmind branches: 1.11.4;
Remove trailing tabs, add RCS IDs.
 1.10 26-Apr-2011  ahoka it seems we have a config_detach_children (though undocumented)
lets use that to detach flash devices before detaching nand
 1.9 26-Apr-2011  ahoka fix some bugs in detachment
 1.8 10-Apr-2011  ahoka Fix locking and simplify some error path.
 1.7 04-Apr-2011  ahoka Fix badblock checking
Replace flash_addr_t with flash_off_t and use it to address flash everywhere
 1.6 27-Mar-2011  ahoka Add support for redifining page read and program functions by drivers.
Some controllers implement read/write in one step, so this is required
to support those.
 1.5 09-Mar-2011  ahoka Add some PRIxxx macros to correctly print stdint types
 1.4 09-Mar-2011  martin Use %zu for size_t
 1.3 09-Mar-2011  ahoka Add support for legacy devices not supporting the ONFI READ_PARAMETER_PAGE
command with example usage for Micron chips
 1.2 09-Mar-2011  ahoka cleanup comments, prototypes
remove unused leftover debug code
 1.1 26-Feb-2011  ahoka branches: 1.1.2; 1.1.4;
Import the Flash and NAND subsytem code contributed by the University
of Szeged, Hungary.

The commit includes:
- Flash layer, which gives a common API to access flash devices
- NAND controller subsystem for the flash layer
- An example OMAP driver which is used on BeagleBoard or alike ARM boards
 1.1.4.4 31-May-2011  rmind sync with head
 1.1.4.3 21-Apr-2011  rmind sync with head
 1.1.4.2 05-Mar-2011  rmind sync with head
 1.1.4.1 26-Feb-2011  rmind file nand.c was added on branch rmind-uvmplock on 2011-03-05 20:53:33 +0000
 1.1.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 26-Feb-2011  bouyer file nand.c was added on branch bouyer-quota2 on 2011-03-05 15:10:22 +0000
 1.11.4.2 06-Jun-2011  jruoho Sync with HEAD.
 1.11.4.1 01-May-2011  jruoho file nand.c was added on branch jruoho-x86intr on 2011-06-06 09:08:07 +0000
 1.15.2.2 26-Jul-2011  matt Backport flash/nand/nor subsystem from -HEAD.
 1.15.2.1 15-Jul-2011  matt file nand.c was added on branch matt-nb5-pq3 on 2011-07-26 03:22:27 +0000
 1.16.8.2 27-Dec-2011  matt Merge flash/nand/nor infrastruct from matt-nb5-pq3.
 1.16.8.1 28-Aug-2011  matt file nand.c was added on branch matt-nb5-mips64 on 2011-12-27 17:35:47 +0000
 1.16.2.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.16.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.16.2.1 30-Oct-2012  yamt sync with head
 1.17.2.3 03-Dec-2017  jdolecek update from HEAD
 1.17.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.17.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.22.2.1 18-May-2014  rmind sync with head
 1.23.10.1 04-Nov-2016  pgoyette Sync with HEAD
 1.23.6.1 05-Dec-2016  skrll Sync with HEAD
 1.27.20.5 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.27.20.4 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.27.20.3 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.27.20.2 02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.27.20.1 20-Mar-2021  thorpej The proliferation if config_search_*() and config_found_*() combinations
is a little absurd, so begin to tidy this up:

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.28.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.21 07-Aug-2022  andvar fix various typos in comments, documentation and messages.
mainly s/paramater/parameter/ and s/reduntant/redundant/.
 1.20 06-Jul-2020  rin Include opt_nand.h for NAND_DEBUG.
 1.19 19-Apr-2018  christos s/static inline/static __inline/g for consistency.
 1.18 13-Nov-2017  jmcneill branches: 1.18.2;
Add support for dynamic flash partitions
 1.17 09-Nov-2017  jmcneill Add support for decoding legacy Toshiba TC58NVG2S0H NAND chip params.
 1.16 03-Nov-2012  ahoka Make nc_block_pages go aways, its redundant and unused.
Print more info on attach including the width.
 1.15 02-Nov-2012  ahoka No longer use size_t in the chip structure.
 1.14 31-Oct-2012  riz Hook nand_samsung.c into the build, and use it if a legacy chip
from Samsung is found.
 1.13 15-Jul-2011  cliff branches: 1.13.2; 1.13.4; 1.13.10; 1.13.16;
Add support for CFI NOR, using MPC8536DS as initial example.
Only AMD/Fujitsu command set is suported so far.
This is still work in progress, be advised.
 1.12 01-Jul-2011  ahoka Make this actually compile by adding a wrapper function which calls
flash_io_submit.
 1.11 28-Jun-2011  ahoka Refactor flash and nand driver, so we can reuse the io thread code
in the future nor driver (and any other future driver).

Also simplify some of the code in the process, eg. saner flash attachment.
 1.10 28-Jun-2011  ahoka follow bus_space conventions in naming
 1.9 01-May-2011  ahoka branches: 1.9.4;
fix some bugs and simplify locking
from rmind
 1.8 26-Apr-2011  ahoka it seems we have a config_detach_children (though undocumented)
lets use that to detach flash devices before detaching nand
 1.7 26-Apr-2011  ahoka fix some bugs in detachment
 1.6 10-Apr-2011  ahoka Fix locking and simplify some error path.
 1.5 04-Apr-2011  ahoka Fix badblock checking
Replace flash_addr_t with flash_off_t and use it to address flash everywhere
 1.4 27-Mar-2011  ahoka Add support for redifining page read and program functions by drivers.
Some controllers implement read/write in one step, so this is required
to support those.
 1.3 09-Mar-2011  ahoka Add support for legacy devices not supporting the ONFI READ_PARAMETER_PAGE
command with example usage for Micron chips
 1.2 05-Mar-2011  jruoho branches: 1.2.2; 1.2.4;
KNF.
 1.1 26-Feb-2011  ahoka Import the Flash and NAND subsytem code contributed by the University
of Szeged, Hungary.

The commit includes:
- Flash layer, which gives a common API to access flash devices
- NAND controller subsystem for the flash layer
- An example OMAP driver which is used on BeagleBoard or alike ARM boards
 1.2.4.5 31-May-2011  rmind sync with head
 1.2.4.4 21-Apr-2011  rmind sync with head
 1.2.4.3 06-Mar-2011  rmind sync with head (and fix few botches with this)
 1.2.4.2 05-Mar-2011  rmind sync with head
 1.2.4.1 05-Mar-2011  rmind file nand.h was added on branch rmind-uvmplock on 2011-03-05 20:53:33 +0000
 1.2.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.2.2.1 05-Mar-2011  bouyer file nand.h was added on branch bouyer-quota2 on 2011-03-05 15:10:22 +0000
 1.9.4.2 06-Jun-2011  jruoho Sync with HEAD.
 1.9.4.1 01-May-2011  jruoho file nand.h was added on branch jruoho-x86intr on 2011-06-06 09:08:08 +0000
 1.13.16.2 03-Dec-2017  jdolecek update from HEAD
 1.13.16.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.13.10.2 27-Dec-2011  matt Merge flash/nand/nor infrastruct from matt-nb5-pq3.
 1.13.10.1 15-Jul-2011  matt file nand.h was added on branch matt-nb5-mips64 on 2011-12-27 17:35:48 +0000
 1.13.4.1 16-Jan-2013  yamt sync with (a bit old) head
 1.13.2.2 26-Jul-2011  matt Backport flash/nand/nor subsystem from -HEAD.
 1.13.2.1 15-Jul-2011  matt file nand.h was added on branch matt-nb5-pq3 on 2011-07-26 03:22:27 +0000
 1.18.2.1 22-Apr-2018  pgoyette Sync with HEAD
 1.8 08-Feb-2018  mrg update for GCC 6:
- nand_bbt_block_mark() has a left-shift of negative value issue.
this change avoids it, but reviewers indicate this function has
other problems.
 1.7 22-Oct-2013  htodd Fix build for missing chip.
 1.6 21-Oct-2013  mbalmer chip unused variable; let the system build again
 1.5 21-Oct-2013  christos remove DIAGNOSTIC ifdef in preparation of a KASSERT that consumes its
arguments
 1.4 01-May-2011  rmind branches: 1.4.4; 1.4.6; 1.4.8; 1.4.14; 1.4.20; 1.4.24;
Remove trailing tabs, add RCS IDs.
 1.3 26-Apr-2011  ahoka fix some bugs in detachment
 1.2 04-Apr-2011  ahoka Fix badblock checking
Replace flash_addr_t with flash_off_t and use it to address flash everywhere
 1.1 26-Feb-2011  ahoka branches: 1.1.2; 1.1.4;
Import the Flash and NAND subsytem code contributed by the University
of Szeged, Hungary.

The commit includes:
- Flash layer, which gives a common API to access flash devices
- NAND controller subsystem for the flash layer
- An example OMAP driver which is used on BeagleBoard or alike ARM boards
 1.1.4.4 31-May-2011  rmind sync with head
 1.1.4.3 21-Apr-2011  rmind sync with head
 1.1.4.2 05-Mar-2011  rmind sync with head
 1.1.4.1 26-Feb-2011  rmind file nand_bbt.c was added on branch rmind-uvmplock on 2011-03-05 20:53:33 +0000
 1.1.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 26-Feb-2011  bouyer file nand_bbt.c was added on branch bouyer-quota2 on 2011-03-05 15:10:22 +0000
 1.4.24.1 18-May-2014  rmind sync with head
 1.4.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.14.2 27-Dec-2011  matt Merge flash/nand/nor infrastruct from matt-nb5-pq3.
 1.4.14.1 01-May-2011  matt file nand_bbt.c was added on branch matt-nb5-mips64 on 2011-12-27 17:35:48 +0000
 1.4.8.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.4.6.2 26-Jul-2011  matt Backport flash/nand/nor subsystem from -HEAD.
 1.4.6.1 01-May-2011  matt file nand_bbt.c was added on branch matt-nb5-pq3 on 2011-07-26 03:22:27 +0000
 1.4.4.2 06-Jun-2011  jruoho Sync with HEAD.
 1.4.4.1 01-May-2011  jruoho file nand_bbt.c was added on branch jruoho-x86intr on 2011-06-06 09:08:08 +0000
 1.2 04-Apr-2011  ahoka branches: 1.2.4; 1.2.6; 1.2.14;
Fix badblock checking
Replace flash_addr_t with flash_off_t and use it to address flash everywhere
 1.1 26-Feb-2011  ahoka branches: 1.1.2; 1.1.4;
Import the Flash and NAND subsytem code contributed by the University
of Szeged, Hungary.

The commit includes:
- Flash layer, which gives a common API to access flash devices
- NAND controller subsystem for the flash layer
- An example OMAP driver which is used on BeagleBoard or alike ARM boards
 1.1.4.3 21-Apr-2011  rmind sync with head
 1.1.4.2 05-Mar-2011  rmind sync with head
 1.1.4.1 26-Feb-2011  rmind file nand_bbt.h was added on branch rmind-uvmplock on 2011-03-05 20:53:33 +0000
 1.1.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 26-Feb-2011  bouyer file nand_bbt.h was added on branch bouyer-quota2 on 2011-03-05 15:10:22 +0000
 1.2.14.2 27-Dec-2011  matt Merge flash/nand/nor infrastruct from matt-nb5-pq3.
 1.2.14.1 04-Apr-2011  matt file nand_bbt.h was added on branch matt-nb5-mips64 on 2011-12-27 17:35:48 +0000
 1.2.6.2 26-Jul-2011  matt Backport flash/nand/nor subsystem from -HEAD.
 1.2.6.1 04-Apr-2011  matt file nand_bbt.h was added on branch matt-nb5-pq3 on 2011-07-26 03:22:27 +0000
 1.2.4.2 06-Jun-2011  jruoho Sync with HEAD.
 1.2.4.1 04-Apr-2011  jruoho file nand_bbt.h was added on branch jruoho-x86intr on 2011-06-06 09:08:08 +0000
 1.1 26-Feb-2011  ahoka branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.18;
Import the Flash and NAND subsytem code contributed by the University
of Szeged, Hungary.

The commit includes:
- Flash layer, which gives a common API to access flash devices
- NAND controller subsystem for the flash layer
- An example OMAP driver which is used on BeagleBoard or alike ARM boards
 1.1.18.2 27-Dec-2011  matt Merge flash/nand/nor infrastruct from matt-nb5-pq3.
 1.1.18.1 26-Feb-2011  matt file nand_crc.c was added on branch matt-nb5-mips64 on 2011-12-27 17:35:48 +0000
 1.1.10.2 26-Jul-2011  matt Backport flash/nand/nor subsystem from -HEAD.
 1.1.10.1 26-Feb-2011  matt file nand_crc.c was added on branch matt-nb5-pq3 on 2011-07-26 03:22:27 +0000
 1.1.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.8.1 26-Feb-2011  jruoho file nand_crc.c was added on branch jruoho-x86intr on 2011-06-06 09:08:08 +0000
 1.1.4.2 05-Mar-2011  rmind sync with head
 1.1.4.1 26-Feb-2011  rmind file nand_crc.c was added on branch rmind-uvmplock on 2011-03-05 20:53:33 +0000
 1.1.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 26-Feb-2011  bouyer file nand_crc.c was added on branch bouyer-quota2 on 2011-03-05 15:10:22 +0000
 1.1 26-Feb-2011  ahoka branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.18;
Import the Flash and NAND subsytem code contributed by the University
of Szeged, Hungary.

The commit includes:
- Flash layer, which gives a common API to access flash devices
- NAND controller subsystem for the flash layer
- An example OMAP driver which is used on BeagleBoard or alike ARM boards
 1.1.18.2 27-Dec-2011  matt Merge flash/nand/nor infrastruct from matt-nb5-pq3.
 1.1.18.1 26-Feb-2011  matt file nand_crc.h was added on branch matt-nb5-mips64 on 2011-12-27 17:35:48 +0000
 1.1.10.2 26-Jul-2011  matt Backport flash/nand/nor subsystem from -HEAD.
 1.1.10.1 26-Feb-2011  matt file nand_crc.h was added on branch matt-nb5-pq3 on 2011-07-26 03:22:27 +0000
 1.1.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.8.1 26-Feb-2011  jruoho file nand_crc.h was added on branch jruoho-x86intr on 2011-06-06 09:08:08 +0000
 1.1.4.2 05-Mar-2011  rmind sync with head
 1.1.4.1 26-Feb-2011  rmind file nand_crc.h was added on branch rmind-uvmplock on 2011-03-05 20:53:33 +0000
 1.1.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 26-Feb-2011  bouyer file nand_crc.h was added on branch bouyer-quota2 on 2011-03-05 15:10:22 +0000
 1.8 28-Jun-2011  ahoka Refactor flash and nand driver, so we can reuse the io thread code
in the future nor driver (and any other future driver).

Also simplify some of the code in the process, eg. saner flash attachment.
 1.7 28-Jun-2011  ahoka disable a debug printf and split it, as it's acutally two conditions
 1.6 01-May-2011  ahoka branches: 1.6.4;
fix some bugs and simplify locking
from rmind
 1.5 01-May-2011  rmind Remove trailing tabs, add RCS IDs.
 1.4 26-Apr-2011  ahoka whitespace
 1.3 26-Apr-2011  ahoka fix some bugs in detachment
 1.2 04-Apr-2011  ahoka Fix badblock checking
Replace flash_addr_t with flash_off_t and use it to address flash everywhere
 1.1 26-Feb-2011  ahoka branches: 1.1.2; 1.1.4;
Import the Flash and NAND subsytem code contributed by the University
of Szeged, Hungary.

The commit includes:
- Flash layer, which gives a common API to access flash devices
- NAND controller subsystem for the flash layer
- An example OMAP driver which is used on BeagleBoard or alike ARM boards
 1.1.4.4 31-May-2011  rmind sync with head
 1.1.4.3 21-Apr-2011  rmind sync with head
 1.1.4.2 05-Mar-2011  rmind sync with head
 1.1.4.1 26-Feb-2011  rmind file nand_io.c was added on branch rmind-uvmplock on 2011-03-05 20:53:33 +0000
 1.1.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 26-Feb-2011  bouyer file nand_io.c was added on branch bouyer-quota2 on 2011-03-05 15:10:22 +0000
 1.6.4.2 06-Jun-2011  jruoho Sync with HEAD.
 1.6.4.1 01-May-2011  jruoho file nand_io.c was added on branch jruoho-x86intr on 2011-06-06 09:08:08 +0000
 1.8 03-Nov-2012  ahoka Make nc_block_pages go aways, its redundant and unused.
Print more info on attach including the width.
 1.7 02-Nov-2012  ahoka No longer use size_t in the chip structure.
 1.6 15-Jul-2011  cliff branches: 1.6.2; 1.6.4; 1.6.10; 1.6.16;
Add support for CFI NOR, using MPC8536DS as initial example.
Only AMD/Fujitsu command set is suported so far.
This is still work in progress, be advised.
 1.5 28-Jun-2011  ahoka follow bus_space conventions in naming
 1.4 01-May-2011  rmind branches: 1.4.4;
Remove trailing tabs, add RCS IDs.
 1.3 18-Mar-2011  ahoka branches: 1.3.2;
use %zu for size_t, also add rcsid
 1.2 18-Mar-2011  cliff - add suport for MT29FxGx family devices
 1.1 09-Mar-2011  ahoka Add support for legacy devices not supporting the ONFI READ_PARAMETER_PAGE
command with example usage for Micron chips
 1.3.2.3 31-May-2011  rmind sync with head
 1.3.2.2 21-Apr-2011  rmind sync with head
 1.3.2.1 18-Mar-2011  rmind file nand_micron.c was added on branch rmind-uvmplock on 2011-04-21 01:41:48 +0000
 1.4.4.2 06-Jun-2011  jruoho Sync with HEAD.
 1.4.4.1 01-May-2011  jruoho file nand_micron.c was added on branch jruoho-x86intr on 2011-06-06 09:08:08 +0000
 1.6.16.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.6.10.2 27-Dec-2011  matt Merge flash/nand/nor infrastruct from matt-nb5-pq3.
 1.6.10.1 15-Jul-2011  matt file nand_micron.c was added on branch matt-nb5-mips64 on 2011-12-27 17:35:48 +0000
 1.6.4.1 16-Jan-2013  yamt sync with (a bit old) head
 1.6.2.2 26-Jul-2011  matt Backport flash/nand/nor subsystem from -HEAD.
 1.6.2.1 15-Jul-2011  matt file nand_micron.c was added on branch matt-nb5-pq3 on 2011-07-26 03:22:28 +0000
 1.10 09-Nov-2017  jmcneill ul is not 64-bit on all platforms, use ull when calculating planesize
 1.9 03-Nov-2012  ahoka branches: 1.9.2; 1.9.4;
Make nc_block_pages go aways, its redundant and unused.
Print more info on attach including the width.
 1.8 02-Nov-2012  ahoka Hah! Size is actually in megaBIT!
 1.7 02-Nov-2012  ahoka Set nc_block_pages
 1.6 02-Nov-2012  ahoka Add assertions and remove bogus ctassert.
 1.5 02-Nov-2012  ahoka Fix a typo and add a debug print.
 1.4 31-Oct-2012  riz Avoid a 'may be used uninitialized' warning.
 1.3 31-Oct-2012  ahoka Fill more info in nand chip structure.
 1.2 30-Oct-2012  riz Make this compile. (Still untested)
 1.1 30-Oct-2012  ahoka Add support for samsung devices, currently a draft to aid Kirkwood NAND
driver development.
 1.9.4.2 16-Jan-2013  yamt sync with (a bit old) head
 1.9.4.1 03-Nov-2012  yamt file nand_samsung.c was added on branch yamt-pagecache on 2013-01-16 05:33:17 +0000
 1.9.2.3 03-Dec-2017  jdolecek update from HEAD
 1.9.2.2 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.9.2.1 03-Nov-2012  tls file nand_samsung.c was added on branch tls-maxphys on 2012-11-20 03:02:13 +0000
 1.1 09-Nov-2017  jmcneill branches: 1.1.2;
Add support for decoding legacy Toshiba TC58NVG2S0H NAND chip params.
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 09-Nov-2017  jdolecek file nand_toshiba.c was added on branch tls-maxphys on 2017-12-03 11:37:06 +0000
 1.10 10-May-2023  riastradh nandemulator(4): Use config_detach_children.
 1.9 01-Oct-2019  chs in many device attach paths, allocate memory with KM_SLEEP instead of KM_NOSLEEP
and remove code to handle failures that can no longer happen.
 1.8 05-Feb-2019  mrg add fallthru comments, and a comment this code needs attention
 1.7 20-Aug-2015  christos branches: 1.7.8; 1.7.18;
include "ioconf.h" to get the 'void <driver>attach(int count);' prototype.
 1.6 03-Nov-2012  ahoka branches: 1.6.14;
Endiannes fixes from Brett Slager in ONFI Param page parsing.
Similar changes in nandemulator by me.
Remove panic about more than one LUNs.
 1.5 28-Jun-2011  ahoka branches: 1.5.2; 1.5.4; 1.5.10; 1.5.16;
adjust to nand changes
 1.4 26-Apr-2011  ahoka branches: 1.4.4;
fix some bugs in detachment
 1.3 10-Apr-2011  ahoka Add some KASSERTs and a few more debug printf
 1.2 27-Mar-2011  ahoka Add support for redifining page read and program functions by drivers.
Some controllers implement read/write in one step, so this is required
to support those.
 1.1 26-Feb-2011  ahoka branches: 1.1.2; 1.1.4;
Import the Flash and NAND subsytem code contributed by the University
of Szeged, Hungary.

The commit includes:
- Flash layer, which gives a common API to access flash devices
- NAND controller subsystem for the flash layer
- An example OMAP driver which is used on BeagleBoard or alike ARM boards
 1.1.4.4 31-May-2011  rmind sync with head
 1.1.4.3 21-Apr-2011  rmind sync with head
 1.1.4.2 05-Mar-2011  rmind sync with head
 1.1.4.1 26-Feb-2011  rmind file nandemulator.c was added on branch rmind-uvmplock on 2011-03-05 20:53:33 +0000
 1.1.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 26-Feb-2011  bouyer file nandemulator.c was added on branch bouyer-quota2 on 2011-03-05 15:10:22 +0000
 1.4.4.2 06-Jun-2011  jruoho Sync with HEAD.
 1.4.4.1 26-Apr-2011  jruoho file nandemulator.c was added on branch jruoho-x86intr on 2011-06-06 09:08:08 +0000
 1.5.16.2 03-Dec-2017  jdolecek update from HEAD
 1.5.16.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.5.10.2 27-Dec-2011  matt Merge flash/nand/nor infrastruct from matt-nb5-pq3.
 1.5.10.1 28-Jun-2011  matt file nandemulator.c was added on branch matt-nb5-mips64 on 2011-12-27 17:35:48 +0000
 1.5.4.1 16-Jan-2013  yamt sync with (a bit old) head
 1.5.2.2 26-Jul-2011  matt Backport flash/nand/nor subsystem from -HEAD.
 1.5.2.1 28-Jun-2011  matt file nandemulator.c was added on branch matt-nb5-pq3 on 2011-07-26 03:22:28 +0000
 1.6.14.1 22-Sep-2015  skrll Sync with HEAD
 1.7.18.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7.18.1 10-Jun-2019  christos Sync with HEAD
 1.7.8.1 17-May-2017  pgoyette At suggestion of chuq@, modify config_attach_pseudo() to return with a
reference held on the device.

Adapt callers to expect the reference to exist, and to ensure that the
reference is released.
 1.1 26-Feb-2011  ahoka branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.18;
Import the Flash and NAND subsytem code contributed by the University
of Szeged, Hungary.

The commit includes:
- Flash layer, which gives a common API to access flash devices
- NAND controller subsystem for the flash layer
- An example OMAP driver which is used on BeagleBoard or alike ARM boards
 1.1.18.2 27-Dec-2011  matt Merge flash/nand/nor infrastruct from matt-nb5-pq3.
 1.1.18.1 26-Feb-2011  matt file nandemulator.h was added on branch matt-nb5-mips64 on 2011-12-27 17:35:48 +0000
 1.1.10.2 26-Jul-2011  matt Backport flash/nand/nor subsystem from -HEAD.
 1.1.10.1 26-Feb-2011  matt file nandemulator.h was added on branch matt-nb5-pq3 on 2011-07-26 03:22:28 +0000
 1.1.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.8.1 26-Feb-2011  jruoho file nandemulator.h was added on branch jruoho-x86intr on 2011-06-06 09:08:08 +0000
 1.1.4.2 05-Mar-2011  rmind sync with head
 1.1.4.1 26-Feb-2011  rmind file nandemulator.h was added on branch rmind-uvmplock on 2011-03-05 20:53:33 +0000
 1.1.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 26-Feb-2011  bouyer file nandemulator.h was added on branch bouyer-quota2 on 2011-03-05 15:10:22 +0000
 1.4 03-Jun-2022  andvar fix folloing->following typos in more files.
also s/begginning/beginning/.
 1.3 05-Dec-2021  msaitoh s/gurantee/guarantee/ in comment.
 1.2 26-Dec-2019  msaitoh s/lenght/length/
 1.1 26-Feb-2011  ahoka branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.18; 1.1.66;
Import the Flash and NAND subsytem code contributed by the University
of Szeged, Hungary.

The commit includes:
- Flash layer, which gives a common API to access flash devices
- NAND controller subsystem for the flash layer
- An example OMAP driver which is used on BeagleBoard or alike ARM boards
 1.1.66.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.18.2 27-Dec-2011  matt Merge flash/nand/nor infrastruct from matt-nb5-pq3.
 1.1.18.1 26-Feb-2011  matt file onfi.h was added on branch matt-nb5-mips64 on 2011-12-27 17:35:48 +0000
 1.1.10.2 26-Jul-2011  matt Backport flash/nand/nor subsystem from -HEAD.
 1.1.10.1 26-Feb-2011  matt file onfi.h was added on branch matt-nb5-pq3 on 2011-07-26 03:22:28 +0000
 1.1.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.8.1 26-Feb-2011  jruoho file onfi.h was added on branch jruoho-x86intr on 2011-06-06 09:08:08 +0000
 1.1.4.2 05-Mar-2011  rmind sync with head
 1.1.4.1 26-Feb-2011  rmind file onfi.h was added on branch rmind-uvmplock on 2011-03-05 20:53:33 +0000
 1.1.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 26-Feb-2011  bouyer file onfi.h was added on branch bouyer-quota2 on 2011-03-05 15:10:22 +0000

RSS XML Feed