spi: qup: Add SPI_CPOL configuration support
Device support SPI_CPOL, but driver have missed to add support for this configuration. Signed-off-by: Ivan T. Ivanov <iivanov@mm-sol.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
97bf6af1f9
commit
0667dd5f6c
1 changed files with 10 additions and 1 deletions
|
@ -337,7 +337,7 @@ static irqreturn_t spi_qup_qup_irq(int irq, void *dev_id)
|
|||
static int spi_qup_io_config(struct spi_device *spi, struct spi_transfer *xfer)
|
||||
{
|
||||
struct spi_qup *controller = spi_master_get_devdata(spi->master);
|
||||
u32 config, iomode, mode;
|
||||
u32 config, iomode, mode, control;
|
||||
int ret, n_words, w_size;
|
||||
|
||||
if (spi->mode & SPI_LOOP && xfer->len > controller->in_fifo_sz) {
|
||||
|
@ -392,6 +392,15 @@ static int spi_qup_io_config(struct spi_device *spi, struct spi_transfer *xfer)
|
|||
|
||||
writel_relaxed(iomode, controller->base + QUP_IO_M_MODES);
|
||||
|
||||
control = readl_relaxed(controller->base + SPI_IO_CONTROL);
|
||||
|
||||
if (spi->mode & SPI_CPOL)
|
||||
control |= SPI_IO_C_CLK_IDLE_HIGH;
|
||||
else
|
||||
control &= ~SPI_IO_C_CLK_IDLE_HIGH;
|
||||
|
||||
writel_relaxed(control, controller->base + SPI_IO_CONTROL);
|
||||
|
||||
config = readl_relaxed(controller->base + SPI_CONFIG);
|
||||
|
||||
if (spi->mode & SPI_LOOP)
|
||||
|
|
Loading…
Reference in a new issue