Lines Matching defs:spi

22 #include <linux/spi/spi.h>
339 static bool a3700_spi_wait_completion(struct spi_device *spi)
346 a3700_spi = spi_controller_get_devdata(spi->controller);
390 static bool a3700_spi_transfer_wait(struct spi_device *spi,
395 a3700_spi = spi_controller_get_devdata(spi->controller);
398 return a3700_spi_wait_completion(spi);
414 static void a3700_spi_transfer_setup(struct spi_device *spi,
419 a3700_spi = spi_controller_get_devdata(spi->controller);
434 static void a3700_spi_set_cs(struct spi_device *spi, bool enable)
436 struct a3700_spi *a3700_spi = spi_controller_get_devdata(spi->controller);
439 a3700_spi_activate_cs(a3700_spi, spi_get_chipselect(spi, 0));
441 a3700_spi_deactivate_cs(a3700_spi, spi_get_chipselect(spi, 0));
571 struct spi_device *spi = message->spi;
576 dev_err(&spi->dev, "failed to enable clk with error %d\n", ret);
585 a3700_spi_mode_set(a3700_spi, spi->mode);
591 struct spi_device *spi,
651 if (!a3700_spi_transfer_wait(spi,
653 dev_err(&spi->dev,
664 if (!a3700_spi_transfer_wait(spi,
666 dev_err(&spi->dev,
697 if (!a3700_spi_transfer_wait(spi,
699 dev_err(&spi->dev, "wait wfifo empty timed out\n");
704 if (!a3700_spi_transfer_wait(spi, A3700_SPI_XFER_RDY)) {
705 dev_err(&spi->dev, "wait xfer ready timed out\n");
722 dev_err(&spi->dev, "wait transfer start clear timed out\n");
740 struct spi_device *spi,
785 struct spi_device *spi,
788 a3700_spi_transfer_setup(spi, xfer);
791 return a3700_spi_transfer_one_full_duplex(host, spi, xfer);
793 return a3700_spi_transfer_one_fifo(host, spi, xfer);
807 { .compatible = "marvell,armada-3700-spi", .data = NULL },
818 struct a3700_spi *spi;
822 host = spi_alloc_host(dev, sizeof(*spi));
849 spi = spi_controller_get_devdata(host);
851 spi->host = host;
853 spi->base = devm_platform_ioremap_resource(pdev, 0);
854 if (IS_ERR(spi->base)) {
855 ret = PTR_ERR(spi->base);
864 spi->irq = irq;
866 init_completion(&spi->done);
868 spi->clk = devm_clk_get(dev, NULL);
869 if (IS_ERR(spi->clk)) {
870 dev_err(dev, "could not find clk: %ld\n", PTR_ERR(spi->clk));
874 ret = clk_prepare(spi->clk);
881 clk_get_rate(spi->clk));
882 host->min_speed_hz = DIV_ROUND_UP(clk_get_rate(spi->clk),
885 a3700_spi_init(spi);
887 ret = devm_request_irq(dev, spi->irq, a3700_spi_interrupt, 0,
903 clk_unprepare(spi->clk);
913 struct a3700_spi *spi = spi_controller_get_devdata(host);
915 clk_unprepare(spi->clk);