Dialog DA14706 support to have 32bit addressing to MX25U25645G Flash memory

Hi Renesas Team, 

I'm using DA14706 controller interfaced with MX25U25645G 256Mb flash memory in our custom board with SDK-10.2.6.49.

While writing the flash data in below partition, 
#define NVMS_LOG_PART_START (OQSPI_MEM1_VIRTUAL_BASE_ADDR + 0x00780000)
#define NVMS_LOG_PART_SIZE (0x0187F000)
The code asserts warning when the data goes beyond 16MB which could be due to default 24bit addressing in the SDK.

Updates done in order to write the data in the log partition, 

File: config_oqspi.h (bsp_defaults_da1470x.h)
Code update:
/*Defines added to include for 256MB Flash */
#define dg_configOQSPI_FLASH_HEADER_FILE "oqspi_mx25u256.h"      /* Default: "oqspi_mx25u6432.h" */
#define dg_configOQSPI_FLASH_CONFIG oqspi_mx25u256_cfg               /* Default: oqspi_mx25u6432_cfg */

File: oqspi_mx25u256.h
Code update:
static const oqspi_flash_config_t oqspi_mx25u256_cfg = {
.address_size = HW_OQSPI_ADDR_SIZE_32,                                               /* Default: HW_OQSPI_ADDR_SIZE_24 */
};

Code hangs up in the code initialization itself. 
Debug:
 __STATIC_INLINE void hw_cache_enable(void){
REG_SET_BIT...
<here the code gets stuck >


NOTE: Reverting back this one change of HW_OQSPI_ADDR_SIZE_32 to HW_OQSPI_ADDR_SIZE_24, works.
But then I won't be able to utilize the memory as the code will assert warning once it reaches 0x00FFFFFF due to below code in SDK (while flash write):

__RETAINED_CODE void hw_oqspi_erase_block(uint32_t addr)
{
....
switch (hw_oqspi_get_address_size()) {
case HW_OQSPI_ADDR_SIZE_24:
ASSERT_WARNING(addr <= 0x00FFFFFF);
...

Kindly, Provide the changes required to update the memory addressing size from 24bit addressing to 32bits addressing mode. 

I’d appreciate a quick response. 

Regards,
Rutva.

Parents Reply Children
No Data