Lines Matching defs:spi

23 #include <linux/spi/spi.h>
340 static bool a3700_spi_wait_completion(struct spi_device *spi)
347 a3700_spi = spi_master_get_devdata(spi->master);
391 static bool a3700_spi_transfer_wait(struct spi_device *spi,
396 a3700_spi = spi_master_get_devdata(spi->master);
399 return a3700_spi_wait_completion(spi);
415 static void a3700_spi_transfer_setup(struct spi_device *spi,
420 a3700_spi = spi_master_get_devdata(spi->master);
435 static void a3700_spi_set_cs(struct spi_device *spi, bool enable)
437 struct a3700_spi *a3700_spi = spi_master_get_devdata(spi->master);
440 a3700_spi_activate_cs(a3700_spi, spi->chip_select);
442 a3700_spi_deactivate_cs(a3700_spi, spi->chip_select);
572 struct spi_device *spi = message->spi;
577 dev_err(&spi->dev, "failed to enable clk with error %d\n", ret);
586 a3700_spi_mode_set(a3700_spi, spi->mode);
592 struct spi_device *spi,
652 if (!a3700_spi_transfer_wait(spi,
654 dev_err(&spi->dev,
665 if (!a3700_spi_transfer_wait(spi,
667 dev_err(&spi->dev,
698 if (!a3700_spi_transfer_wait(spi,
700 dev_err(&spi->dev, "wait wfifo empty timed out\n");
705 if (!a3700_spi_transfer_wait(spi, A3700_SPI_XFER_RDY)) {
706 dev_err(&spi->dev, "wait xfer ready timed out\n");
723 dev_err(&spi->dev, "wait transfer start clear timed out\n");
741 struct spi_device *spi,
786 struct spi_device *spi,
789 a3700_spi_transfer_setup(spi, xfer);
792 return a3700_spi_transfer_one_full_duplex(master, spi, xfer);
794 return a3700_spi_transfer_one_fifo(master, spi, xfer);
808 { .compatible = "marvell,armada-3700-spi", .data = NULL },
819 struct a3700_spi *spi;
823 master = spi_alloc_master(dev, sizeof(*spi));
850 spi = spi_master_get_devdata(master);
852 spi->master = master;
854 spi->base = devm_platform_ioremap_resource(pdev, 0);
855 if (IS_ERR(spi->base)) {
856 ret = PTR_ERR(spi->base);
865 spi->irq = irq;
867 init_completion(&spi->done);
869 spi->clk = devm_clk_get(dev, NULL);
870 if (IS_ERR(spi->clk)) {
871 dev_err(dev, "could not find clk: %ld\n", PTR_ERR(spi->clk));
875 ret = clk_prepare(spi->clk);
882 clk_get_rate(spi->clk));
883 master->min_speed_hz = DIV_ROUND_UP(clk_get_rate(spi->clk),
886 a3700_spi_init(spi);
888 ret = devm_request_irq(dev, spi->irq, a3700_spi_interrupt, 0,
904 clk_unprepare(spi->clk);
914 struct a3700_spi *spi = spi_master_get_devdata(master);
916 clk_unprepare(spi->clk);