Hi all
I am using the example : FlexSPI_nor_polling_transfer to use some SPI features
In the CODE: how do I switch between the default CS0 to CS1 and making the erase and program operation on it ?
where do I need to modify the code??
thanks
Adi , Intel
Solved! Go to Solution.
There are two places you need to modify (SDK 2.12):
// in pin_mux.c, update it to SS1_B
void BOARD_InitPins(void) {
CLOCK_EnableClock(kCLOCK_Iomuxc);
IOMUXC_SetPinMux(IOMUXC_GPIO_SD_B1_06_FLEXSPI_A_SS0_B, 1U);
IOMUXC_SetPinConfig(IOMUXC_GPIO_SD_B1_06_FLEXSPI_A_SS0_B, 0x10F1U);
}
// in app.h, PortA1 is for CS0, PortA2 is for CS1
#define FLASH_PORT kFLEXSPI_PortA1
Hi @adi2Intel ,
Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you.
It needs you to assign the size range for the specific port during initializing the FlexSPI, then the AHB bus can determine which port to access according to the target address, however, when using the IP bus, you should set the similar information like the below shows manually which includes the port prior to calling the LUT commands.
flexspi_transfer_t flashXfer;
flashXfer.deviceAddress = 0;
flashXfer.port = kFLEXSPI_PortA1;
flashXfer.cmdType = kFLEXSPI_Read;
flashXfer.SeqNumber = 1;
flashXfer.seqIndex = NOR_CMD_LUT_SEQ_IDX_READID;
flashXfer.data = &temp;
flashXfer.dataSize = 1;
status_t status = FLEXSPI_TransferBlocking(base, &flashXfer);
Have a great day,
TIC
-------------------------------------------------------------------------------
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 Jeremy
Thank you for your quick reply
I did not understood what exactly to modify?
for example right now we are using :
for reading vendor ID thru CS0
so we need only to change to PortB2?
Adi, Intel
Better to use SDK 2.12, then you just need to modify one MACRO in app.h
kFLEXSPI_PortA1 is for A_SS0, kFLEXSPI_PortA2 is for A_SS1
kFLEXSPI_PortB1 is for B_SS0, kFLEXSPI_PortB2 is for B_SS1
There are two places you need to modify (SDK 2.12):
// in pin_mux.c, update it to SS1_B
void BOARD_InitPins(void) {
CLOCK_EnableClock(kCLOCK_Iomuxc);
IOMUXC_SetPinMux(IOMUXC_GPIO_SD_B1_06_FLEXSPI_A_SS0_B, 1U);
IOMUXC_SetPinConfig(IOMUXC_GPIO_SD_B1_06_FLEXSPI_A_SS0_B, 0x10F1U);
}
// in app.h, PortA1 is for CS0, PortA2 is for CS1
#define FLASH_PORT kFLEXSPI_PortA1