Lines Matching defs:spi

10  * spi-ath79.c, Copyright (C) 2009-2011 Gabor Juhos <juhosg@openwrt.org>
11 * spi-atmel.c, Copyright (C) 2006 Atmel Corporation
34 #include <linux/spi/spi.h>
76 #define DRV_NAME "spi-bcm2835"
174 snprintf(name, sizeof(name), "spi-bcm2835-%s", dname);
411 struct spi_device *spi,
853 struct spi_device *spi,
998 struct spi_device *spi,
1032 dev_dbg_ratelimited(&spi->dev,
1041 return bcm2835_spi_transfer_one_irq(ctlr, spi,
1053 struct spi_device *spi,
1057 struct bcm2835_spidev *target = spi_get_ctldata(spi);
1081 if (spi->mode & SPI_3WIRE && tfr->rx_buf)
1101 return bcm2835_spi_transfer_one_poll(ctlr, spi, tfr, cs);
1105 * this 1 idle clock cycle pattern but runs the spi clock without gaps
1107 if (ctlr->can_dma && bcm2835_spi_can_dma(ctlr, spi, tfr))
1111 return bcm2835_spi_transfer_one_irq(ctlr, spi, tfr, cs, true);
1117 struct spi_device *spi = msg->spi;
1119 struct bcm2835_spidev *target = spi_get_ctldata(spi);
1150 static void bcm2835_spi_cleanup(struct spi_device *spi)
1152 struct bcm2835_spidev *target = spi_get_ctldata(spi);
1153 struct spi_controller *ctlr = spi->controller;
1166 spi_set_csgpiod(spi, 0, NULL);
1172 struct spi_device *spi,
1186 dev_err(&spi->dev, "cannot map clear_rx_cs\n");
1196 dev_err(&spi->dev, "cannot prepare clear_rx_desc\n");
1202 dev_err(&spi->dev, "cannot reuse clear_rx_desc\n");
1209 static size_t bcm2835_spi_max_transfer_size(struct spi_device *spi)
1216 if (spi->controller->can_dma)
1222 static int bcm2835_spi_setup(struct spi_device *spi)
1224 struct spi_controller *ctlr = spi->controller;
1226 struct bcm2835_spidev *target = spi_get_ctldata(spi);
1237 spi_set_ctldata(spi, target);
1239 ret = bcm2835_spi_setup_dma(ctlr, spi, bs, target);
1251 if (spi->mode & SPI_CPOL)
1253 if (spi->mode & SPI_CPHA)
1274 if (spi->mode & SPI_NO_CS)
1280 if (spi_get_csgpiod(spi, 0))
1282 if (spi_get_chipselect(spi, 0) > 1) {
1287 dev_err(&spi->dev,
1308 lookup->dev_id = dev_name(&spi->dev);
1310 8 - (spi_get_chipselect(spi, 0)),
1315 bs->cs_gpio = gpiod_get(&spi->dev, "cs", GPIOD_OUT_LOW);
1322 spi_set_csgpiod(spi, 0, bs->cs_gpio);
1325 dev_info(&spi->dev, "setting up native-CS%i to use GPIO\n",
1326 spi_get_chipselect(spi, 0));
1331 bcm2835_spi_cleanup(spi);
1427 { .compatible = "brcm,bcm2835-spi", },