History log of /freebsd-10-stable/sys/dev/flash/
Revision Date Author Comments
256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


254991 28-Aug-2013 loos

Fix a few typos for s25fl types.

Approved by: adrian (mentor)


251550 08-Jun-2013 adrian

Add support for two new winbond SPI flash parts.

The 8devices carambola 2 board uses the 16MB part.

Here's how it looks:

spibus0: <spibus bus> on spi0
mx25l0: <M25Pxx Flash Family> at cs 0 on spibus0
mx25l0: w25q128, sector 65536 bytes, 256 sectors

Tested:

* 8devices Carambola 2 board


242625 05-Nov-2012 dim

Remove duplicate const specifiers in many drivers (I hope I got all of
them, please let me know if not). Most of these are of the form:

static const struct bzzt_type {
[...list of members...]
} const bzzt_devs[] = {
[...list of initializers...]
};

The second const is unnecessary, as arrays cannot be modified anyway,
and if the elements are const, the whole thing is const automatically
(e.g. it is placed in .rodata).

I have verified this does not change the binary output of a full kernel
build (except for build timestamps embedded in the object files).

Reviewed by: yongari, marius
MFC after: 1 week


240939 25-Sep-2012 ray

Add more SPI flash IDs.

Submitted by: Luiz Otavio O Souza.
Submitted by: ZRouter.org project.
Approved by: adrian (menthor)


239794 28-Aug-2012 adrian

Add a new flash part - 4MB SPI flash from Winbond.


237240 18-Jun-2012 marius

Revert r236529, re-enabling verification of the flashed content as
the underlying problem was dealt with in r237239 (in fact, disabling
verification also actually only made the problem less likely to occur).


236529 03-Jun-2012 marius

Disable verification of the flashed content for now; for reasons unknown
it sometimes causes physwr to hang.


236496 03-Jun-2012 marius

- Loop up to 3 seconds when waiting for a device to get ready. [1]
- Make the device description match the driver name.
- Identify the chip variant based on the JEDEC and use that information
to use the proper values for page count, offset and size instead of
hardcoding a AT45DB642x with 2^N byte page support disabled.
- Take advantage of bioq_takefirst().
- Given that CONTINUOUS_ARRAY_READ_HF (0x0b) command isn't even mentioned
in Atmel's DataFlash Application Note, as suggested by the previous
comment may not work on all all devices and actually doesn't properly
on at least AT45DB321D (JEDEC 0x1f2701), rewrite at45d_task() to use
CONTINUOUS_ARRAY_READ (0xe8) for reading instead. This rewrite is laid
out in a way allowing to easily add support for BIO_DELETE later on.
- Add support for reads and writes not starting on a page boundary.
- Verify the flash content after writing.
- Let at45d_task() gracefully handle errors on SPI transfers and the
device not becoming ready afterwards again. [1]
- Use DEVMETHOD_END. [1]
- Use NULL instead of 0 for pointers. [1]

Additional testing by: Ian Lepore

Submitted by: Ian Lepore [1]
MFC after: 1 week


229464 04-Jan-2012 adrian

Add a couple more SPI flash device IDs found in commercial
consumer wireless kit.

Submitted by: Stefan Bethke <stb@lassitu.de>


218747 16-Feb-2011 adrian

Modify the spi flash driver to allow smaller read IO sizes, but enforce
the larger, aligned write+erase sizes the driver currently implements.

This preserves write behaviour but makes the flash driver usable for things
like a read-only FFS or a geom_uzip/geom_compress .

Note that since GEOM will now return the sector size as being smaller,
writes of sector size/alignment will now fail with an EIO. Code which
writes to the flash device will have to be (for now) manually taught
about the flash write blocksize.


218088 30-Jan-2011 adrian

Add support for the m25p64; lifted straight from Linux.

This flash chip is found on the Ubiquiti LS-SR71 board.
I've successfully tested reading; I've not tried writing to it yet.


211432 17-Aug-2010 adrian

Add s25sl064a, an 8mb SPI flash part.


210265 19-Jul-2010 adrian

Fix naming to be consistent.


210264 19-Jul-2010 adrian

Extend the mx25l erase function to support different erase commands.


210262 19-Jul-2010 adrian

Extend the mx25l flash device support to include a set of per-device
flags.

Some of these parts will support 4K/32K block erases rather than
a sector erase. This includes (at least) the MX25L128.


210238 19-Jul-2010 adrian

Include 4k/32k erase commands.

These were sourced from the MX25L128 datasheet and match up
with what is used in Linux mtd/devices/m25p80.c .

Add a FreeBSD keyword whilst I'm here.


210156 16-Jul-2010 adrian

Fix KASSERT() messages to reflect reality.


202105 11-Jan-2010 imp

Using svn cp rather than cp to copy these files over had the benefit
of preserving their history. It had the problem that it also copied
over mergeinfo data. Since we're retiring the projects/mips branch,
I'm removing the svn:mergeinfo property from them all.

Submitted by: jhb


201982 10-Jan-2010 imp

Merge from projects/mips to head by hand:

merge register definitions for mx25l flash.


201981 10-Jan-2010 imp

Merge from projects/mips to head by hand:

Merge support for MX25L spi flash.


192058 13-May-2009 gonzo

- Remove nonexistent header file from includes list


172836 20-Oct-2007 julian

Rename the kthread_xxx (e.g. kthread_create()) calls
to kproc_xxx as they actually make whole processes.
Thos makes way for us to add REAL kthread_create() and friends
that actually make theads. it turns out that most of these
calls actually end up being moved back to the thread version
when it's added. but we need to make this cosmetic change first.

I'd LOVE to do this rename in 7.0 so that we can eventually MFC the
new kthread_xxx() calls.


164742 29-Nov-2006 imp

MFp4:
Preliminary support for Atmel AT45D series of DataFlash on the
SPI bus (ok, not really a hardware bus, but a logical
connection). This works only for the 8MB version of the part
due to hard coding. Both read and write are supported.