Commit Graph

327 Commits

Author SHA1 Message Date
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
Gregory Nutt
ebd97dcf89 ST25FL1: Make buffers all even multiple of 32-bit values 2015-08-31 10:18:50 -06:00
Gregory Nutt
2d84270552 ST25FL1: Correct some compile problems when file system debug is enabled 2015-08-31 09:25:14 -06:00
Gregory Nutt
ed750f3600 ST25FL1: Changes after review of ST24FL1 clocking 2015-08-29 18:54:20 -06:00
Gregory Nutt
d6b0a8fe72 ST25FL1 driver is code complete 2015-08-29 15:58:54 -06:00
Gregory Nutt
4a1951b192 ST25FL1: Flesh out FLASH write logic 2015-08-28 12:01:08 -06:00
Gregory Nutt
d2653ef7a8 ST25FL1: Update for changes to QSPI interface definitions 2015-08-28 10:15:39 -06:00
Gregory Nutt
361e35a7be QSPI: Make changes to interface to better work with the SAMV71 2015-08-27 14:16:51 -06:00
Gregory Nutt
7936819fcc ST25FL1: Flesh out more initialization logic 2015-08-26 14:16:45 -06:00
Gregory Nutt
1cf57ae2bd Cosmetic 2015-08-26 07:16:07 -06:00
Gregory Nutt
8fe0121e1a Convert fragmentation ST24FL1 driver to use QSPI interface 2015-08-25 17:20:54 -06:00
Gregory Nutt
94ecf7ebad drivers/mtd/st25fl1.c: Add a driver for ST25FL1*K QuadSPI FLASH parts 2015-08-25 09:10:12 -06:00
Gregory Nutt
3743d3d84a Add configuration options for forthcoming st25fl1 devices 2015-08-24 08:00:39 -06:00
David Sidrane
c83d92e846 RAMTRON: Update driver to include support for newer RAMTRON parts. 2015-08-10 11:30:37 -06:00
Gregory Nutt
be09a87c0e SST25: Eliminate some warnings 2015-07-03 14:38:33 -06:00
Gregory Nutt
342f5fe33d Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation 2015-06-28 08:08:57 -06:00
Gregory Nutt
d43a09275a AT24 EEPROM driver. Fix some an incorrect variable name used in conditional compilation. SourceForge patch #55 2015-05-15 06:15:58 -06:00
Gregory Nutt
e4d2822af8 Make some file section headers more consistent with standard 2015-04-08 07:15:32 -06:00
Gregory Nutt
495f420978 Extend the AT24 EEPROM driver so that it supports: (1) the byte-oriented read() method, (2) parts with extended memory regions, and (3) parts with 8-bit addressing. 2015-03-17 14:27:27 -06:00
Gregory Nutt
b5bfb6762d Fix some BBRAM return values (from David Sidrane). Also some MTD-related cosmetic changes 2015-03-05 08:08:11 -06:00
Gregory Nutt
e7470e0834 Update dates in all skeleton files 2015-02-13 06:13:34 -06:00
Gregory Nutt
f3427cb32a mtd/ramtron.c: Table of parts is not terminated properly if CONFIG_RAMTRON_FRAM_NON_JEDEC is not defined 2015-02-09 16:35:58 -06:00
Gregory Nutt
1c39b67e32 STM32: Fix some incorrectly placed conditional logic 2014-12-26 12:41:35 -06:00
Gregory Nutt
33bcb5dbca Back out some incorrect conditional compilation 2014-12-26 10:26:52 -06:00
Gregory Nutt
6daa9468f6 More RAMTRON related fixes from David Sidrane 2014-12-26 08:15:59 -06:00
Gregory Nutt
996d6c9d55 Most superstitous updates to the RAMTROM driver make it more compatibile with the version used by PX4. From David Sidrane 2014-12-26 07:59:09 -06:00
Gregory Nutt
a84bd3f433 M25P serial flash driver: Add subsector size of the M24P16 part. From Lazlo 2014-12-10 18:48:36 -06:00
Gregory Nutt
cdc8fc52d1 SmartFS: Implements wear-leveling in the SmartFS. From Ken Pettit 2014-12-09 14:11:15 -06:00
Gregory Nutt
bc3212d70e EEPROM: Add a README file 2014-11-27 09:14:00 -06:00
Gregory Nutt
40b27115cc Add support for generic EEPROM access via a character driver. Add also the EEPROM driver itself. From Sebastien Lorquet 2014-11-26 13:55:34 -06:00
Gregory Nutt
2994448d85 More fixes to problems noted by cppcheck. Some are kind of risky; some are real bugs. 2014-11-25 13:15:09 -06:00
Gregory Nutt
d9b238b002 Extend MTD support to M25P16. From Sébastien Lorquet 2014-11-07 10:35:03 -06:00
Gregory Nutt
b33f8b3013 MTD read-ahear/write buffering layer seems functional 2014-09-25 13:35:10 -06:00
Gregory Nutt
7c89724b99 A few fixes for clean apps/examples/mtdrwb build 2014-09-25 10:41:47 -06:00
Gregory Nutt
6626f62b08 In at45db_bwrite, the buffer is not increased when writing more than 1 page. Sourceforge bug #34 2014-09-25 06:48:04 -06:00
Gregory Nutt
34a057334c Update SMART FS procfs support. From Ken Pettit 2014-09-22 11:19:49 -06:00
Gregory Nutt
205260d5e2 Reanem kzalloc to kmm_zalloc for consistency 2014-08-31 17:34:44 -06:00
Gregory Nutt
1780810d3d Rename kmalloc to kmm_malloc for consistency 2014-08-31 17:26:36 -06:00
Gregory Nutt
54fa3b0b59 Rename kfree to kmm_free for consistency with other naming conventions 2014-08-31 17:04:02 -06:00
Gregory Nutt
c9661ad5a7 Change all time conversions. Yech. New timer units in microseconds breaks all existing logic that used milliseconds in the conversions. Something likely got broken doing this, probably because I confused a MSEC2TICK conversion with a TICK2MSEC conversion. Also, the tickless OS no appears fully functional and passes the OS test on the simulator with no errors 2014-08-07 18:00:38 -06:00
Gregory Nutt
3042fc5bc0 Missing closing quote in Kconfig file 2014-07-11 16:51:50 -06:00
Gregory Nutt
e91704c432 Minor Kconfig improvements 2014-07-11 16:25:35 -06:00
Gregory Nutt
ab1ab379dd Addition rwbuffer interfaces should not be enabled unless they are needed; if rwbuffer support is enabled, it should not be unconditionally enabled in SMART and FTL 2014-07-11 16:19:17 -06:00
Gregory Nutt
8516551e54 Add an MTD layer that will add read-ahead or write buffering to any MTD driver (incomplete) 2014-07-11 11:20:11 -06:00
Gregory Nutt
b36b29b4c3 SMARTFS: Increase some variables from uint16_t to uint32_t to handle larger device sizes. From Ken Pettit 2014-07-04 07:28:12 -06:00
Gregory Nutt
f881abe2da Fix for a bug that would show up if CONFIG_MTD_BYTE_WRITE was not selected and the SMART sector size was larger than the mtd device's block size (like it would be if using SMARTFS on larger flash devices). From Ken Pettit 2014-07-03 18:14:51 -06:00
Gregory Nutt
f1dcb6674a Extend erase block size to 18-bits in order (decrease block size to 14-bits) to handle parts with large erase blocks. From Kosma Moczek 2014-06-30 07:52:57 -06:00
Gregory Nutt
c48bd737d0 SAM4E-EK: Add a driver for the on-board LCD (not tested on initial check-ing) 2014-05-13 10:38:46 -06:00
Gregory Nutt
ddf151c226 A fix to the last MB85RS1MT patch 2014-05-12 21:42:06 -06:00
Gregory Nutt
e3373aaf39 Add support for Fujitsu MB85RS1MT part. From Charles Ash 2014-05-12 18:43:06 -06:00
Gregory Nutt
020583efa2 drivers/mtd/w25.c: Add support for the 8Mbit W25Q80BV part. From Mark Whitehorn. 2014-04-30 13:31:42 -06:00
Gregory Nutt
d119e4c977 Update TODO list and comments 2014-04-23 13:02:00 -06:00
Gregory Nutt
3a1324741a More trailing whilespace removal 2014-04-13 14:32:20 -06:00
Gregory Nutt
056aed1274 Make sure that there is one space between while and condition 2014-04-12 13:09:48 -06:00
Gregory Nutt
060b84240b Add macro UNUSED to eliminate warnings about variables that are set to unused values 2014-03-30 07:58:58 -06:00
Gregory Nutt
6179cdfb91 Eliminate a warning when debug is off 2014-03-26 17:04:13 -06:00
Gregory Nutt
30c34c07cf Add an MTD driver to wrap another MTD driver and makes is sector size look like 512 bytes 2014-03-24 17:45:45 -06:00
Gregory Nutt
42e06fb503 SAM4E-EK: Add support for the SAM4E-EK AT25 serial flash 2014-03-13 14:07:35 -06:00
Gregory Nutt
91b002a043 Many changes to reduce complaints from CppCheck. Several latent bugs fixes, but probably some new typos introduced 2014-02-10 18:08:49 -06:00
Gregory Nutt
9f46dac1e2 Add option to indicatet that data is retained in SDRAM 2014-01-28 10:42:49 -06:00
Gregory Nutt
49f73c04ae Fix a typo that was cloned to several SAMA5 and MTD files 2013-12-21 09:45:27 -06:00
Gregory Nutt
124bd68c6f Finish A10 Timer register definitions 2013-12-13 11:44:52 -06:00
Gregory Nutt
f97be5131c Various fixes to the recent, big procfs checkin 2013-12-12 11:08:20 -06:00
Gregory Nutt
e4471dc8e0 procfs/: Extenstive architectural changes and enhancements by Ken Pettit 2013-12-12 09:21:55 -06:00
Gregory Nutt
f821e74ebb Move smart.h to include/nuttx/fs/smart.h 2013-12-10 09:38:48 -06:00
Gregory Nutt
ed9756c137 MTD NAND: Check if block number is out of ragne at top of loop, not bottom, to avoid some bogus transfers 2013-12-05 18:19:48 -06:00
Gregory Nutt
422b225401 Cosmetic updates to comments and READMEs 2013-12-04 16:41:45 -06:00
Gregory Nutt
ae01f868b2 SAMA5 NAND: Fix some PMECC setup logic 2013-12-04 11:56:56 -06:00
Gregory Nutt
68ccbc0855 Add drivers/mtd/README.txt 2013-12-04 07:46:10 -06:00
Gregory Nutt
37c5113c94 MTD NAND: Fix an error in the calculation of the page number 2013-12-02 17:21:09 -06:00
Gregory Nutt
7847443f5a MTD NAND: Fix a misplaced endif 2013-12-01 21:06:07 -06:00
Gregory Nutt
c777f90b8a Costmet updates, naming, debug output, README file 2013-12-01 07:39:20 -06:00
Gregory Nutt
1ea447867a SAMA5 NAND: Still debugging 2013-11-28 12:21:33 -06:00
Gregory Nutt
a791b1070b Fix error in SMARTFS partition number reporting 2013-11-28 08:11:13 -06:00
Gregory Nutt
5a18f048ce Add MTD SST25 driver for larger SST25 parts. From Ken Pettit 2013-11-28 08:04:46 -06:00
Gregory Nutt
881c12cad8 Fixes a couple of errors in MTD NAND logic 2013-11-27 15:02:21 -06:00
Gregory Nutt
5fb0062d2d SAMA5 NAND: A few bug fixes for integration. Still lots more to do 2013-11-27 11:04:40 -06:00
Gregory Nutt
4483117a60 SAMA5 NAND: Trivial changes 2013-11-25 14:16:04 -06:00
Gregory Nutt
2be17cd41f SAMA5 NAND: Fix a few race conditions 2013-11-25 13:53:58 -06:00
Gregory Nutt
d1b4f1c466 SAMA5 PMECC: More progress, still not complete 2013-11-24 09:37:59 -06:00
Gregory Nutt
448c8572cd Rethinking some NAND interfaces 2013-11-19 08:50:12 -06:00
Gregory Nutt
d8a3f21a47 Finishes up NAND software ECC logic 2013-11-18 11:42:17 -06:00
Gregory Nutt
3faa880ef1 MTD NAND: Beginning of software ECC logic 2013-11-18 09:43:44 -06:00
Gregory Nutt
22d4eb9cca More NAND stuff 2013-11-17 14:35:57 -06:00
Gregory Nutt
d54832a942 More NAND stuff 2013-11-17 12:22:09 -06:00
Gregory Nutt
0e7a8668a5 Continuing NAND integration 2013-11-17 08:56:30 -06:00
Gregory Nutt
03b9f5a8e6 More NAND logic (still not complete) 2013-11-16 18:26:07 -06:00
Gregory Nutt
d421eb4fd6 Futher NAND development 2013-11-16 13:19:09 -06:00
Gregory Nutt
854e50b48e Further NAND support 2013-11-16 12:22:43 -06:00
Gregory Nutt
7ccbbe07cb Further NAND development 2013-11-16 11:46:35 -06:00
Gregory Nutt
c7657c9c5e EA3131: Framework for USB host support 2013-11-15 15:56:24 -06:00
Gregory Nutt
e53ba01b64 Add support for ONFI compatible NAND devices (NAND logic still incomplete) 2013-11-15 14:11:21 -06:00
Gregory Nutt
897572a552 Moved include/nuttx/mtd.h to include/nuttx/mtd/mtd.h 2013-11-15 11:22:23 -06:00
Gregory Nutt
4dec2e4b27 Fix a badly applied patch (actually, non-applied because --dry-run was set) 2013-11-04 11:36:16 -06:00
Gregory Nutt
a4a18241d5 Updated configuration driver from Ken Pettit 2013-11-04 08:52:16 -06:00
Gregory Nutt
bfdee0f0c7 SST25 driver: Added one more use of sst25_cmd. From David Sidrane 2013-11-03 07:56:29 -06:00
Gregory Nutt
a2b6d12271 Fix to SST25 driver to permit faster write modes. From David Sidrane 2013-11-02 08:27:13 -06:00
Gregory Nutt
861b8bd511 MTD config: Reduce configuration header overhead. From Ken Pettit 2013-11-01 12:22:55 -06:00
Gregory Nutt
b01900d7e6 Add an MTD device wrapper that can used to provide a /dev/config that can be used for retaining configuration data. From Ken Pettit 2013-11-01 07:39:20 -06:00
Gregory Nutt
adeb33fdd2 Fix erase block vs page block confusion in MTD partition logic. From Ken Pettit 2013-10-31 10:40:10 -06:00
Gregory Nutt
6eba2e7897 drivers/mtd/sst.c: Fixes for 512 byte sector mode. From David Sidrane 2013-10-27 18:53:09 -06:00
Gregory Nutt
4e44868f12 CC3000 driver changes from David Sidrane 2013-10-16 11:59:26 -06:00
Gregory Nutt
4e3d02b216 Add support for the SST25VF016B serial FLASH. From Davide Sidrane 2013-10-16 08:28:58 -06:00
Gregory Nutt
b3018d8bf0 Add support for the AT 24C512 EEPROM 2013-09-12 09:44:38 -06:00
Gregory Nutt
bc46b447dc Fix all occurrences of "the the" in documentation and comments 2013-08-27 09:40:19 -06:00
Gregory Nutt
628f50ba61 SAM3,4,A5 DMA fixes; SAMA5 SPI driver now supports DMA transfers 2013-08-09 13:12:16 -06:00
Gregory Nutt
cbe8c5ed56 SAMA5: Add logic to auto-mount a file system on AT25 SPI FLASH for NSH 2013-08-05 08:24:39 -06:00
Gregory Nutt
906506c61c SAMA5D3x-EK: At support for the AT25 serial FLASH 2013-08-04 16:56:41 -06:00
Gregory Nutt
09faaccc02 Created new directories to hold SPI-related files 2013-07-01 08:11:54 -06:00
Gregory Nutt
345c592258 Fixed to M25P driver from Ken Pettit plus some documentation updates 2013-05-03 17:17:14 -06:00