From: Michal Simek <michal.simek@xilinx.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 1/3] spi: spi_flash: Dont set quad enable for micron in all cases
Date: Thu, 26 May 2016 13:02:30 +0200 [thread overview]
Message-ID: <5746D7C6.4020004@xilinx.com> (raw)
In-Reply-To: <1464245901-3983-1-git-send-email-sivadur@xilinx.com>
On 26.5.2016 08:58, Siva Durga Prasad Paladugu wrote:
> Dont set quad enable for micron devices in all cases
> Setting the quad enable bit in micron expects all other
> commands like register reads on quad lines which may
> not be supported by some controllers. Hence, dont
> set the quad enable if controller driver sets the
> no_all_quad.
>
> Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
> ---
> Changes for v2:
> - Newly added in series.
> ---
> drivers/mtd/spi/spi_flash.c | 13 ++++++++++++-
> include/spi.h | 2 +-
> 2 files changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c
> index 5451725..5b22ae2 100644
> --- a/drivers/mtd/spi/spi_flash.c
> +++ b/drivers/mtd/spi/spi_flash.c
> @@ -926,6 +926,8 @@ static int micron_quad_enable(struct spi_flash *flash)
>
> static int set_quad_mode(struct spi_flash *flash, u8 idcode0)
> {
> + struct spi_slave *spi = flash->spi;
> +
> switch (idcode0) {
> #ifdef CONFIG_SPI_FLASH_MACRONIX
> case SPI_FLASH_CFI_MFR_MACRONIX:
> @@ -938,7 +940,16 @@ static int set_quad_mode(struct spi_flash *flash, u8 idcode0)
> #endif
> #ifdef CONFIG_SPI_FLASH_STMICRO
> case SPI_FLASH_CFI_MFR_STMICRO:
> - return micron_quad_enable(flash);
> + /*
> + * Set quad enable for micron only
> + * if controller supports sending of
> + * all commands on quad lines, otherwise
> + * dont enable it
> + */
> + if (spi->no_all_quad)
> + return 0;
> + else
> + return micron_quad_enable(flash);
> #endif
> default:
> printf("SF: Need set QEB func for %02x flash\n", idcode0);
> diff --git a/include/spi.h b/include/spi.h
> index 4b88d39..17c6e4d 100644
> --- a/include/spi.h
> +++ b/include/spi.h
> @@ -117,7 +117,7 @@ struct spi_slave {
> unsigned int max_write_size;
> void *memory_map;
> u8 option;
> -
> + u8 no_all_quad;
> u8 flags;
> #define SPI_XFER_BEGIN BIT(0) /* Assert CS before transfer */
> #define SPI_XFER_END BIT(1) /* Deassert CS after transfer */
>
Tested-by: Michal Simek <michal.simek@xilinx.com>
Thanks,
Michal
next prev parent reply other threads:[~2016-05-26 11:02 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-26 6:58 [U-Boot] [PATCH v2 1/3] spi: spi_flash: Dont set quad enable for micron in all cases Siva Durga Prasad Paladugu
2016-05-26 6:58 ` [U-Boot] [PATCH v2 2/3] spi: zynqmp_qspi: Add QSPI driver support for ZynqMP Siva Durga Prasad Paladugu
2016-05-26 11:02 ` Michal Simek
2016-05-26 6:58 ` [U-Boot] [PATCH v2 3/3] spi: zynqmp_qspi: Add qspi driver support for ZynqMP boards Siva Durga Prasad Paladugu
2016-05-26 11:02 ` Michal Simek
2016-05-26 11:02 ` Michal Simek [this message]
2016-06-14 9:18 ` [U-Boot] [PATCH v2 1/3] spi: spi_flash: Dont set quad enable for micron in all cases Siva Durga Prasad Paladugu
2016-06-21 11:52 ` Siva Durga Prasad Paladugu
2016-07-14 6:07 ` Jagan Teki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5746D7C6.4020004@xilinx.com \
--to=michal.simek@xilinx.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.