mirror of https://github.com/ARMmbed/mbed-os.git
commit
f5ef511c31
|
@ -76,7 +76,7 @@ TODO
|
||||||
// NRF SFDP defines
|
// NRF SFDP defines
|
||||||
#define DWORD_LEN 4
|
#define DWORD_LEN 4
|
||||||
#define SFDP_CMD_LEN DWORD_LEN
|
#define SFDP_CMD_LEN DWORD_LEN
|
||||||
#define SFDP_DATA_LEN 128 // SFPD data buffer length in bytes, may need to be increased for other flash parts
|
#define SFDP_DATA_LEN QSPIF_SFDP_DATA_LEN // SFPD data buffer length in bytes, may need to be increased for other flash parts
|
||||||
#define SFDP_READ_LEN 8 // 8 SFDP bytes can be read at a time
|
#define SFDP_READ_LEN 8 // 8 SFDP bytes can be read at a time
|
||||||
#define SFDP_READ_MAX (SFDP_DATA_LEN / SFDP_READ_LEN)
|
#define SFDP_READ_MAX (SFDP_DATA_LEN / SFDP_READ_LEN)
|
||||||
|
|
||||||
|
@ -559,14 +559,9 @@ qspi_status_t sfdp_read(qspi_t *obj, const qspi_command_t *command, void *data,
|
||||||
return QSPI_STATUS_ERROR;
|
return QSPI_STATUS_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
// calculate the SFDP data length based on the parameter table offset
|
|
||||||
// provided at index 12, plus the table length in DWORDS at index 11
|
|
||||||
uint32_t sfdp_length = sfdp_rx[12] + (sfdp_rx[11] * DWORD_LEN);
|
|
||||||
|
|
||||||
// check if the data request is within the SFDP data array
|
// check if the data request is within the SFDP data array
|
||||||
// increase SFDP_DATA_LEN to match sfdp_length, if necessary
|
// increase SFDP_DATA_LEN to match sfdp_length, if necessary
|
||||||
if ( sfdp_length <= SFDP_DATA_LEN &&
|
if ( SFDP_DATA_LEN >= (command->address.value + *length) ) {
|
||||||
sfdp_length >= (command->address.value + *length) ) {
|
|
||||||
memcpy(data, (sfdp_rx + command->address.value), *length);
|
memcpy(data, (sfdp_rx + command->address.value), *length);
|
||||||
return QSPI_STATUS_OK;
|
return QSPI_STATUS_OK;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -5568,6 +5568,11 @@
|
||||||
"uart_1_fifo_size": {
|
"uart_1_fifo_size": {
|
||||||
"help": "UART1 FIFO buffer. FIFO buffer is filled from DMA buffer.",
|
"help": "UART1 FIFO buffer. FIFO buffer is filled from DMA buffer.",
|
||||||
"value": 32
|
"value": 32
|
||||||
|
},
|
||||||
|
"qspif_sfdp_data_len": {
|
||||||
|
"help": "length of Flash SFDP DATA",
|
||||||
|
"value": 128,
|
||||||
|
"macro_name": "QSPIF_SFDP_DATA_LEN"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"overrides": {
|
"overrides": {
|
||||||
|
|
Loading…
Reference in New Issue