I got some free time in the past days to investigate this issue. Guenter is
right, the Linux imx-spi driver does not work on QEMU.
The reason is that the state of m25p80 machine loops in STATE_READING_DATA
state after receiving RDSR command, the new command is ignored. Before sending
a new command, the CS line should be pulled to high, this make the state of
m25p80 back to IDLE.
I have same point with Guenter, it's that set CS to 1 when burst is zero. But i
don't think it is necessary to set CS to 0 in imx_spi_flush_txfifo(). I will
send a new patch to fix this issue.
Thanks a lot for looking into this. If you have a better solution than mine, by
all means, please go for it. As I mentioned in my patch, I didn't really like
it, but I was unable to find a better solution.