[PATCH] drivers: mtd: m25p80: Add quad read support.
Marek Vasut
marex at denx.de
Sun Oct 27 11:47:49 PDT 2013
Dear Sourav Poddar,
> Dear Marek,
>
> On Monday 28 October 2013 12:00 AM, Marek Vasut wrote:
> > Dear Sourav Poddar,
> >
> >> Dear Marek,
> >>
> >> On Sunday 27 October 2013 10:15 PM, Marek Vasut wrote:
> >>> Dear Sourav Poddar,
> >>>
> >>> [...]
> >
> > [...]
> >
> >>>> @@ -774,7 +906,7 @@ static const struct spi_device_id m25p_ids[] = {
> >>>>
> >>>> { "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },
> >>>> { "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, 0) },
> >>>> { "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) },
> >>>>
> >>>> - { "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, 0) },
> >>>> + { "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024,
> >>>> M25P80_QUAD_READ) },
> >>>
> >>> I'm not convinced enabling 4-bit mode should be hard-coded in the MTD
> >>> driver. There might be a board which uses this chip in 1-bit mode.
> >>>
> >>> We have a setup with Spansion chip here which uses 1-bit addressing in
> >>> U-Boot, but uses 4-bit addressing in Linux. We use a DT property to
> >>> configure the SPI bus width for that and I think that's a way to go.
> >>> Note that there also are chips which use 2-bit wide SPI communication.
> >>
> >> Yes, but if you trace down the patch below, you will see its not hard
> >> coded. Enabling quad read mode depends on the following:
> >>
> >> 1. Whether flash chip supports it.
> >>
> >> This information comes from the flash which we are setting
> >> above.
> >>
> >> 2. Whether SPI controller supports it.
> >>
> >> This information is the check down below in the
> >>
> >> patch(spi->mode& SPI_RX_QUAD).
> >>
> >> spi->mode is set to "SINGLE/DUAL/QUAD" in the SPI
> >> framework
> >>
> >> based on the
> >>
> >> dt property "spi-tx/rx-bus-width".
> >>
> >> So, unless you set spi->mode to SPI_RX_QUAD by setting
> >> "spi-rx-bus-width" to 4 in dt, default
> >> will be 1 bit mode only.
> >
> > So this M25P80_QUAD_READ flag tells us "this chip supports quad read",
> > not "force enable quad read" .
>
> Yes, correct.
>
> > All right, thanks for clearing this up. I hope it's
> > documented somewhere elsewhere than in this email ;-)
>
> Its added as a comment under struct flash_info where
> this flag is defined.
Thank you!
Best regards,
Marek Vasut
More information about the linux-mtd
mailing list