i am using EZK-LITE development board of BF609.
On that board, there is serial flash memory - Winbond W25Q32BV. it supports quad spi communication with processor.
i have tried Dual spi communication from BF609 to this memory, and it is working.
now i am trying to use quad spi communication, but it is not working. Some fix value (238) is coming in output for manufacture/device id reply.
sequence which i am following:
1. disable SPI interface
2. configure SPI clock, SPI_CTL register.
3. configure SPI_RX_CTL and SPI_TX_CTL registers for transmit initiate, SPI_TWC and receive initiate , SPI_RWC.
4. but SPI_RX_CTL.EN and SPI_TX_CTL.EN = 0. because in dual/quad IO mode at a time either receive or transmit channel should be in enable state.
5. enable SPI communication.
For SPI data write, sequence are:
1. enable SPI_TX_CTL.EN = 1
2. write number of data byte to be transfer, in SPI_TWC = buffer size.
3. Write data into transmit fifo.
4. wait for data transfer.
5. disable spi transmit channel.
for SPI data receive, sequence are:
1. enable receive channel
2. write number of data byte to receive, into SPI_RWC = buffer_size
3. if receive fifo is not empty, then read receive buffer
4. read required number of data bytes
5. disable spi receive channel.
** now in case of Dual SPI, let command for device id reading is 0x92. then it has to be divide into 2 parts --> 0x41, 0x04
i want to know that for quad spi, whether i have to divide the command 0x94 into 4 parts.
pls correct me..