Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1286277

[PATCH v6 1/8] spi: imx: fix loopback mode setup after controller reset

From Anton Bondarenko <anton.bondarenko.sama@gmail.com>
Newsgroups linux.kernel
Subject [PATCH v6 1/8] spi: imx: fix loopback mode setup after controller reset
Date 2015-12-08 07:50 +0100
Message-ID <qDkg2-7d6-23@gated-at.bofh.it> (permalink)
References <qDkg1-7d6-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


If controller hold in reset it's not possible to write any
register except CTRL. So all other registers must be updated
only after controller bring out from reset.

Signed-off-by: Anton Bondarenko <anton.bondarenko.sama@gmail.com>
---
 drivers/spi/spi-imx.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c
index 410522f..3aa33c8 100644
--- a/drivers/spi/spi-imx.c
+++ b/drivers/spi/spi-imx.c
@@ -356,6 +356,9 @@ static int __maybe_unused mx51_ecspi_config(struct spi_imx_data *spi_imx,
 	else
 		cfg &= ~MX51_ECSPI_CONFIG_SSBPOL(config->cs);
 
+	/* CTRL register always go first to bring out controller from reset */
+	writel(ctrl, spi_imx->base + MX51_ECSPI_CTRL);
+
 	reg = readl(spi_imx->base + MX51_ECSPI_TESTREG);
 	if (config->mode & SPI_LOOP)
 		reg |= MX51_ECSPI_TESTREG_LBC;
@@ -363,7 +366,6 @@ static int __maybe_unused mx51_ecspi_config(struct spi_imx_data *spi_imx,
 		reg &= ~MX51_ECSPI_TESTREG_LBC;
 	writel(reg, spi_imx->base + MX51_ECSPI_TESTREG);
 
-	writel(ctrl, spi_imx->base + MX51_ECSPI_CTRL);
 	writel(cfg, spi_imx->base + MX51_ECSPI_CONFIG);
 
 	/*
-- 
2.6.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v6 0/8]  Improvements for SPI IMX driver for Freescale ECSPI controller, continuation Anton Bondarenko <anton.bondarenko.sama@gmail.com> - 2015-12-08 07:50 +0100
  [PATCH v6 4/8] spi: imx: defer spi initialization, if DMA engine is Anton Bondarenko <anton.bondarenko.sama@gmail.com> - 2015-12-08 07:50 +0100
  [PATCH v6 2/8] spi: imx: enable loopback only for ECSPI controller family Anton Bondarenko <anton.bondarenko.sama@gmail.com> - 2015-12-08 07:50 +0100
  [PATCH v6 6/8] spi: imx: remove dead RX DMA tail handling code Anton Bondarenko <anton.bondarenko.sama@gmail.com> - 2015-12-08 07:50 +0100
  [PATCH v6 8/8] spi: imx: add support for all SPI word width for DMA Anton Bondarenko <anton.bondarenko.sama@gmail.com> - 2015-12-08 07:50 +0100
  [PATCH v6 1/8] spi: imx: fix loopback mode setup after controller reset Anton Bondarenko <anton.bondarenko.sama@gmail.com> - 2015-12-08 07:50 +0100
  [PATCH v6 3/8] spi: imx: return error from dma channel request Anton Bondarenko <anton.bondarenko.sama@gmail.com> - 2015-12-08 07:50 +0100
  [PATCH v6 5/8] spi: imx: allow only WML aligned transfers to use DMA Anton Bondarenko <anton.bondarenko.sama@gmail.com> - 2015-12-08 07:50 +0100
  [PATCH v6 7/8] spi: imx: replace fixed timeout with calculated Anton Bondarenko <anton.bondarenko.sama@gmail.com> - 2015-12-08 07:50 +0100

csiph-web