i.MX RT106x + IS25WP064D QSPI DDR mode...?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

i.MX RT106x + IS25WP064D QSPI DDR mode...?

2,798件の閲覧回数
np
Contributor IV

Hi everyone,

Frustrated by SDR XIP performance, I've been trying to get my RT106x + IS25WP064D boards to run in DDR/DTR mode, but without success.

I've also tried using @jay_heng's NXP-MCUBootUtility, and looking at the Linux source code (issi.c doesn't have any DDR support), as well as 1000+ forum posts, but haven't found anything.

Am I trying to do something that's just impossible? Or is there a secret squirrel trick I've managed to miss?

Thanks, Nick

PS: my current best guess at the configuration options looks like this:

stFlashConfigOption.option0.U = 0;
stFlashConfigOption.option0.B.tag = 0xC;
stFlashConfigOption.option0.B.quad_mode_setting = kSerialNorQuadMode_StatusReg1_Bit6; // i.e. QE is bit 6
stFlashConfigOption.option0.B.max_freq = kFlexSpiSerialClk_80MHz;
stFlashConfigOption.option0.B.device_type = kSerialNorCfgOption_DeviceType_ReadSFDP_DDR;

My current best guess at the .memConfig looks like this:

.readSampleClksrc=kFlexSPIReadSampleClk_LoopbackFromDqsPad,
.sflashPadType = kSerialFlash_4Pads,
.serialClkFreq = kFlexSpiSerialClk_80MHz,
.controllerMiscOption = (1 << kFlexSpiMiscOffset_DdrModeEnable) | (1 << kFlexSpiMiscOffset_SafeConfigFreqEnable),
.lookupTable =
{
// Read LUTs
FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0xED, RADDR_DDR, FLEXSPI_4PAD, ADDRESS_BITS),
FLEXSPI_LUT_SEQ(DUMMY_DDR, FLEXSPI_4PAD, DUMMY_CYCLES, READ_DDR, FLEXSPI_4PAD, 0x04),
},

ラベル(1)
タグ(4)
0 件の賞賛
返信
7 返答(返信)

2,706件の閲覧回数
jay_heng
NXP Employee
NXP Employee

IS25WP064D chip supports up to 80MHz DTR, but FlexSPI can only support 66MHz DTR when internal dummy read strobe and loopbacked from DQS pad is selected, as there is no DQS pin in this Flash chip.

 

I have detail description in https://www.cnblogs.com/henjay724/p/14682888.html

2,772件の閲覧回数
np
Contributor IV

Of course. DUMMY_CYCLES is currently 6.

I also tried it using 10 and 12, but that didn't help. At 80MHz DTR, I believe ISSI recommend using 6.

Also: ADDRESS_BITS is 24.

0 件の賞賛
返信

2,790件の閲覧回数
jay_heng
NXP Employee
NXP Employee

2,782件の閲覧回数
np
Contributor IV

Hi @jay_heng 

Unfortunately, that link gives me the error: "You do not have sufficient privileges for this resource or its parent to perform this action. Click your browser's Back button to continue."

Can you cut and paste the solution here, please?

Thanks very much & best regards, Nick

0 件の賞賛
返信

2,775件の閲覧回数
jay_heng
NXP Employee
NXP Employee

Can you please share DUMMY_CYCLES value with me?

0 件の賞賛
返信

2,761件の閲覧回数
np
Contributor IV

Of course. DUMMY_CYCLES is currently 6.

I also tried it using 10 and 12, but that didn't help. At 80MHz DTR, I believe ISSI recommend using 6.

Also: ADDRESS_BITS is 24.

0 件の賞賛
返信

2,748件の閲覧回数
np
Contributor IV

Ah. I think I understand what the problem is.

On the ISSI QSPI, the maximum SDR rate is 133MHz, but the maximum DDR/DTR rate is only 66MHz.

80MHz is the maximum speed for DDR/DTR supported by the RT106x, but the ISSI QSPI can only reach 66MHz.

So: anyone hoping to get better XIP performance on the ISSI QSPI by enabling DTR would seem to be wasting their time.

It appears that the only marginal performance gain available would be from enabling QPI mode. But even that doesn't seem likely to be worth the effort. Ouch!

0 件の賞賛
返信