* Re: m25p80 quad support questions [not found] ` <CAMuHMdXWZU=i9hY_p-oAVHhBskgcbZazLKi8QMLQ+p+t9opyMg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2014-01-09 14:44 ` Geert Uytterhoeven 2014-01-09 19:04 ` sourav 0 siblings, 1 reply; 2+ messages in thread From: Geert Uytterhoeven @ 2014-01-09 14:44 UTC (permalink / raw) To: Sourav Poddar, Brian Norris Cc: MTD Maling List, linux-spi-u79uwXL29TY76Z2rM5mHXA CC linux-spi, and more information below. On Thu, Jan 9, 2014 at 10:12 AM, Geert Uytterhoeven <geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org> wrote: > Hi Sourav, Brian, > > I'm working on adding QSPI support to a SPI master driver, so I'm very > interested in your work to add quad read support to m25p80. > Thanks for that! > > However, I have a few questions/comments: > > 1. Up to version 2 of "drivers: mtd: m25p80: Add quad read support", > the driver set rx_nbits to indicate it wants to use Quad SPI transfers: > > + t[1].rx_nbits = flash->quad_read ? SPI_NBITS_QUAD : 1; > > (http://patchwork.ozlabs.org/patch/286109/). > > However, this is not present in later versions, nor in the current version > in -next. > > It's my understanding the default (single transfer mode) will be used if > rx_nbits is zero, cfr. drivers/spi/spi.c:__spi_async(): > > if (xfer->tx_buf && !xfer->tx_nbits) > xfer->tx_nbits = SPI_NBITS_SINGLE; > if (xfer->rx_buf && !xfer->rx_nbits) > xfer->rx_nbits = SPI_NBITS_SINGLE; > > Does it really use quad transfers without setting rx_nbits to SPI_NBITS_QUAD? I can confirm that the SPI master driver is called with rx_nbits == 1, while using the 0x6b QOR command. > 2. IMHO checking for Quad support in the SPI master (master->mode_bits) > and in the SPI FLASH chip is not sufficient. A quad-capable SPI FLASH > may be wired to a quad-capable SPI master using 4-wire mode, either > physically or through pin control. > So I think we need a m25p,quad-read property in DT. Sorry, this issue is moot. I missed that spi_device.mode (as set from DT spi-rx-bus-width and spi-tx-bus-width) is also taken into account. Thanks again! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: m25p80 quad support questions 2014-01-09 14:44 ` m25p80 quad support questions Geert Uytterhoeven @ 2014-01-09 19:04 ` sourav 0 siblings, 0 replies; 2+ messages in thread From: sourav @ 2014-01-09 19:04 UTC (permalink / raw) To: Geert Uytterhoeven; +Cc: Brian Norris, MTD Maling List, linux-spi On Thursday 09 January 2014 08:14 PM, Geert Uytterhoeven wrote: > CC linux-spi, and more information below. > > On Thu, Jan 9, 2014 at 10:12 AM, Geert Uytterhoeven > <geert@linux-m68k.org> wrote: >> Hi Sourav, Brian, >> >> I'm working on adding QSPI support to a SPI master driver, so I'm very >> interested in your work to add quad read support to m25p80. >> Thanks for that! >> >> However, I have a few questions/comments: >> >> 1. Up to version 2 of "drivers: mtd: m25p80: Add quad read support", >> the driver set rx_nbits to indicate it wants to use Quad SPI transfers: >> >> + t[1].rx_nbits = flash->quad_read ? SPI_NBITS_QUAD : 1; >> >> (http://patchwork.ozlabs.org/patch/286109/). >> >> However, this is not present in later versions, nor in the current version >> in -next. May be, but I suppose all the quad related patches are pushed to l2-mtd. You can check it in that branch. >> >> It's my understanding the default (single transfer mode) will be used if >> rx_nbits is zero, cfr. drivers/spi/spi.c:__spi_async(): >> >> if (xfer->tx_buf&& !xfer->tx_nbits) >> xfer->tx_nbits = SPI_NBITS_SINGLE; >> if (xfer->rx_buf&& !xfer->rx_nbits) >> xfer->rx_nbits = SPI_NBITS_SINGLE; >> >> Does it really use quad transfers without setting rx_nbits to SPI_NBITS_QUAD? > I can confirm that the SPI master driver is called with rx_nbits == 1, while > using the 0x6b QOR command. > >> 2. IMHO checking for Quad support in the SPI master (master->mode_bits) >> and in the SPI FLASH chip is not sufficient. A quad-capable SPI FLASH >> may be wired to a quad-capable SPI master using 4-wire mode, either >> physically or through pin control. >> So I think we need a m25p,quad-read property in DT. We need the following to support quad, 1. controller side support -- > spi->mode should be set 2. flash support ---> provided as a flag. 3. Individuall transfer set --> done by t. rx/tx_nbits. > Sorry, this issue is moot. I missed that spi_device.mode (as set from DT > spi-rx-bus-width and spi-tx-bus-width) is also taken into account. > > Thanks again! > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. > -- Linus Torvalds ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/ ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-01-09 19:04 UTC | newest] Thread overview: 2+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <CAMuHMdXWZU=i9hY_p-oAVHhBskgcbZazLKi8QMLQ+p+t9opyMg@mail.gmail.com> [not found] ` <CAMuHMdXWZU=i9hY_p-oAVHhBskgcbZazLKi8QMLQ+p+t9opyMg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2014-01-09 14:44 ` m25p80 quad support questions Geert Uytterhoeven 2014-01-09 19:04 ` sourav
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).