From: Pratyush Yadav <p.yadav@ti.com>
To: u-boot@lists.denx.de
Subject: [PATCH v9 06/28] spi: cadence-qspi: Add a small delay before indirect writes
Date: Wed, 5 May 2021 15:11:16 +0530 [thread overview]
Message-ID: <20210505094138.30805-7-p.yadav@ti.com> (raw)
In-Reply-To: <20210505094138.30805-1-p.yadav@ti.com>
Once the start bit is toggled it takes a small amount of time before it
is internally synchronized. This means we can't start writing during
that part. So add a small delay to allow the bit to be synchronized.
Signed-off-by: Pratyush Yadav <p.yadav@ti.com>
---
drivers/spi/cadence_qspi.c | 4 ++++
drivers/spi/cadence_qspi.h | 1 +
drivers/spi/cadence_qspi_apb.c | 6 ++++++
3 files changed, 11 insertions(+)
diff --git a/drivers/spi/cadence_qspi.c b/drivers/spi/cadence_qspi.c
index de7628de27..a961193cdc 100644
--- a/drivers/spi/cadence_qspi.c
+++ b/drivers/spi/cadence_qspi.c
@@ -20,6 +20,8 @@
#include <linux/sizes.h>
#include "cadence_qspi.h"
+#define NSEC_PER_SEC 1000000000L
+
#define CQSPI_STIG_READ 0
#define CQSPI_STIG_WRITE 1
#define CQSPI_READ 2
@@ -208,6 +210,8 @@ static int cadence_spi_probe(struct udevice *bus)
priv->qspi_is_init = 1;
}
+ plat->wr_delay = 50 * DIV_ROUND_UP(NSEC_PER_SEC, plat->ref_clk_hz);
+
return 0;
}
diff --git a/drivers/spi/cadence_qspi.h b/drivers/spi/cadence_qspi.h
index b06d7750e2..5c745541a6 100644
--- a/drivers/spi/cadence_qspi.h
+++ b/drivers/spi/cadence_qspi.h
@@ -27,6 +27,7 @@ struct cadence_spi_plat {
fdt_addr_t ahbsize;
bool use_dac_mode;
int read_delay;
+ u32 wr_delay;
/* Flash parameters */
u32 page_size;
diff --git a/drivers/spi/cadence_qspi_apb.c b/drivers/spi/cadence_qspi_apb.c
index b051f462ed..92e57730bd 100644
--- a/drivers/spi/cadence_qspi_apb.c
+++ b/drivers/spi/cadence_qspi_apb.c
@@ -730,6 +730,12 @@ cadence_qspi_apb_indirect_write_execute(struct cadence_spi_plat *plat,
writel(CQSPI_REG_INDIRECTWR_START,
plat->regbase + CQSPI_REG_INDIRECTWR);
+ /*
+ * Some delay is required for the above bit to be internally
+ * synchronized by the QSPI module.
+ */
+ ndelay(plat->wr_delay);
+
while (remaining > 0) {
write_bytes = remaining > page_size ? page_size : remaining;
writesl(plat->ahbbase, bb_txbuf, write_bytes >> 2);
--
2.30.0
next prev parent reply other threads:[~2021-05-05 9:41 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-05 9:41 [PATCH v9 00/28] mtd: spi-nor-core: add xSPI Octal DTR support Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 01/28] spi: spi-mem: allow specifying whether an op is DTR or not Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 02/28] spi: spi-mem: allow specifying a command's extension Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 03/28] spi: spi-mem: export spi_mem_default_supports_op() Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 04/28] spi: spi-mem: add spi_mem_dtr_supports_op() Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 05/28] spi: cadence-qspi: Do not calibrate when device tree sets read delay Pratyush Yadav
2021-05-05 9:41 ` Pratyush Yadav [this message]
2021-05-05 9:41 ` [PATCH v9 07/28] spi: cadence-qspi: Add support for octal DTR flashes Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 08/28] arm: mvebu: x530: Use tiny SPI NOR Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 09/28] mtd: spi-nor-core: Fix address width on flash chips > 16MB Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 10/28] mtd: spi-nor-core: Add a ->setup() hook Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 11/28] mtd: spi-nor-core: Move SFDP related declarations to top Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 12/28] mtd: spi-nor-core: Introduce flash-specific fixup hooks Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 13/28] mtd: spi-nor-core: Rework hwcaps selection Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 14/28] mtd: spi-nor-core: Do not set data direction when there is no data Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 15/28] mtd: spi-nor-core: Add support for DTR protocol Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 16/28] mtd: spi-nor-core: prepare BFPT parsing for JESD216 rev D Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 17/28] mtd: spi-nor-core: Get command opcode extension type from BFPT Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 18/28] mtd: spi-nor-core: Parse xSPI Profile 1.0 table Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 19/28] mtd: spi-nor-core: Prepare Read SR and FSR for Octal DTR mode Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 20/28] mtd: spi-nor-core: Enable octal DTR mode when possible Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 21/28] mtd: spi-nor-core: Do not make invalid quad enable fatal Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 22/28] mtd: spi-nor-core: Detect Soft Reset sequence support from BFPT Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 23/28] mtd: spi-nor-core: Perform a Soft Reset on shutdown Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 24/28] mtd: spi-nor-core: Perform a Soft Reset on boot Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 25/28] mtd: spi-nor-core: allow truncated erases Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 26/28] mtd: spi-nor-core: Add non-uniform erase for Spansion/Cypress Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 27/28] mtd: spi-nor-core: Add support for Cypress Semper flash Pratyush Yadav
2021-05-05 9:41 ` [PATCH v9 28/28] mtd: spi-nor-core: Allow using Micron mt35xu512aba in Octal DTR mode Pratyush Yadav
2021-05-10 13:20 ` [PATCH v9 00/28] mtd: spi-nor-core: add xSPI Octal DTR support Pratyush Yadav
2021-05-26 17:05 ` Jagan Teki
2021-05-27 16:23 ` Pratyush Yadav
2021-06-14 15:10 ` Pratyush Yadav
2021-06-23 12:02 ` Jagan Teki
2021-06-24 11:13 ` Pratyush Yadav
2021-06-25 15:32 ` 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=20210505094138.30805-7-p.yadav@ti.com \
--to=p.yadav@ti.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 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).