aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi/spi-imx.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/spi/spi-imx.c')
-rw-r--r--drivers/spi/spi-imx.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c
index f9deb84e4e55..0e5723ab47f0 100644
--- a/drivers/spi/spi-imx.c
+++ b/drivers/spi/spi-imx.c
@@ -336,13 +336,20 @@ static int __maybe_unused mx51_ecspi_config(struct spi_imx_data *spi_imx,
336 336
337 if (config->mode & SPI_CPHA) 337 if (config->mode & SPI_CPHA)
338 cfg |= MX51_ECSPI_CONFIG_SCLKPHA(config->cs); 338 cfg |= MX51_ECSPI_CONFIG_SCLKPHA(config->cs);
339 else
340 cfg &= ~MX51_ECSPI_CONFIG_SCLKPHA(config->cs);
339 341
340 if (config->mode & SPI_CPOL) { 342 if (config->mode & SPI_CPOL) {
341 cfg |= MX51_ECSPI_CONFIG_SCLKPOL(config->cs); 343 cfg |= MX51_ECSPI_CONFIG_SCLKPOL(config->cs);
342 cfg |= MX51_ECSPI_CONFIG_SCLKCTL(config->cs); 344 cfg |= MX51_ECSPI_CONFIG_SCLKCTL(config->cs);
345 } else {
346 cfg &= ~MX51_ECSPI_CONFIG_SCLKPOL(config->cs);
347 cfg &= ~MX51_ECSPI_CONFIG_SCLKCTL(config->cs);
343 } 348 }
344 if (config->mode & SPI_CS_HIGH) 349 if (config->mode & SPI_CS_HIGH)
345 cfg |= MX51_ECSPI_CONFIG_SSBPOL(config->cs); 350 cfg |= MX51_ECSPI_CONFIG_SSBPOL(config->cs);
351 else
352 cfg &= ~MX51_ECSPI_CONFIG_SSBPOL(config->cs);
346 353
347 writel(ctrl, spi_imx->base + MX51_ECSPI_CTRL); 354 writel(ctrl, spi_imx->base + MX51_ECSPI_CTRL);
348 writel(cfg, spi_imx->base + MX51_ECSPI_CONFIG); 355 writel(cfg, spi_imx->base + MX51_ECSPI_CONFIG);