• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/spi/

Lines Matching refs:spi

28 #include <linux/spi/spi.h>
29 #include <linux/spi/spi_bitbang.h>
32 #include <mach/spi.h>
250 static void davinci_spi_set_dma_req(const struct spi_device *spi, int enable)
252 struct davinci_spi *davinci_spi = spi_master_get_devdata(spi->master);
263 static void davinci_spi_chipselect(struct spi_device *spi, int value)
269 davinci_spi = spi_master_get_devdata(spi->master);
290 * @spi: spi device on which data transfer to be done
291 * @t: spi transfer in which transfer info is filled
297 static int davinci_spi_setup_transfer(struct spi_device *spi,
306 davinci_spi = spi_master_get_devdata(spi->master);
316 bits_per_word = spi->bits_per_word;
325 davinci_spi->slave[spi->chip_select].bytes_per_word = 1;
329 davinci_spi->slave[spi->chip_select].bytes_per_word = 2;
334 hz = spi->max_speed_hz;
337 spi->chip_select);
339 spi->chip_select);
349 clear_fmt_bits(davinci_spi->base, 0x0000ff00, spi->chip_select);
350 set_fmt_bits(davinci_spi->base, prescale, spi->chip_select);
357 struct spi_device *spi = (struct spi_device *)data;
362 davinci_spi = spi_master_get_devdata(spi->master);
363 davinci_spi_dma = &(davinci_spi->dma_channels[spi->chip_select]);
373 davinci_spi_set_dma_req(spi, 0);
378 struct spi_device *spi = (struct spi_device *)data;
383 davinci_spi = spi_master_get_devdata(spi->master);
384 davinci_spi_dma = &(davinci_spi->dma_channels[spi->chip_select]);
394 davinci_spi_set_dma_req(spi, 0);
397 static int davinci_spi_request_dma(struct spi_device *spi)
405 davinci_spi = spi_master_get_devdata(spi->master);
406 davinci_spi_dma = &davinci_spi->dma_channels[spi->chip_select];
411 davinci_spi_dma_rx_callback, spi,
419 davinci_spi_dma_tx_callback, spi,
434 * @spi: spi device on which data transfer to be done
439 static int davinci_spi_setup(struct spi_device *spi)
446 davinci_spi = spi_master_get_devdata(spi->master);
450 if (!spi->bits_per_word)
451 spi->bits_per_word = 8;
453 davinci_spi->slave[spi->chip_select].cmd_to_write = 0;
456 davinci_spi_dma = &davinci_spi->dma_channels[spi->chip_select];
460 retval = davinci_spi_request_dma(spi);
470 if (spi->max_speed_hz < 600000 || spi->max_speed_hz > 50000000) {
483 if (spi->mode & SPI_LSB_FIRST)
485 spi->chip_select);
488 spi->chip_select);
490 if (spi->mode & SPI_CPOL)
492 spi->chip_select);
495 spi->chip_select);
497 if (!(spi->mode & SPI_CPHA))
499 spi->chip_select);
502 spi->chip_select);
519 spi->chip_select);
524 spi->chip_select);
529 spi->chip_select);
533 spi->chip_select);
538 spi->chip_select);
542 spi->chip_select);
547 spi->chip_select);
551 spi->chip_select);
556 spi->chip_select);
560 spi->chip_select);
563 retval = davinci_spi_setup_transfer(spi, NULL);
568 static void davinci_spi_cleanup(struct spi_device *spi)
570 struct davinci_spi *davinci_spi = spi_master_get_devdata(spi->master);
573 davinci_spi_dma = &davinci_spi->dma_channels[spi->chip_select];
576 davinci_spi_dma = &davinci_spi->dma_channels[spi->chip_select];
586 static int davinci_spi_bufs_prep(struct spi_device *spi,
601 if (!(spi->mode & SPI_NO_CS))
602 op_mode |= 1 << spi->chip_select;
603 if (spi->mode & SPI_READY)
608 if (spi->mode & SPI_LOOP)
664 * @spi: spi device on which data transfer to be done
665 * @t: spi transfer in which transfer info is filled
671 static int davinci_spi_bufs_pio(struct spi_device *spi, struct spi_transfer *t)
680 davinci_spi = spi_master_get_devdata(spi->master);
687 conv = davinci_spi->slave[spi->chip_select].bytes_per_word;
692 ret = davinci_spi_bufs_prep(spi, davinci_spi);
705 tmp = ~(0x1 << spi->chip_select);
807 static int davinci_spi_bufs_dma(struct spi_device *spi, struct spi_transfer *t)
821 davinci_spi = spi_master_get_devdata(spi->master);
825 davinci_spi_dma = &davinci_spi->dma_channels[spi->chip_select];
834 conv = davinci_spi->slave[spi->chip_select].bytes_per_word;
853 ret = davinci_spi_bufs_prep(spi, davinci_spi);
866 tmp = ~(0x1 << spi->chip_select);
886 t->tx_dma = dma_map_single(&spi->dev, (void *)t->tx_buf, count,
888 if (dma_mapping_error(&spi->dev, t->tx_dma)) {
896 t->tx_dma = dma_map_single(&spi->dev,
899 if (dma_mapping_error(&spi->dev, t->tx_dma)) {
918 t->rx_dma = dma_map_single(&spi->dev, (void *)t->rx_buf, count,
920 if (dma_mapping_error(&spi->dev, t->rx_dma)) {
946 davinci_spi_set_dma_req(spi, 1);