Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f677f17c authored by Anton Bondarenko's avatar Anton Bondarenko Committed by Mark Brown
Browse files

spi: imx: fix loopback mode setup after controller reset



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: default avatarAnton Bondarenko <anton.bondarenko.sama@gmail.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent f8a87617
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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);

	/*