MCUBoot basic example with SPI (dual data lines)

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
projecta98
Level 3
Level 3
10 replies posted 25 sign-ins 5 questions asked

I am trying to get the MCUBoot to work with my custom board (using a dual data pin SPI chip).

The original example worked fine with the devkit (CY8CPROTO-062-4343W).

In the custom board, I am using MX25V1635FM1I as serial flash (with only two pins used for data).

I changed the serial flash driver using QSPI Configurator (which is being used correctly by blinky_cm4 correctly.

But it appears that the bootload_cm0p is using auto detect SFDP (which attempts to use the serial flash as octal device) which does not work (since the Cy_SMIF_MemSfdpDetect uses CY_SMIF_WIDTH_OCTAL and populates the wrong read commands during the initialization. 

What is the proper way to initialize the SMIF or flash_qspi driver from bootloader to use the correct SPI settings?

I was able to get it working by changing CY_SMIF_WIDTH_OCTAL to CY_SMIF_WIDTH_DUAL in Cy_SMIF_MemSfdpDetect, but I doubt that is the correct way to handle this situation.

 

0 Likes
1 Solution
Sidramesh_S
Moderator
Moderator
Moderator
250 sign-ins 100 replies posted 25 solutions authored

Hi @projecta98 ,

As per your question, I understand that your using MX25V1635FM1I device when
Cy_SMIF_MemSfdpDetect is being called it is auto-populating the transfer width as
CY_SMIF_WIDTH_OCTAL .
As per my understanding, CY8CPROTO-062-4343W development board by default has a NOR Flash that supports Octal Mode and I guess for the flash device being used by you transfer width should be set as Dual.

What is your device's (MX25V1635FM1I ) response for the transfer width as it being set incorrectly? Can you please elaborate on this?

Thanks and regards,
sidramesh.

View solution in original post

0 Likes
2 Replies
Sidramesh_S
Moderator
Moderator
Moderator
250 sign-ins 100 replies posted 25 solutions authored

Hi @projecta98 ,

As per your question, I understand that your using MX25V1635FM1I device when
Cy_SMIF_MemSfdpDetect is being called it is auto-populating the transfer width as
CY_SMIF_WIDTH_OCTAL .
As per my understanding, CY8CPROTO-062-4343W development board by default has a NOR Flash that supports Octal Mode and I guess for the flash device being used by you transfer width should be set as Dual.

What is your device's (MX25V1635FM1I ) response for the transfer width as it being set incorrectly? Can you please elaborate on this?

Thanks and regards,
sidramesh.

0 Likes
projecta98
Level 3
Level 3
10 replies posted 25 sign-ins 5 questions asked

@Sidramesh_S 

Sorry for the delay due to being on vacation.

The Status register shows QE bit is not set in the chip. But the Smif driver still tries to use the QUAD.

0 Likes