mirror of https://github.com/ARMmbed/mbed-os.git
SPIFBlockDevice: Consolidates internal SFDP header information
parent
fe49c9ce16
commit
6d77d0d1f9
|
@ -122,10 +122,12 @@ int SPIFBlockDevice::init()
|
|||
uint8_t vendor_device_ids[4];
|
||||
size_t data_length = 3;
|
||||
int status = SPIF_BD_ERROR_OK;
|
||||
struct sfdp_hdr_info hdr_info;
|
||||
spif_bd_error spi_status = SPIF_BD_ERROR_OK;
|
||||
|
||||
memset(&hdr_info, 0, sizeof hdr_info);
|
||||
_sfdp_info.bptbl.addr = 0x0;
|
||||
_sfdp_info.bptbl.size = 0;
|
||||
_sfdp_info.smptbl.addr = 0x0;
|
||||
_sfdp_info.smptbl.size = 0;
|
||||
|
||||
_mutex->lock();
|
||||
|
||||
|
@ -174,7 +176,7 @@ int SPIFBlockDevice::init()
|
|||
}
|
||||
|
||||
/**************************** Parse SFDP Header ***********************************/
|
||||
if (0 != sfdp_parse_headers(callback(this, &SPIFBlockDevice::_spi_send_read_sfdp_command), hdr_info)) {
|
||||
if (sfdp_parse_headers(callback(this, &SPIFBlockDevice::_spi_send_read_sfdp_command), _sfdp_info) < 0) {
|
||||
tr_error("init - Parse SFDP Headers Failed");
|
||||
status = SPIF_BD_ERROR_PARSING_FAILED;
|
||||
goto exit_point;
|
||||
|
@ -182,7 +184,9 @@ int SPIFBlockDevice::init()
|
|||
|
||||
|
||||
/**************************** Parse Basic Parameters Table ***********************************/
|
||||
if (0 != _sfdp_parse_basic_param_table(callback(this, &SPIFBlockDevice::_spi_send_read_sfdp_command), hdr_info.bptbl.addr, hdr_info.bptbl.size)) {
|
||||
if (_sfdp_parse_basic_param_table(callback(this, &SPIFBlockDevice::_spi_send_read_sfdp_command),
|
||||
_sfdp_info.bptbl.addr,
|
||||
_sfdp_info.bptbl.size) < 0) {
|
||||
tr_error("init - Parse Basic Param Table Failed");
|
||||
status = SPIF_BD_ERROR_PARSING_FAILED;
|
||||
goto exit_point;
|
||||
|
@ -193,9 +197,9 @@ int SPIFBlockDevice::init()
|
|||
_device_size_bytes; // If there's no region map, we have a single region sized the entire device size
|
||||
_sfdp_info.smptbl.region_high_boundary[0] = _device_size_bytes - 1;
|
||||
|
||||
if ((hdr_info.smptbl.addr != 0) && (0 != hdr_info.smptbl.size)) {
|
||||
tr_debug("init - Parsing Sector Map Table - addr: 0x%" PRIx32 "h, Size: %d", hdr_info.smptbl.addr,
|
||||
hdr_info.smptbl.size);
|
||||
if ((_sfdp_info.smptbl.addr != 0) && (0 != _sfdp_info.smptbl.size)) {
|
||||
tr_debug("init - Parsing Sector Map Table - addr: 0x%" PRIx32 "h, Size: %d", _sfdp_info.smptbl.addr,
|
||||
_sfdp_info.smptbl.size);
|
||||
if (sfdp_parse_sector_map_table(callback(this, &SPIFBlockDevice::_spi_send_read_sfdp_command),
|
||||
_sfdp_info.smptbl) < 0) {
|
||||
tr_error("init - Parse Sector Map Table Failed");
|
||||
|
|
Loading…
Reference in New Issue