Lines Matching defs:spi
20 #include <linux/spi/spi.h>
23 #define CDNS_SPI_NAME "cdns-spi"
102 * struct cdns_spi - This definition defines spi driver instance
171 * @spi: Pointer to the spi_device structure
174 static void cdns_spi_chipselect(struct spi_device *spi, bool is_high)
176 struct cdns_spi *xspi = spi_master_get_devdata(spi->master);
188 ctrl_reg |= ((~(CDNS_SPI_SS0 << spi->chip_select)) <<
192 ctrl_reg |= (spi->chip_select << CDNS_SPI_SS_SHIFT) &
201 * @spi: Pointer to the spi_device structure
205 static void cdns_spi_config_clock_mode(struct spi_device *spi)
207 struct cdns_spi *xspi = spi_master_get_devdata(spi->master);
215 if (spi->mode & SPI_CPHA)
217 if (spi->mode & SPI_CPOL)
235 * @spi: Pointer to the spi_device structure
247 static void cdns_spi_config_clock_freq(struct spi_device *spi,
250 struct cdns_spi *xspi = spi_master_get_devdata(spi->master);
276 * @spi: Pointer to the spi_device structure
285 static int cdns_spi_setup_transfer(struct spi_device *spi,
288 struct cdns_spi *xspi = spi_master_get_devdata(spi->master);
290 cdns_spi_config_clock_freq(spi, transfer);
292 dev_dbg(&spi->dev, "%s, mode %d, %u bits/w, %u clock speed\n",
293 __func__, spi->mode, spi->bits_per_word,
311 * then spi control did't work thoroughly, add one byte delay
394 cdns_spi_config_clock_mode(msg->spi);
401 * @spi: Pointer to the spi_device structure
411 struct spi_device *spi,
421 cdns_spi_setup_transfer(spi, transfer);
707 { .compatible = "xlnx,zynq-spi-r1p6" },
708 { .compatible = "cdns,spi-r1p6" },