Commit Graph

266 Commits (aa6fd58804a77084960966b845bdceb9b713078d)

Author SHA1 Message Date
Martin Kojtal 1f36b1cf09
Merge pull request #12450 from VeijoPesonen/sfdp_split_bptbl_2
SFDP: consolidation of SFDP parsing [3/n]
2020-02-27 17:08:14 +00:00
Stephan Brunner f67b8aa0eb
Fix initialization order for I2CEEBlockDevice 2020-02-26 18:18:22 +01:00
Veijo Pesonen ca704a4b3d SFDP: consolidates erase region search
Merges erase region search found from SPIFBlockDevice and
QSPIFBlockDevice. Moves the implementation within the SFDP
component
2020-02-26 12:41:34 +02:00
Martin Kojtal 732692cd77
Merge pull request #12475 from VeijoPesonen/purge_rspif
Proposal to remove SPIFReducedBlockDevice
2020-02-25 15:23:23 +00:00
Veijo Pesonen ca52ca9277 Q/SPIFBlockDevice: removes dead code 2020-02-25 16:12:18 +02:00
Martin Kojtal 1c12083949
Merge pull request #12426 from VeijoPesonen/sfdp_split_bptbl
SFDP: consolidation of SFDP parsing [2/n]
2020-02-25 13:57:23 +00:00
Veijo Pesonen b575df072f Removes RSPIF block device driver
The driver is not needed by the bootloader anymore.
2020-02-24 16:01:14 +02:00
Anna Bridge 8c17270306
Merge pull request #12480 from 0xc0170/fix_spdx
Fix SPDX identifiers and licenses (excluding features and targets)
2020-02-21 16:34:30 +00:00
Martin Kojtal a18259abb9
Merge pull request #12446 from boomer41/i2cee-add-eight-bit-address
Add Eight-Bit-Addressing mode to I2CEEBlockDevice.
2020-02-21 12:12:16 +00:00
Martin Kojtal c0ed178830 component storage: fix SPDX identifiers 2020-02-21 07:01:09 +00:00
Martin Kojtal ab76e0a59e component storage: fix SPDX identifiers 2020-02-21 07:01:04 +00:00
Veijo Pesonen d3b65d5e2b QSPIFBlockDevice: refactoring _sfdp_parse_basic_param_table 2020-02-20 09:46:40 +02:00
Veijo Pesonen 6a60574cf5 SFDP: consolidates sfdp_detect_erase_types_inst_and_size 2020-02-20 09:46:40 +02:00
Veijo Pesonen 2da963b8de Q/SPIFBlockDevice: unifies _sfdp_detect_erase_types_inst_and_size functions 2020-02-20 09:46:40 +02:00
Veijo Pesonen 7d1886ecae SFDP: consolidation of sfdp_detect_page_size 2020-02-20 09:46:40 +02:00
Veijo Pesonen 8a076d4b1f SPIFBlockDevice: refactoring usage of SFDP data 2020-02-20 09:46:40 +02:00
Veijo Pesonen 6d77d0d1f9 SPIFBlockDevice: Consolidates internal SFDP header information 2020-02-20 09:46:40 +02:00
Veijo Pesonen fe49c9ce16 Q/SPIF: Abstracts SFDP table reading functionality from device 2020-02-20 09:46:40 +02:00
Stephan Brunner 440fa4985b
Remove paging and sync from I2CEEBlockDevice::read(), as it is not needed 2020-02-19 18:23:46 +01:00
Martin Kojtal 829a3cded3
Merge pull request #12318 from VeijoPesonen/sfdp_split_smptbl
SFDP: Move Sector Map Parameter Table parsing under SFDP module
2020-02-19 15:49:40 +00:00
Stephan Brunner 4d0c3463a0
Fix Code style and reorder class members to get besser packing 2020-02-19 12:49:28 +01:00
Stephan Brunner 3741440b77
Fix typo and clarify documentation 2020-02-19 11:58:07 +01:00
Stephan Brunner 532f3786a0
Remove overcomplicated code from I2CEEBlockDevice 2020-02-18 19:13:50 +01:00
Stephan Brunner 7c589ae172
Fix astyle 2020-02-17 23:04:23 +01:00
Stephan Brunner 76a177fafa
Use pageSize-constant instead of hardcoded value 2020-02-17 21:25:47 +01:00
Stephan Brunner 267d8cc223
Preserve original size as it is modified inside the handler function.
The value is const reference bound inside do_paged and must not be
modified, it is used inside the paging loop.
2020-02-17 20:57:58 +01:00
Stephan Brunner e850984715
Correctly check return codes from bytewise write function of I2C. 2020-02-17 20:50:49 +01:00
Stephan Brunner 52aed22978 Refactor paged_handler to directly give the paged device address. 2020-02-17 20:49:43 +01:00
Stephan Brunner 8d1978e05c
I2CEEBlockDevice: Add paging to eight bit mode 2020-02-17 20:22:18 +01:00
Stephan Brunner cd34860bd0 Add Eight-Bit-Adressing mode to I2CEEBlockDevice.
When dealing with EEPROMs without a 16 bit adressing, the current
implementation does not work, as it writes a 16 bit address to the chip.
This may cause undefined behaviour.
This change adds a new constructor argument to enable this new eight-bit
mode. It defaults to false to not break existing code.
This constructor argument should actually never be necessary to manually
set, except when dealing with cheap devices.
2020-02-16 12:54:51 +01:00
Stephan Brunner d7f3fcc3d3
Add error check for _sync() in I2CEEBlockDevice::read 2020-02-10 10:31:41 +01:00
Stephan Brunner 97c00f1a22 Fix I2CEEBlockDevice read()
When reading a data block, the returned error codes from the I2C subsystem
are different from normal single byte operations. We have to verify that
the read-function for multiple bytes does return zero, because it
returns "readBytes != expectedLength".

Additionally, sync before trying to read from the eeprom as slow devices
may not yet be ready to return data, especially with low-priced ones
used with fast controllers.
2020-02-07 22:57:04 +01:00
Veijo Pesonen ba71b09902 astyle fixes 2020-02-07 09:52:12 +02:00
Veijo Pesonen 4f4ef6069e SFDP: Sector Map Parameter Table naming improvements 2020-02-07 09:52:12 +02:00
Veijo Pesonen f51600c089 SPIFBlockDevice: drops unnecessary wrapper function 2020-02-07 09:52:12 +02:00
Veijo Pesonen 57722666a1 SPIFBlockDevice: Consolidates SFDP info data
This far all SFDP Sector Map Table related data has been found in small
pieces inside SPIFBlockDevice. Purpose was to consolidate the data
under one SFDP structure where all the information gathered from
SFDP tables is stored.

More generic version of a function used for parsing a Sector Map Table
was taken into use to avoid duplicate code. The implementation taken
into use is the one which got split from QSPIFBlockDevice and resides
now under the SFDP module.
2020-02-07 09:52:11 +02:00
Veijo Pesonen 83c0fdf19f QSPIFBlockDevice: Sector Map Table parsing moved under SFDP 2020-02-07 09:52:11 +02:00
Veijo Pesonen 7518a35da3 SFDP: data structures got refactored 2020-02-07 09:52:11 +02:00
Veijo Pesonen 6108f384fb QSPIFBlockDevice: Consolidates SFDP info data
This far all SFDP Sector Map Table related data has been found in small
pieces inside QSPIFBlockDevice. Purpose was to consolidate the data
under one SFDP structure where all the information gathered from
SFDP tables is stored.

Parsing a Sector Map Table was made more generic so that later it can be
moved under SFDP module. Once that is done it can be shared with
SPIFBlockDevice to avoid code duplication.
2020-02-07 09:52:11 +02:00
Veijo Pesonen cba5bfc790 QSPIFBlockDevice: Reads Sector Map Table by using a SFDP Reader cb 2020-02-07 09:52:11 +02:00
Veijo Pesonen 4e1fb07633 SFDP: reorganizes internal info structure 2020-02-07 09:52:11 +02:00
Veijo Pesonen 6a6904043c QSPIFBlockDevice: drops unnecessary wrapper function 2020-02-07 09:52:11 +02:00
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