On Tue, Sep 17, 2013 at 17:05 +0200, Gerhard Sittig wrote: > > I liked the S25F datasheet that was referenced here recently, > it's useful for the discussion that is going on here. I liked > the "Serial Peripheral Interface with Multi-I/O" subtitle, which > suggests that SPI gets enhanced while nothing of it is specific > to flash chips. And I liked the sequence diagrams for their > overview or introduction nature, which you can compare to the SPI > message submission API in the Linux kernel which connects SPI > slave drivers and SPI controller drivers. noticed that I should have provided the URL so those interested need not search in the thread www.spansion.com/Support/Datasheets/S25FL128S_256S_00.pdf > The datasheet had "block diagrams" (section 3.16) [ ... ] > And the datasheet had "sequence diagrams" (section 4.2.1) [ ... ] and the relevant design items for the SPI subsystem are: - express those "phases" of communicating a flash chip related "command" in terms of SPI message submission data structures (spi_message, spi_transfer) - make new SPI master drivers support the optional data rate, multi-line transfer, dummy bit times, etc features _if_ their controller hardware supports them - announce support of these optional features such that slave drivers can query them - make SPI slave drivers (specifically SPI attached MTD, i.e. m25p80) map their flash access operations to respective SPI transactions, by introducing an appropriate translation helper and keep all of the "enhanced modes of SPI communication" independent from their motivation by and use in flash chip drivers and keep internals of one specific flash chip instruction set out of the SPI transport layer virtually yours Gerhard Sittig -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr. 5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@xxxxxxx -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html