Hello,
our device consist of iMX 1050 RT connected SPI NOR Flash via FlexSPI port A1 and connected via FlexSPI port B1.
Data strobe is configured as internal loopback for both.
If I try to execute FlexSPI commands on port B1, I see no signal activity on port B1 but on port A1.
The FlexSPI init sequence is as follows:
flexspi_device_config_t deviceconfigNor = {
.flexspiRootClk = 120000000,
.flashSize = NOR_FLASH_SIZE,
.CSIntervalUnit = kFLEXSPI_CsIntervalUnit1SckCycle,
.CSInterval = 2,
.CSHoldTime = 3,
.CSSetupTime = 3,
.dataValidTime = 0,
.columnspace = 0,
.enableWordAddress = 0,
.AWRSeqIndex = 0,
.AWRSeqNumber = 0,
.ARDSeqIndex = NOR_CMD_LUT_SEQ_IDX_READ_FAST_QUAD,
.ARDSeqNumber = 1,
.AHBWriteWaitUnit = kFLEXSPI_AhbWriteWaitUnit2AhbCycle,
.AHBWriteWaitInterval = 0,
};
flexspi_device_config_t deviceconfigNand = {
.flexspiRootClk = 120000000,
.flashSize = NAND_FLASH_SIZE,
.CSIntervalUnit = kFLEXSPI_CsIntervalUnit1SckCycle,
.CSInterval = 2,
.CSHoldTime = 3,
.CSSetupTime = 3,
.dataValidTime = 0,
.columnspace = 0,
.enableWordAddress = 0,
.AWRSeqIndex = 0,
.AWRSeqNumber = 0,
.ARDSeqIndex = 0,
.ARDSeqNumber = 0,
.AHBWriteWaitUnit = kFLEXSPI_AhbWriteWaitUnit2AhbCycle,
.AHBWriteWaitInterval = 0,
};
flexspi_config_t config;
FLEXSPI_GetDefaultConfig(&config);
FLEXSPI_Init(EXAMPLE_FLEXSPI, &config);
FLEXSPI_SetFlashConfig(EXAMPLE_FLEXSPI, &deviceconfigNor, kFLEXSPI_PortA1);
FLEXSPI_SetFlashConfig(EXAMPLE_FLEXSPI, &deviceconfigNand, kFLEXSPI_PortB1);
What shall I do to get port B1 working ?
Thanks in advance.
Lutz
HiLutz Volkmann ,
Do you download the code the RAM,
Before you do the FlexSPI port B1 operation, do you have configure the related pins as the flexSPI function?
Please check the pin_mux.c.
Any updated information, please kindly let me know.
Have a great day,
Kerry
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Hi Kerry,
now it works my mistake was that I took the wrong device address.
Best Regards
Lutz
Hi Dylan Yu,
If you have any question, you can create your own question post, then we will help you in your post directly.
Wish it helps you!
Kerry
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Hi Lutz Volkmann,
Thanks let me know that it works and the root problem on your side.
If you still have questions about it, please kindly let me know.
If your question is solved, please help me to mark the correct answer, just to close this question, thank you!
Have a great day,
Kerry
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Hi Kerry,
to do some trials on our custom board I use the flexspi_nor_polling transfer example.
The code is executed from RAM and port B pins are configured as you can see below.
I'm now wondering if in the flexspi driver code function FLEXSPI_TransferBlocking the IPAREN bit should be set ?
/* Configure sequence ID. */
configValue |= FLEXSPI_IPCR1_ISEQID(xfer->seqIndex) | FLEXSPI_IPCR1_ISEQNUM(xfer->SeqNumber - 1);
base->IPCR1 = configValue;
Regards
Lutz
Hi,
I also added :
FLEXSPI_EnableIPParallelMode(EXAMPLE_FLEXSPI,true);
FLEXSPI_EnableAHBParallelMode(EXAMPLE_FLEXSPI,true);
but nothing changes.
No one any idea ?
Lutz