diff options
Diffstat (limited to 'drivers/spi/spi-imx.c')
-rw-r--r-- | drivers/spi/spi-imx.c | 7 |
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); |