summaryrefslogtreecommitdiff
path: root/include/configs
diff options
context:
space:
mode:
authorVignesh R <vigneshr@ti.com>2016-12-21 05:12:32 (GMT)
committerJagan Teki <jagan@openedev.com>2017-01-04 15:38:12 (GMT)
commit57897c13de03ac0136d64641a3eab526c6810387 (patch)
tree1449b0c095cc64911392faf76b8e86a8e194feee /include/configs
parent87f5f5417fc897df0b05826b408f0f4b7d2ee388 (diff)
downloadu-boot-fsl-qoriq-57897c13de03ac0136d64641a3eab526c6810387.tar.xz
spi: cadence_qspi_apb: Use 32 bit indirect write transaction when possible
According to Section 11.15.4.9.2 Indirect Write Controller of K2G SoC TRM SPRUHY8D[1], the external master is only permitted to issue 32-bit data interface writes until the last word of an indirect transfer otherwise indirect writes is known to fails sometimes. So, make sure that QSPI indirect writes are 32 bit sized except for the last write. If the txbuf is unaligned then use bounce buffer to avoid data aborts. So, now that the driver uses bounce_buffer, enable CONFIG_BOUNCE_BUFFER for all boards that use Cadence QSPI driver. [1]www.ti.com/lit/ug/spruhy8d/spruhy8d.pdf Signed-off-by: Vignesh R <vigneshr@ti.com> Reviewed-by: Marek Vasut <marex@denx.de> Reviewed-by: Jagan Teki <jagan@openedev.com>
Diffstat (limited to 'include/configs')
-rw-r--r--include/configs/k2g_evm.h1
-rw-r--r--include/configs/socfpga_common.h1
-rw-r--r--include/configs/stv0991.h1
3 files changed, 3 insertions, 0 deletions
diff --git a/include/configs/k2g_evm.h b/include/configs/k2g_evm.h
index e9e69a7..fb8fbe4 100644
--- a/include/configs/k2g_evm.h
+++ b/include/configs/k2g_evm.h
@@ -77,6 +77,7 @@
#define CONFIG_CADENCE_QSPI
#define CONFIG_CQSPI_REF_CLK 384000000
#define CONFIG_CQSPI_DECODER 0x0
+#define CONFIG_BOUNCE_BUFFER
#endif
#endif /* __CONFIG_K2G_EVM_H */
diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
index 2c40827..31f1338 100644
--- a/include/configs/socfpga_common.h
+++ b/include/configs/socfpga_common.h
@@ -207,6 +207,7 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
#define CONFIG_CQSPI_REF_CLK cm_get_qspi_controller_clk_hz()
#endif
#define CONFIG_CQSPI_DECODER 0
+#define CONFIG_BOUNCE_BUFFER
/*
* Designware SPI support
diff --git a/include/configs/stv0991.h b/include/configs/stv0991.h
index bfd1bd7..09a3064 100644
--- a/include/configs/stv0991.h
+++ b/include/configs/stv0991.h
@@ -74,6 +74,7 @@
#ifdef CONFIG_OF_CONTROL /* QSPI is controlled via DT */
#define CONFIG_CQSPI_DECODER 0
#define CONFIG_CQSPI_REF_CLK ((30/4)/2)*1000*1000
+#define CONFIG_BOUNCE_BUFFER
#endif