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

Commit c3ce15bf authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Mark Brown
Browse files

spi: dw: introduce support of loopback mode



For testing purposes it's good to have a loopback mode enabled. The patch adds
necessary bits for that.

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 8e45ef68
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -591,6 +591,9 @@ static int dw_spi_setup(struct spi_device *spi)
			| (spi->mode  << SPI_MODE_OFFSET)
			| (chip->tmode << SPI_TMOD_OFFSET);

	if (spi->mode & SPI_LOOP)
		chip->cr0 |= 1 << SPI_SRL_OFFSET;

	if (gpio_is_valid(spi->cs_gpio)) {
		ret = gpio_direction_output(spi->cs_gpio,
				!(spi->mode & SPI_CS_HIGH));
@@ -652,7 +655,7 @@ int dw_spi_add_host(struct device *dev, struct dw_spi *dws)
		goto err_free_master;
	}

	master->mode_bits = SPI_CPOL | SPI_CPHA;
	master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_LOOP;
	master->bits_per_word_mask = SPI_BPW_MASK(8) | SPI_BPW_MASK(16);
	master->bus_num = dws->bus_num;
	master->num_chipselect = dws->num_cs;