Lines Matching refs:spi
145 static int spi_ppc4xx_txrx(struct spi_device *spi, struct spi_transfer *t) in spi_ppc4xx_txrx() argument
150 dev_dbg(&spi->dev, "txrx: tx %p, rx %p, len %d\n", in spi_ppc4xx_txrx()
153 hw = spi_master_get_devdata(spi->master); in spi_ppc4xx_txrx()
169 static int spi_ppc4xx_setupxfer(struct spi_device *spi, struct spi_transfer *t) in spi_ppc4xx_setupxfer() argument
171 struct ppc4xx_spi *hw = spi_master_get_devdata(spi->master); in spi_ppc4xx_setupxfer()
172 struct spi_ppc4xx_cs *cs = spi->controller_state; in spi_ppc4xx_setupxfer()
179 bits_per_word = spi->bits_per_word; in spi_ppc4xx_setupxfer()
180 speed = spi->max_speed_hz; in spi_ppc4xx_setupxfer()
191 speed = min(t->speed_hz, spi->max_speed_hz); in spi_ppc4xx_setupxfer()
194 if (!speed || (speed > spi->max_speed_hz)) { in spi_ppc4xx_setupxfer()
195 dev_err(&spi->dev, "invalid speed_hz (%d)\n", speed); in spi_ppc4xx_setupxfer()
208 dev_dbg(&spi->dev, "setting pre-scaler to %d (hz %d)\n", cdm, speed); in spi_ppc4xx_setupxfer()
215 hw->bitbang.chipselect(spi, BITBANG_CS_INACTIVE); in spi_ppc4xx_setupxfer()
223 static int spi_ppc4xx_setup(struct spi_device *spi) in spi_ppc4xx_setup() argument
225 struct spi_ppc4xx_cs *cs = spi->controller_state; in spi_ppc4xx_setup()
227 if (!spi->max_speed_hz) { in spi_ppc4xx_setup()
228 dev_err(&spi->dev, "invalid max_speed_hz (must be non-zero)\n"); in spi_ppc4xx_setup()
236 spi->controller_state = cs; in spi_ppc4xx_setup()
245 switch (spi->mode & (SPI_CPHA | SPI_CPOL)) { in spi_ppc4xx_setup()
260 if (spi->mode & SPI_LSB_FIRST) in spi_ppc4xx_setup()
266 static void spi_ppc4xx_chipsel(struct spi_device *spi, int value) in spi_ppc4xx_chipsel() argument
268 struct ppc4xx_spi *hw = spi_master_get_devdata(spi->master); in spi_ppc4xx_chipsel()
269 unsigned int cs = spi->chip_select; in spi_ppc4xx_chipsel()
280 cspol = spi->mode & SPI_CS_HIGH ? 1 : 0; in spi_ppc4xx_chipsel()
348 static void spi_ppc4xx_cleanup(struct spi_device *spi) in spi_ppc4xx_cleanup() argument
350 kfree(spi->controller_state); in spi_ppc4xx_cleanup()