|
@@ -229,42 +229,42 @@ static int spi_st_setup(struct spi_device *spi)
|
|
|
"setting baudrate:target= %u hz, actual= %u hz, sscbrg= %u\n",
|
|
|
hz, spi_st->baud, sscbrg);
|
|
|
|
|
|
- /* Set SSC_CTL and enable SSC */
|
|
|
- var = readl_relaxed(spi_st->base + SSC_CTL);
|
|
|
- var |= SSC_CTL_MS;
|
|
|
+ /* Set SSC_CTL and enable SSC */
|
|
|
+ var = readl_relaxed(spi_st->base + SSC_CTL);
|
|
|
+ var |= SSC_CTL_MS;
|
|
|
|
|
|
- if (spi->mode & SPI_CPOL)
|
|
|
+ if (spi->mode & SPI_CPOL)
|
|
|
var |= SSC_CTL_PO;
|
|
|
- else
|
|
|
+ else
|
|
|
var &= ~SSC_CTL_PO;
|
|
|
|
|
|
- if (spi->mode & SPI_CPHA)
|
|
|
+ if (spi->mode & SPI_CPHA)
|
|
|
var |= SSC_CTL_PH;
|
|
|
- else
|
|
|
+ else
|
|
|
var &= ~SSC_CTL_PH;
|
|
|
|
|
|
- if ((spi->mode & SPI_LSB_FIRST) == 0)
|
|
|
+ if ((spi->mode & SPI_LSB_FIRST) == 0)
|
|
|
var |= SSC_CTL_HB;
|
|
|
- else
|
|
|
+ else
|
|
|
var &= ~SSC_CTL_HB;
|
|
|
|
|
|
- if (spi->mode & SPI_LOOP)
|
|
|
+ if (spi->mode & SPI_LOOP)
|
|
|
var |= SSC_CTL_LPB;
|
|
|
- else
|
|
|
+ else
|
|
|
var &= ~SSC_CTL_LPB;
|
|
|
|
|
|
- var &= ~SSC_CTL_DATA_WIDTH_MSK;
|
|
|
- var |= (spi->bits_per_word - 1);
|
|
|
+ var &= ~SSC_CTL_DATA_WIDTH_MSK;
|
|
|
+ var |= (spi->bits_per_word - 1);
|
|
|
|
|
|
- var |= SSC_CTL_EN_TX_FIFO | SSC_CTL_EN_RX_FIFO;
|
|
|
- var |= SSC_CTL_EN;
|
|
|
+ var |= SSC_CTL_EN_TX_FIFO | SSC_CTL_EN_RX_FIFO;
|
|
|
+ var |= SSC_CTL_EN;
|
|
|
|
|
|
- writel_relaxed(var, spi_st->base + SSC_CTL);
|
|
|
+ writel_relaxed(var, spi_st->base + SSC_CTL);
|
|
|
|
|
|
- /* Clear the status register */
|
|
|
- readl_relaxed(spi_st->base + SSC_RBUF);
|
|
|
+ /* Clear the status register */
|
|
|
+ readl_relaxed(spi_st->base + SSC_RBUF);
|
|
|
|
|
|
- return 0;
|
|
|
+ return 0;
|
|
|
|
|
|
out_free_gpio:
|
|
|
gpio_free(cs);
|