Commit Graph

304 Commits

Author SHA1 Message Date
Simon Piriou
b1f50490bd MTD: Add driver for Macronix QuadSPI flash memory 2017-08-06 10:51:17 -06:00
Gregory Nutt
e8738e1f55 Minor update to some comments. 2017-08-04 09:00:58 -06:00
Gregory Nutt
bbc06dcd8e RAMTRON: Should be able to select chunked write mode via a configuration option, not by editing the file. 2017-08-04 08:49:07 -06:00
Boris Astardzhiev
79ee0a5209 RAMTRON: Add support for splitting block writes in chunks. Some Re-RAMs like MB85AS4MT has a write buffer size limitation. 2017-08-04 08:12:59 -06:00
Gregory Nutt
95e20afcd2 drivers/: Remove dangling space at the end of lines. 2017-06-28 13:17:17 -06:00
Jussi Kivilinna
4eaa136850 smart: fix wrong freeing of device structure and use-after-free issues on error paths 2017-06-28 07:20:07 -06:00
Jussi Kivilinna
7b8df1b930 mtd/w25: wait for BUSY flag to clear in w25_readid and w25_unprotect. W25Q128 datasheet says that all instructions expect 'Read Status Register' and 'Erase/Program Suspend' are ignored when BUSY flag in status register is '1'. Therefore wait for busy flag to clear in w25_readid() and w25_unprotect(). 2017-06-13 07:35:49 -06:00
Jussi Kivilinna
2596b14c90 mtd/w25: add missing locking and fix SPI_SELECT usage for w25_unprotect 2017-06-13 07:33:34 -06:00
Gregory Nutt
0a85a41678 MTD FLASH driver: Clone Sebastien Lorquet's m25px change to at25, is25xp, ramtron, and sst25xx. 2017-06-12 09:51:42 -06:00
Sebastien Lorquet
2851959dee MTD M2PX: If we READ while a write/erase is pending, the command is ignored and the write/erase continues. If we dont catch this situation we will return garbage to the user because the flash will not execute the command. So READ MUST wait for write completion, and before that, the bus must be locked since it's a precondition to calling waitwritecomplete(). 2017-06-12 09:34:09 -06:00
Gregory Nutt
d35a060a41 Revert "MTD: Fix problems in SPI locking in mp25x.c driver. Same problem probably in exists in several other drivers that derive from this this driver as well."
This reverts commit 85645284b3.
2017-06-12 07:23:06 -06:00
Sebastien Lorquet
85645284b3 MTD: Fix problems in SPI locking in mp25x.c driver. Same problem probably in exists in several other drivers that derive from this this driver as well. 2017-06-12 06:38:27 -06:00
Gregory Nutt
670d6a1e8d MTD FLASH drivers: The byte write method of several drivers had a cloned error: It was not locking the bus while performing byte write operations. 2017-06-06 16:10:41 -06:00
Juha Niskanen
06edfae133 mtd/config: Add some error checks for I/O errors 2017-06-01 06:22:27 -06:00
Jussi Kivilinna
7af5cbb833 drivers/mtd/w25.c: Enable short delay after sector/chip erase 2017-05-31 09:17:58 -06:00
Jussi Kivilinna
8b006e705e drivers/mtd/w25.c: erase sector only if it is not in erased state 2017-05-31 09:09:24 -06:00
Jussi Kivilinna
c7fcdf968d mtd/smart: Fix use of uninitialized variable 2017-05-31 09:07:25 -06:00
Gregory Nutt
0de294a586 Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they. 2017-05-11 13:35:56 -06:00
Juha Niskanen
0f7210b0ae mtd: fix some unallocated and NULL pointer issues. rwb->wrflush and rwb->wrmaxblocks in rwbuffer could get unallocated values from ftl_initialize() in some configurations. Also fixes related assert:
up_assert: Assertion failed at file:rwbuffer.c line: 643

that can happen with the following configuration:

  CONFIG_FTL_WRITEBUFFER=y
  CONFIG_DRVR_WRITEBUFFER=y
  # CONFIG_FS_WRITABLE is not set

These problems are caused by CONFIG variable differences between the buffer layers. TODO: This is not a perfect solution. readahead support has similar issues.
2017-05-11 07:22:21 -06:00
Juha Niskanen
58a0b09b82 mtd/config: fix byte read interface test 2017-05-11 07:19:24 -06:00
Juha Niskanen
797e3c3ca4 mtd: build RAMTRON and AT45DB drivers only if selected 2017-05-11 07:17:29 -06:00
Juha Niskanen
4f18b40429 mtd/config: erase block between block read and write 2017-05-10 08:25:39 -06:00
Gregory Nutt
e9a5477506 Add an instance argument to the SPIDEV definitions. 2017-04-29 12:26:52 -06:00
Heesub Shin
a10735b50d mtd/progmem: fix incorrect target address calculation
progmem_read/write() is incorrectly calculating the target address,
expecting the offset argument is given in a block number. This is
completely wrong and as a result invalid flash region is accessed.
Byte-oriented read/write interfaces of mtd device accept the
target address in a byte offset, not a block number.

Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2017-03-19 01:11:37 +09:00
Gregory Nutt
a70ea9d3bc Typos withim mtd/ with Macronix MX25L. In NuttX/drivers/mtd/Make.defs letters X between M and 25 are missing. Noted by Oleg Evseev. 2017-01-30 07:26:38 -06:00
Gregory Nutt
5e0c18b535 Merged in david_s5/nuttx/upstream_2_greg_ramtron (pull request #198)
Adding missing CONFIG_ prefix
2017-01-20 20:48:22 +00:00
David Sidrane
ca895b978b Adding missing CONFIG_ prefix 2017-01-20 10:45:50 -10:00
Gregory Nutt
08c001196b drivers/: Remove all explicit use of 'hidden' macro _info. Code must never use this directly. Code must always use a debug macro such as info which is basic on _info but can be appropriately filtered. 2017-01-15 13:00:50 -06:00
Aleksandr Vyhovanec
bf528f2071 packed_struct replaced by begin_packed_struct and end_packed_struct 2017-01-09 14:17:49 +03:00
Gregory Nutt
1793c1f8e1 Trivial, cosmetic change 2016-11-29 15:03:51 -06:00
Gregory Nutt
8dd2494407 Review of last PR: Fix return value (ERROR is not a value return value in this context). Fix some spacing. 2016-11-01 15:13:09 -06:00
Aleksandr Vyhovanec
be1626ad7b Added EEPROM timeout 2016-11-02 00:03:16 +03:00
Aleksandr Vyhovanec
b0f973d901 MTD: SPI-based driver for Macronix MX25L3233F or MX25L6433F. 2016-09-02 11:00:04 -06:00
Aleksandr Vyhovanec
3f40541b21 MTD: Fixed cloned typos in several FLASH drivers. 2016-09-02 07:27:57 -06:00
Beat Küng
dd1f679891 mtd: Add Fujistu MB85RS256B ramtron support
contributed by flatlevel from https://github.com/PX4/NuttX/pull/79
2016-08-23 18:27:04 +00:00
Gregory Nutt
9965cbe428 drivers/: Review and correct some stylistic inconsistencies 2016-08-07 09:43:48 -06:00
Gregory Nutt
10fff9011a Move include/nuttx/configdata.h to include/nuttx/mtd/configdata.h 2016-07-21 13:34:54 -06:00
Gregory Nutt
46dbbe837e rwbuffer.h moved from include/nuttx/ to include/nuttx/drivers. 2016-07-20 13:54:38 -06:00
Ken Pettit
39174da3be Remove naming conflict in drivers/mtd/filemntd.c 2016-07-17 20:19:44 -06:00
Ken Pettit
fea2aaba05 SMART MTD layer: Fixes freesector logic error when sectorsPerBlk=256, adds DEBUGASSERT for invalid geometry and additional memory debug logic. Also fixes the dangling pointer on error bug. 2016-07-14 10:31:28 -06:00
Gregory Nutt
74037a7951 Merged in ziggurat29/nuttx/stm32l4_smartfs_test (pull request #97)
fixes to n25qxxx mtd driver for smartfs support, etc...
2016-07-12 12:16:13 -06:00
ziggurat29
74777499bc alter the notion of 'blocksize' to be equivalent to 'flash write page size' in order to align with assumptions in the smartfs driver (at least, maybe other things do as well).
Correct a bug that was previously masked by having blocksize=eraseblocksize which would cause buffer overflows and delicious hardfaults.
Trivial spelling changes in comments, etc.
2016-07-12 11:46:08 -05:00
Sebastien Lorquet
0d41a1cd42 Before accessing the sst26 flash, the "Global Unlock" command must me executed, which I do in the sst26 driver.
BUT. re-reading the datasheet, the WREN instruction is required to enable the execution of this command. This was not done.

I have no idea how the driver currently works except by chance. The writes
should never happen at all, the flash is half-enabled!
2016-07-12 10:34:03 -06:00
Gregory Nutt
5b6fafb3f5 Several MTD FLASH drivers nullify the freed 'priv' structure and failed to return NULL as stated in the comments. Result, will operate on a NULL pointer later. Noted by David Sidrane. 2016-06-30 17:49:53 -06:00
Gregory Nutt
43eb04bb8f Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info(). 2016-06-20 11:59:15 -06:00
Gregory Nutt
0c8c7fecf0 Add _ to the beginning of all debug macros to avoid name collisions 2016-06-16 12:33:32 -06:00
Gregory Nutt
efb02f2ef1 drivers/: Change some nerr() ERRORS to nwarn() WARNINGS. Anomolous network evernts are not errors. 2016-06-12 08:31:22 -06:00
Gregory Nutt
a1469a3e95 Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err() 2016-06-11 15:50:49 -06:00
Gregory Nutt
e99301d7c2 Rename *lldbg to *llerr 2016-06-11 14:55:27 -06:00
Gregory Nutt
1cdc746726 Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -06:00