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
					
				@ -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 New Issue
	
	Block a user