svn commit: r210264 - head/sys/dev/flash
Adrian Chadd
adrian at FreeBSD.org
Mon Jul 19 21:46:40 UTC 2010
Author: adrian
Date: Mon Jul 19 21:46:40 2010
New Revision: 210264
URL: http://svn.freebsd.org/changeset/base/210264
Log:
Extend the mx25l erase function to support different erase commands.
Modified:
head/sys/dev/flash/mx25l.c
Modified: head/sys/dev/flash/mx25l.c
==============================================================================
--- head/sys/dev/flash/mx25l.c Mon Jul 19 21:41:54 2010 (r210263)
+++ head/sys/dev/flash/mx25l.c Mon Jul 19 21:46:40 2010 (r210264)
@@ -184,7 +184,7 @@ mx25l_set_writable(device_t dev, int wri
}
static void
-mx25l_erase_sector(device_t dev, off_t sector)
+mx25l_erase_cmd(device_t dev, off_t sector, uint8_t ecmd)
{
uint8_t txBuf[4], rxBuf[4];
struct spi_command cmd;
@@ -197,7 +197,7 @@ mx25l_erase_sector(device_t dev, off_t s
memset(txBuf, 0, sizeof(txBuf));
memset(rxBuf, 0, sizeof(rxBuf));
- txBuf[0] = CMD_SECTOR_ERASE;
+ txBuf[0] = ecmd;
cmd.tx_cmd = txBuf;
cmd.rx_cmd = rxBuf;
cmd.rx_cmd_sz = 4;
@@ -258,7 +258,7 @@ mx25l_write(device_t dev, off_t offset,
* If we crossed sector boundary - erase next sector
*/
if (((offset + bytes_writen) % sc->sc_sectorsize) == 0)
- mx25l_erase_sector(dev, offset + bytes_writen);
+ mx25l_erase_cmd(dev, offset + bytes_writen, CMD_SECTOR_ERASE);
txBuf[0] = CMD_PAGE_PROGRAM;
txBuf[1] = ((write_offset >> 16) & 0xff);
More information about the svn-src-head
mailing list