On Thu, Sep 12, 2013 at 10:50:31AM +0100, David Woodhouse wrote:
On Thu, 2013-09-12 at 17:28 +0800, Huang Shijie wrote:
quoted
? 2013?09?11? 22:05, David Woodhouse ??:
quoted
What*actually* happens, on the wire(s), when the flash driver asks the
SPI controller to perform a transaction?
The LUT registers tell the controller how many wires are needed for a
transaction.
For example, the read status only use a single line, while the quad read
uses 4 lines.
Is this not something that could theoretically be provided by the caller
when it *makes* the transaction?
Conceptually speaking, could it not be an additional argument to
spi_write_then_read() ?
After all, it's the *device* driver (m25p80.c etc.) which will know what
the transaction actually *is*, and how many lines the device will want
to use for each transaction?
yes. we can set the lines information in the spi_write_then_read().
But for the quadspi driver, it does not need this information.
When the drivers knows that it is a Quad-read transaction, it will uses
the relative LUT sequence which uses the 4 lines.
thanks
Huang Shijie