Lines Matching defs:spi

33 #include <linux/spi/spi.h>
34 #include <linux/spi/spi_bitbang.h>
45 #include "spi-fsl-lib.h"
46 #include "spi-fsl-cpm.h"
47 #include "spi-fsl-spi.h"
66 .compatible = "fsl,spi",
89 static void fsl_spi_change_mode(struct spi_device *spi)
91 struct mpc8xxx_spi *mspi = spi_controller_get_devdata(spi->controller);
92 struct spi_mpc8xxx_cs *cs = spi->controller_state;
149 struct spi_device *spi,
169 !(spi->mode & SPI_LSB_FIRST));
177 static int fsl_spi_setup_transfer(struct spi_device *spi,
184 struct spi_mpc8xxx_cs *cs = spi->controller_state;
186 mpc8xxx_spi = spi_controller_get_devdata(spi->controller);
195 bits_per_word = spi->bits_per_word;
198 hz = spi->max_speed_hz;
201 mspi_apply_cpu_mode_quirks(cs, spi, mpc8xxx_spi, bits_per_word);
219 dev_name(&spi->dev), hz, mpc8xxx_spi->spibrg / 1024);
230 fsl_spi_change_mode(spi);
252 static int fsl_spi_bufs(struct spi_device *spi, struct spi_transfer *t,
255 struct mpc8xxx_spi *mpc8xxx_spi = spi_controller_get_devdata(spi->controller);
262 bits_per_word = spi->bits_per_word;
314 dev_err(&m->spi->dev,
334 if (m->spi->mode & SPI_LSB_FIRST && t->bits_per_word > 8)
343 return fsl_spi_setup_transfer(m->spi, first);
347 struct spi_device *spi,
352 status = fsl_spi_setup_transfer(spi, t);
356 status = fsl_spi_bufs(spi, t, !!t->tx_dma || !!t->rx_dma);
366 return fsl_spi_setup_transfer(msg->spi, NULL);
369 static int fsl_spi_setup(struct spi_device *spi)
376 struct spi_mpc8xxx_cs *cs = spi_get_ctldata(spi);
378 if (!spi->max_speed_hz)
385 spi_set_ctldata(spi, cs);
388 mpc8xxx_spi = spi_controller_get_devdata(spi->controller);
398 if (spi->mode & SPI_CPHA)
400 if (spi->mode & SPI_CPOL)
402 if (!(spi->mode & SPI_LSB_FIRST))
404 if (spi->mode & SPI_LOOP)
407 retval = fsl_spi_setup_transfer(spi, NULL);
418 static void fsl_spi_cleanup(struct spi_device *spi)
420 struct spi_mpc8xxx_cs *cs = spi_get_ctldata(spi);
423 spi_set_ctldata(spi, NULL);
480 static void fsl_spi_grlib_cs_control(struct spi_device *spi, bool on)
482 struct mpc8xxx_spi *mpc8xxx_spi = spi_controller_get_devdata(spi->controller);
485 u16 cs = spi_get_chipselect(spi, 0);
518 static void fsl_spi_cs_control(struct spi_device *spi, bool on)
520 struct device *dev = spi->dev.parent->parent;