Lines Matching refs:spi
125 struct spi_device *spi, int hz) in bcm63xx_hsspi_set_clk() argument
127 unsigned profile = spi->chip_select; in bcm63xx_hsspi_set_clk()
145 if (spi->mode & SPI_CPOL) in bcm63xx_hsspi_set_clk()
151 static int bcm63xx_hsspi_do_txrx(struct spi_device *spi, struct spi_transfer *t) in bcm63xx_hsspi_do_txrx() argument
153 struct bcm63xx_hsspi *bs = spi_master_get_devdata(spi->master); in bcm63xx_hsspi_do_txrx()
154 unsigned chip_select = spi->chip_select; in bcm63xx_hsspi_do_txrx()
161 bcm63xx_hsspi_set_clk(bs, spi, t->speed_hz); in bcm63xx_hsspi_do_txrx()
162 bcm63xx_hsspi_set_cs(bs, spi->chip_select, true); in bcm63xx_hsspi_do_txrx()
216 static int bcm63xx_hsspi_setup(struct spi_device *spi) in bcm63xx_hsspi_setup() argument
218 struct bcm63xx_hsspi *bs = spi_master_get_devdata(spi->master); in bcm63xx_hsspi_setup()
222 HSSPI_PROFILE_SIGNAL_CTRL_REG(spi->chip_select)); in bcm63xx_hsspi_setup()
224 if (spi->mode & SPI_CPHA) in bcm63xx_hsspi_setup()
229 HSSPI_PROFILE_SIGNAL_CTRL_REG(spi->chip_select)); in bcm63xx_hsspi_setup()
236 if (spi->mode & SPI_CS_HIGH) in bcm63xx_hsspi_setup()
237 reg |= BIT(spi->chip_select); in bcm63xx_hsspi_setup()
239 reg &= ~BIT(spi->chip_select); in bcm63xx_hsspi_setup()
243 if (spi->mode & SPI_CS_HIGH) in bcm63xx_hsspi_setup()
244 bs->cs_polarity |= BIT(spi->chip_select); in bcm63xx_hsspi_setup()
246 bs->cs_polarity &= ~BIT(spi->chip_select); in bcm63xx_hsspi_setup()
258 struct spi_device *spi = msg->spi; in bcm63xx_hsspi_transfer_one() local
277 dummy_cs = !spi->chip_select; in bcm63xx_hsspi_transfer_one()
281 status = bcm63xx_hsspi_do_txrx(spi, t); in bcm63xx_hsspi_transfer_one()
291 bcm63xx_hsspi_set_cs(bs, spi->chip_select, false); in bcm63xx_hsspi_transfer_one()