Lines Matching defs:spi
16 #include <linux/spi/spi.h>
196 static void bcm63xx_spi_setup_transfer(struct spi_device *spi,
199 struct bcm63xx_spi *bs = spi_master_get_devdata(spi->master);
220 dev_dbg(&spi->dev, "Setting clock register to %02x (hz %d)\n",
224 /* the spi->mode bits understood by this driver: */
227 static int bcm63xx_txrx_bufs(struct spi_device *spi, struct spi_transfer *first,
230 struct bcm63xx_spi *bs = spi_master_get_devdata(spi->master);
241 dev_dbg(&spi->dev, "txrx: tx %p, rx %p, len %d\n",
295 cmd |= (spi->chip_select << SPI_CMD_DEVICE_ID_SHIFT);
330 struct spi_device *spi = m->spi;
358 dev_err(&spi->dev, "unable to do transfers larger than FIFO size (%i > %i)\n",
366 dev_err(&spi->dev, "unable to change speed between transfers\n");
373 dev_err(&spi->dev, "unable to keep CS asserted after transfer\n");
381 bcm63xx_spi_setup_transfer(spi, first);
384 status = bcm63xx_txrx_bufs(spi, first, n_transfers);
424 static size_t bcm63xx_spi_max_length(struct spi_device *spi)
426 struct bcm63xx_spi *bs = spi_master_get_devdata(spi->master);
469 .name = "bcm6348-spi",
473 .name = "bcm6358-spi",
481 { .compatible = "brcm,bcm6348-spi", .data = &bcm6348_spi_reg_offsets },
482 { .compatible = "brcm,bcm6358-spi", .data = &bcm6358_spi_reg_offsets },
528 clk = devm_clk_get(dev, "spi");
599 dev_err(dev, "spi register failed\n");
620 /* reset spi block */
664 .name = "bcm63xx-spi",