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
Gregory Nutt
fc3540cffe
Replace all occurrences of vdbg with vinfo
2016-06-11 11:59:51 -06:00
Gregory Nutt
3a74a438d9
Rename CONFIG_DEBUG_VERBOSE to CONFIG_DEBUG_INFO
2016-06-11 11:50:18 -06:00
Gregory Nutt
5f9bcfd5bf
Trivial changes from review of last PR
2016-06-09 09:36:06 -06:00
Gregory Nutt
03c44c3583
Merged in marten_svanfeldt/nuttx-public/for_upstream/is25 (pull request #44 )
...
Added driver of IS25xP SPI flash devices
2016-06-09 09:30:34 -06:00
Marten Svanfeldt
edeb2eed4e
Added driver of IS25xP SPI flash devices
...
Based on sst25xx driver
Signed-off-by: Marten Svanfeldt <marten@intuitiveaerial.com>
2016-06-09 05:13:06 +02:00
Gregory Nutt
a18dbfda6e
Remove drivers/mtd/flash_eraseall.c. It is not used in the OS and is just a dumb wrapper around the MDIOC_BULKERASE IOCTL call.
2016-06-02 10:44:13 -06:00
Sebastien Lorquet
880b59aa26
Additional configuration option to enable SST26 driver debug output. Using comming FS debug output generates too much output.
2016-05-25 13:43:44 -06:00
Sebastien Lorquet
f4fa4799f7
Add a driver for SST26F spi/qspi flash devices (SPI mode only)
2016-05-10 11:09:15 -06:00
ziggurat29
d3fbd86657
bug in smart.c; return code of smart_scan not checked, can cause success result in failure case, leading to 'dev' pointer being invalid.
2016-04-27 19:33:45 -05:00
Gregory Nutt
e8f0965d35
Mostly cosmetic changes from review of last PR
2016-04-17 14:13:44 -06:00
ziggurat29
1b9d837df3
add MTD support for Micron N25Qxxx family of QSPI flash
2016-04-17 12:20:07 -05:00
Gregory Nutt
84cd720479
FTL: Make it clear the the unlink method has not been implemented
2016-04-15 07:03:28 -06:00
Paul A. Patience
c62bb9beb1
Fix issues detected by cppcheck
2016-03-22 15:46:47 -04:00
Gregory Nutt
3ef25dc49d
AT24xx: Add logic to unregister from the procfs file system if the driver is uninitialized
2016-03-17 09:55:10 -06:00
Max Neklyudov
1951b9df57
Improve m25px driver
2016-03-17 07:37:45 -06:00
Gregory Nutt
7fa0adff83
Fix a misplaced right bracket
2016-03-08 15:33:33 -06:00
Frank Benkert
4d9c41fd57
AT24XX: Correct address calculation in Multi-Block-Read
2016-03-08 15:31:23 -06:00
Gregory Nutt
0fb035f76b
Standardize some naming in code section comments
2016-02-21 18:09:04 -06:00
Gregory Nutt
009e9f76cb
I2C: Fixes/improvements from last massive I2C commits
2016-02-02 07:13:03 -06:00
Gregory Nutt
69ce24c70c
I2C: Remove the setfrequency method from the interface
2016-02-01 16:31:13 -06:00
Gregory Nutt
f9053182d3
I2C: Remove setaddress method
2016-02-01 12:14:31 -06:00
Gregory Nutt
8c9bddf998
I2C: Eliminate the I2C_WRITE and I2C_READ macros
2016-02-01 08:57:22 -06:00
Gregory Nutt
3a781a2d3f
Remove I2C slave methods from I2C master interface; rename i2c_dev_s to i2c_master_s.
2016-01-30 08:36:47 -06:00
Gregory Nutt
ceb415204e
Move include/nuttx/i2c.h to include/nuttx/i2c/i2c_master.h
2016-01-30 08:00:16 -06:00
Gregory Nutt
7edf921c5e
Remove CONFIG_SPI_OWNBUS: Now it is not just a good idea, it is the law
2016-01-23 18:54:36 -06:00
Gregory Nutt
f6e49caba8
All SPI-based device drivers needs to call SPI_HWFEATURES() with zero in order to co-exist with drivers that use H/W features
2016-01-23 16:18:13 -06:00
Gregory Nutt
f348e68069
Update to use 64-bit timer when available
2016-01-21 11:54:26 -06:00
Gregory Nutt
c16648b3fd
Most cosmetic but also includes a fix for a compile problem from Ken Pettit
2015-12-01 12:54:57 -06:00
Gregory Nutt
3af1def49a
Fix an error in a function prototype
2015-11-29 14:42:56 -06:00
Ken Pettit
5821af1bbe
drivers/mtd: Add support for /dev/smart loop device. From Ken Petit
2015-11-28 09:00:26 -06:00
Gregory Nutt
6ff67d3061
Minor changes from code review
2015-11-25 14:57:25 -06:00
Ken Pettit
d4a58af380
drivers/mtd/mtd/mtd_procfs/c and include/nuttx/mtd/mtd.h: Add an interface to un-regiser an MTD procfs entry.
...
drivers/mtd/filemtd.c: New new MTD conversion layer that will convert a regular file (or driver file) to an MTD device. This is useful for testing on the simulation using the hostfs.
From Ken Petit
2015-11-25 14:46:28 -06:00
Gregory Nutt
289b3e281f
drivers/mtd/smart.c: Fix a compile error when CONFIG_MTD_SMART_MINIMIZE_RAM=y
2015-11-22 17:18:43 -06:00
Gregory Nutt
891589b307
drivers/mtd/smart.c: Add some run-time geometry tests
2015-11-22 17:10:42 -06:00
Gregory Nutt
54549ef082
Revert "Add option to specify logical sector size during low level format plus adds some run-time geometry tests. fs/smartfs: Remove the 'mksmartfs()' code from the kernel 'fs'"
...
This reverts commit 96faf0fa3251ca10a17daddc728d931be5a206e0.
2015-11-22 10:15:06 -06:00
Gregory Nutt
64e8f12e2b
Add option to specify logical sector size during low level format plus adds some run-time geometry tests. fs/smartfs: Remove the 'mksmartfs()' code from the kernel 'fs'
...
directory and build.
2015-11-22 10:07:35 -06:00
Gregory Nutt
db2fe45666
Update some comments
2015-11-20 09:55:18 -06:00
Ken Pettit
d30b73be82
W25: Add support for byte write mode. From Ken Petit
2015-11-20 07:34:07 -06:00
Gregory Nutt
1c86c004c4
FLASH progmem memory MTD: Need to register with PROCFS if enabled
2015-11-19 06:57:02 -06:00
Ken Pettit
7b590ec9a2
drivers/mtd/smart.c Fixed SmartFS wear level error that occurs when the logical sector size is too small to save all wear level status bytes in a single sector. Logical sectors 1 and 2 were simply not being allocated and then the read_sector and write_sector routines were failing. From Ken Petit
2015-11-18 18:12:06 -06:00
Ken Pettit
f0f7dd9956
drivers/mtd/smart.c: Fix a Smart wear-leveling bug. From Ken Petit
2015-11-18 07:01:13 -06:00
Ken Pettit
7e58e4c4cf
W25: Fix W25 page read/write logic
2015-11-18 06:56:53 -06:00
Gregory Nutt
e61d51dab3
If multiple AT24xx devices are supported and resources are allocated, then it may also be necessary to free those resource
2015-11-17 08:39:06 -06:00
Gregory Nutt
724901ceb9
Add support for multiple AT24xx EEPROM devices
2015-11-17 07:40:17 -06:00
Gregory Nutt
015429684f
MTD progmem: Fix an address calculation
2015-11-13 11:32:34 -06:00
Gregory Nutt
2706b4f8aa
mtd_progmem.c: Fix calculation of block size
2015-11-13 09:19:25 -06:00
Gregory Nutt
fdb17620a0
Need a prototype for progmem_initialize in include/nuttx/mtd/mtd.h
2015-11-12 16:03:24 -06:00
Gregory Nutt
ef59f83a38
drivers/mtd/mtd_progmem.c: Add an upper-half driver that can be used with any FLASH library that provides the itnerfaces defined in include/nuttx/progmem.h
2015-11-12 13:40:18 -06:00
Gregory Nutt
9f3edd6373
MTD Smart: Remove checks for 64KB erase block size. erasesize was changed to 32-bits in struct mtd_geometry_s
2015-11-11 08:25:03 -06:00
Gregory Nutt
2ff1b173f2
SmartFS: Backout last change. It alters the behavior when it should not. Obviously there is something that I do not understand
2015-11-11 08:15:08 -06:00
Gregory Nutt
08200d8f86
S24FL1: Fix so that the driver compiles with 512 byte block support
2015-11-10 13:34:33 -06:00
Gregory Nutt
eb1191df63
S24FL1: Fix an error in the page write logic
2015-11-10 12:48:29 -06:00
Gregory Nutt
965addb397
s25fl1: When unprotecting, handle case where protection bits are inverted. Add option to s25flinitilize() to unprotected on power up
2015-11-10 11:33:35 -06:00
Gregory Nutt
2ab0832c26
Smart MTD: fix some outdated logic: geometray erase size is now 32-bits
2015-11-09 09:35:14 -06:00
Gregory Nutt
91429433f6
Correct naming of Spansion part. S25FL1, not ST25FL1
2015-11-07 11:51:09 -06:00
Gregory Nutt
b2bdba0824
S25FL1 FLASH driver: Fix return value from the bwrite() method
2015-11-07 11:26:53 -06:00
Gregory Nutt
bfeef77f1f
SmartFS: Fix a compile error when FS debug enabled. Plus some changes needed by NuttX coding standard
2015-11-05 11:25:39 -06:00
Gregory Nutt
a314b2ac11
ST25FL1: Fix error that was overwriting status
2015-11-05 10:38:47 -06:00
Frank Benkert
e772c56ef6
AT24xx EEPROM Driver: Correct typo from last changeset
2015-10-31 09:04:53 -06:00
Gregory Nutt
46b688e701
Merged in marten_svanfeldt/nuttx-public/for_upstream/at24cxx (pull request #28 )
...
Improvements of AT24xx MTD driver
2015-10-22 18:15:39 +08:00
Marten Svanfeldt
a31d1fd378
Make I2C frequency configurable for the AT24Cxx EEPROM driver
...
Signed-off-by: Marten Svanfeldt <marten@intuitiveaerial.com>
2015-10-21 12:01:36 +08:00
Marten Svanfeldt
af9590eef7
Extend the AT24Cxx MTD driver with support for -04,-08 and -16 parts.
...
These parts utilize the same one-byte-address in the I2C protocol as the -02,
but requires different I2C addresses for different banks of the EEPROM.
Signed-off-by: Marten Svanfeldt <marten@intuitiveaerial.com>
2015-10-21 12:01:36 +08:00
Gregory Nutt
cf14f8d1b5
drivers/: Fixes to spacing and alignement
2015-10-10 10:41:00 -06:00
Gregory Nutt
0b12dbf95d
Fix some spacing problems
2015-10-04 15:04:00 -06:00
Gregory Nutt
cb9e27c3b0
Standardize naming used for public data and function groupings
2015-10-02 16:30:35 -06:00
Gregory Nutt
7d33e858dd
QSPI interface + ST25FL1 driver: Add methods to allocate properly aligned memory
2015-09-06 09:37:34 -06:00
Gregory Nutt
f44320d2a6
ST25FL1: SAMV71 QSPI always does transfers in multiples of 4 bytes
2015-09-02 10:19:47 -06:00
Paul A. Patience
3b89eabd50
Correct #if to #ifdef when the macro can be undefined. Fix bug in AT24XX driver: it should compare AT24XX_ADDRSIZE to 2.
2015-09-01 13:52:29 -04:00