Lines Matching refs:spi

170 					struct spi_device *spi,  in bcm2835_spi_transfer_one_irq()  argument
182 if (gpio_is_valid(spi->cs_gpio)) { in bcm2835_spi_transfer_one_irq()
304 struct spi_device *spi, in bcm2835_spi_transfer_one_dma() argument
314 dev_warn_once(&spi->dev, in bcm2835_spi_transfer_one_dma()
316 return bcm2835_spi_transfer_one_irq(master, spi, tfr, cs); in bcm2835_spi_transfer_one_dma()
357 struct spi_device *spi, in bcm2835_spi_can_dma() argument
361 if (!gpio_is_valid(spi->cs_gpio)) in bcm2835_spi_can_dma()
375 dev_warn_once(&spi->dev, in bcm2835_spi_can_dma()
390 dev_warn_once(&spi->dev, in bcm2835_spi_can_dma()
395 dev_warn_once(&spi->dev, in bcm2835_spi_can_dma()
480 struct spi_device *spi, in bcm2835_spi_transfer_one_poll() argument
512 dev_dbg_ratelimited(&spi->dev, in bcm2835_spi_transfer_one_poll()
517 return bcm2835_spi_transfer_one_irq(master, spi, in bcm2835_spi_transfer_one_poll()
529 struct spi_device *spi, in bcm2835_spi_transfer_one() argument
558 if ((spi->mode & SPI_3WIRE) && (tfr->rx_buf)) in bcm2835_spi_transfer_one()
567 if (gpio_is_valid(spi->cs_gpio) || (spi->mode & SPI_NO_CS)) in bcm2835_spi_transfer_one()
584 return bcm2835_spi_transfer_one_poll(master, spi, tfr, in bcm2835_spi_transfer_one()
588 if (master->can_dma && bcm2835_spi_can_dma(master, spi, tfr)) in bcm2835_spi_transfer_one()
589 return bcm2835_spi_transfer_one_dma(master, spi, tfr, cs); in bcm2835_spi_transfer_one()
592 return bcm2835_spi_transfer_one_irq(master, spi, tfr, cs); in bcm2835_spi_transfer_one()
598 struct spi_device *spi = msg->spi; in bcm2835_spi_prepare_message() local
604 if (spi->mode & SPI_CPOL) in bcm2835_spi_prepare_message()
606 if (spi->mode & SPI_CPHA) in bcm2835_spi_prepare_message()
629 static void bcm2835_spi_set_cs(struct spi_device *spi, bool gpio_level) in bcm2835_spi_set_cs() argument
641 struct spi_master *master = spi->master; in bcm2835_spi_set_cs()
647 enable = (spi->mode & SPI_CS_HIGH) ? gpio_level : !gpio_level; in bcm2835_spi_set_cs()
650 if (spi->mode & SPI_CS_HIGH) { in bcm2835_spi_set_cs()
653 cs |= BCM2835_SPI_CS_CSPOL0 << spi->chip_select; in bcm2835_spi_set_cs()
657 cs &= ~(BCM2835_SPI_CS_CSPOL0 << spi->chip_select); in bcm2835_spi_set_cs()
663 if (spi->mode & SPI_NO_CS) { in bcm2835_spi_set_cs()
669 cs |= spi->chip_select; in bcm2835_spi_set_cs()
687 static int bcm2835_spi_setup(struct spi_device *spi) in bcm2835_spi_setup() argument
694 if (spi->mode & SPI_NO_CS) in bcm2835_spi_setup()
696 if (gpio_is_valid(spi->cs_gpio)) in bcm2835_spi_setup()
698 if (spi->chip_select > 1) { in bcm2835_spi_setup()
703 dev_err(&spi->dev, in bcm2835_spi_setup()
715 spi->cs_gpio = chip->base + 8 - spi->chip_select; in bcm2835_spi_setup()
718 dev_info(&spi->dev, "setting up native-CS%i as GPIO %i\n", in bcm2835_spi_setup()
719 spi->chip_select, spi->cs_gpio); in bcm2835_spi_setup()
722 err = gpio_direction_output(spi->cs_gpio, in bcm2835_spi_setup()
723 (spi->mode & SPI_CS_HIGH) ? 0 : 1); in bcm2835_spi_setup()
725 dev_err(&spi->dev, in bcm2835_spi_setup()
727 spi->chip_select, spi->cs_gpio, err); in bcm2835_spi_setup()
734 gpio_set_value(spi->cs_gpio, (spi->mode & SPI_CS_HIGH) ? 0 : 1); in bcm2835_spi_setup()