Commit Graph

224 Commits (75dcacd33a15e009ca62adb15a43f68ad9aa0bd7)

Author SHA1 Message Date
Martin Kojtal 952799ccc8
Merge pull request #12270 from VeijoPesonen/bugfix_sfdp_parse_sfdp_headers
BUGFIX: SFDP Sector Map Table Parameter ID LSB is 0x81
2020-02-06 08:48:16 +00:00
Martin Kojtal b33573ed27
Merge pull request #12317 from NXPmicro/MXRT_FlashSupport
MXRT1050 Flash support
2020-02-04 15:25:22 +00:00
Mahesh Mahadevan b5eb7bc9a9 MIMXRT1050: Enable FlashIAP support
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2020-02-03 12:23:59 -06:00
Pawel Zarembski 620442305f hani_iot: add spif storage config 2020-02-03 14:03:09 +01:00
Kevin Bracey 370a936147
Merge pull request #12330 from rajkan01/bug_fix_storage_sd
Fix FAT filesystem `ferror` greentea test(SD Component)
2020-01-31 16:22:53 +02:00
Kevin Bracey 44add981ff
Merge pull request #12331 from jeromecoutant/PR_OSPI
STM32: enable QSPI test with MX25LM51245G octo SPI
2020-01-30 15:46:52 +02:00
Kevin Bracey e8eed6ecd5
Merge pull request #12304 from michalpasztamobica/qpi
QSPIF: Enable QPI mode as a second option, if available
2020-01-30 10:21:29 +02:00
Rajkumar Kanagaraj c61cf3dc07 Incorporated the review comment 2020-01-29 09:24:21 -08:00
jeromecoutant 84b48410f0 STM32: enable QSPI test with MX25LM51245G octo SPI 2020-01-29 16:18:38 +01:00
Rajkumar Kanagaraj 0d95f7e765 Fix sd filesystem greentea test
- Disable the ferror() API test case as its not supported by microlib
2020-01-29 07:03:59 -08:00
Michal Paszta bf11bbd820 QSPIF: Enable QPI mode as a second option, if available 2020-01-23 09:47:53 +02:00
Andrew Chong 65e9cac918 Updated the code fix of timer and Mbed TLS. 2020-01-22 14:40:51 +09:00
Veijo Pesonen 6bd3933652 Q/SPIFBlockDevice: Separates SFDP Header retrieval
Separates SFDP header retrieval and moves it as a part of the earlier
introduced SFDP file.

Purpose is to abstract away differences between SPIF and QSPIF devices
when it comes to fetching the SFDP headers from a device.
2020-01-20 16:36:21 +02:00
Veijo Pesonen 58421efa8c SFDP: All the headers are same length 2020-01-17 14:43:03 +02:00
Veijo Pesonen cefae9020e SFDP: splits header parsing to its own file
SFDP logic is the same between SPIF and QSIP.
2020-01-17 14:43:03 +02:00
Veijo Pesonen ad43f23b09 SFDP: lists unknown headers on Q/SPIF debug prints 2020-01-16 13:00:18 +02:00
Veijo Pesonen 80f87e326a BUGFIX: SFDP Sector Map Parameter Header detection
The Sector Map Function Specific Table is assigned the ID LSB of 81
in hexadecimal, not in decimal[1].

[1] JESD216.01 p. 53
2020-01-16 13:00:17 +02:00
Veijo Pesonen 9763ad3b2d DataFlashBlockDevice: Makes default configuration to use mbed_lib.json settings
DataFlashBlockDevice parameters come from mbed_lib.json if not provided
explicitly.
2020-01-03 15:31:01 +02:00
Veijo Pesonen 67676dc123 SPIFReducedBlockDevice: Makes default configuration to use mbed_lib.json settings
SPIFReducedBlockDevice parameters come from mbed_lib.json if not provided
explicitly.

Introduced an app config file for running filesystem tests with RSPIF
block device
2020-01-03 15:30:13 +02:00
Veijo Pesonen 23f87877a1 SPIFBlockDevice: Makes default configuration to use mbed_lib.json settings
SPIFBlockDevice parameters come from mbed_lib.json if not provided
explicitly.

Introduced an app config file for running filesystem tests with SPIF
modules
2020-01-03 15:28:41 +02:00
Veijo Pesonen 3be2b8bf12 QSPIFBlockDevice: Makes default configuration to use mbed_lib.json settings
QSPIFBlockDevice parameters come from mbed_lib.json if not provided
explicitly.

Introduced an app config file for running filesystem tests with QSPIF
modules
2020-01-03 15:25:40 +02:00
Veijo Pesonen 803ae3444d SDBlockDevice: Makes default configuration to use mbed_lib.json settings
SDBlockDevice parameters come from mbed_lib.json if not provided
explicitly.

Introduced an app config file for running filesystem tests.
2020-01-03 15:25:40 +02:00
Przemyslaw Stekiel ee5953ad74 Add static pinmap support: SDBlockDevice, kvstore, system storage
This is done in order to enable static pin-map for Mbed Cloud Client Example. This should give extra ROM savings, ~1KB.
2019-12-10 12:26:23 +01:00
Kevin Bracey c67816b5ff Adjust code for MbedCRC changes
* Make mbed_error use bitwise MbedCRC call rather than local
  implementation.
* Remove use of POLY_32BIT_REV_ANSI from LittleFS.
* Move some MbedCRC instances closer to use - construction cost is
  trivial, and visibility aids compiler optimisation.
2019-12-02 14:45:37 +02:00
Martin Kojtal 5f7ecea00b
Revert "MbedCRC and CRC HAL revisions" 2019-11-26 13:45:37 +00:00
Martin Kojtal fd22997b60
Merge pull request #11559 from kjbracey-arm/crc
MbedCRC and CRC HAL revisions
2019-11-13 18:24:04 +01:00
Kevin Bracey 8811972201 Adjust code for MbedCRC changes
* Make mbed_error use bitwise MbedCRC call rather than local
  implementation.
* Remove use of POLY_32BIT_REV_ANSI from LittleFS.
* Move some MbedCRC instances closer to use - construction cost is
  trivial, and visibility aids compiler optimisation.
2019-11-13 14:31:49 +02:00
Kyle Kearney 96cfc7393d Disable attempted 4-byte addressing for some boards
4-byte addressing has been seen to cause failures on NORDIC
boards and with Macronix memories. Suppress the attempt to enable it
on that hardware (via vendor quirks and a target check) until either
the failure cause can be fixed or a more robust suppression mechanism
is implemented.
2019-11-12 12:26:26 -08:00
Kyle Kearney 2526b9fc00 QSPIF: Handle fast mode enable via vendor quirks
Use a vendor id check to only perform this enable on devices which define the
 second configuration register where the fast mode enable bit lives.
Change _enable_fast_mode to use the standard status register reading and writing functions
2019-11-12 12:26:26 -08:00
Kyle Kearney 02dbf68e17 QSPIF: Handle parts with extra config registers
Default to 2 status registers, but update this value if necessary
 during vendor quirk handling for parts (currently only Macronix)
 which have one status register and two control registers. For the
 purposes of QSPIFBlockDevice, these are all considered status
 (or at least "status-like") registers because they are all written
 via the Write Status Register instruction.
Set the custom RDCR instruction for Macronix during quirk handling.
Update reading and writing of status registers to handle a variable
 number of status registers.
2019-11-12 12:26:25 -08:00
Kyle Kearney eb5494e7a9 QSPIF: Centralize handling of vendor quirks
Introduce a separate function for handling alterations to device interaction
which are not covered by the SFDP tables and therefore require checking against
the vendor id.
2019-11-12 12:26:25 -08:00
Kyle Kearney 26314d96c5 Don't clear quad enable when clearing block protection
QSPIFBlockDevice::_clear_block_protection() has logic to retain the
WIP and WEL bits in status register 1, but it failed to account for
the situation where the QE bit is also in status register 1.
In _sfdp_set_quad_enabled, note the status register and bit therein
for the quad enable, so that _clear_block_protection can retain it.
2019-11-12 12:26:25 -08:00
Kyle Kearney d2ef56859c QSPIF: Add back enable_fast_mode
This function writes a "config" register to ensure that the flash part
is in high performance mode, not low-power mode. This is required at
by at least MX25R6435F in order to operate at frequencies > 33MHz
(for reference, DISCO_L475VG_IOT01A runs the QSPI interface at 80 MHz).
The config register that this writes does not appear to be covered by
the SFDP spec (JESD216D.01) so this remains the status quo of
unconditional execution, as has been done on master since #8352.
2019-11-12 12:26:25 -08:00
Kyle Kearney 60e4d14577 Fix Astyle issues 2019-11-12 12:26:25 -08:00
Matthew Macovsky 619c5d9e60 Remove redundant QSPI erase alignment 2019-11-12 12:26:25 -08:00
Matthew Macovsky 2154948791 Update QSPI format after enabling 4-byte addressing 2019-11-12 12:26:25 -08:00
Matthew Macovsky 19330da412 Correct typos and formatting 2019-11-12 12:26:25 -08:00
Matthew Macovsky 91141bb397 Add missing debug prints to command functions 2019-11-12 12:26:25 -08:00
Matthew Macovsky d330deef57 Streamline setting of instruction member variables 2019-11-12 12:26:25 -08:00
Matthew Macovsky 4f01392497 Replace power function with bit shift 2019-11-12 12:26:25 -08:00
Matthew Macovsky 8fd1a502f7 Update SDFP erase detection to properly handle legacy erase instruction 2019-11-12 12:26:25 -08:00
Matthew Macovsky ba412734e1 Move configuration of QSPI format to within commands where it is necessary 2019-11-12 12:26:24 -08:00
Matthew Macovsky 08a0b3daeb Clear block protection on non-SST flash devices 2019-11-12 12:26:24 -08:00
Matthew Macovsky cf9b6d565a Enable 4-byte addressing when supported in accordance with the SFDP standard 2019-11-12 12:26:24 -08:00
Matthew Macovsky 4785e83a31 Update flash device reset to conform to SFDP standard 2019-11-12 12:26:24 -08:00
Matthew Macovsky cd78bf9129 Reorder some functions 2019-11-12 12:26:24 -08:00
Matthew Macovsky e2b1ac0972 Update reading/writing of status registers to conform to SFDP standard 2019-11-12 12:26:24 -08:00
RAJKUMAR KANAGARAJ d8e2dd5b47 Incorporated the review comments 2019-11-08 09:50:09 -08:00
RAJKUMAR KANAGARAJ 8ecce14dad Skip Bare metal green tea test for storage related components or the components test cases which is based on RTOS 2019-11-06 04:49:19 -08:00
Seppo Takalo 21987dbefa Remove commented-out code 2019-11-04 16:13:33 +02:00