Lines Matching refs:spi
126 struct spi_device *spi, int hz) in bcm63xx_hsspi_set_clk() argument
128 unsigned profile = spi->chip_select; in bcm63xx_hsspi_set_clk()
146 if (spi->mode & SPI_CPOL) in bcm63xx_hsspi_set_clk()
152 static int bcm63xx_hsspi_do_txrx(struct spi_device *spi, struct spi_transfer *t) in bcm63xx_hsspi_do_txrx() argument
154 struct bcm63xx_hsspi *bs = spi_master_get_devdata(spi->master); in bcm63xx_hsspi_do_txrx()
155 unsigned chip_select = spi->chip_select; in bcm63xx_hsspi_do_txrx()
162 bcm63xx_hsspi_set_clk(bs, spi, t->speed_hz); in bcm63xx_hsspi_do_txrx()
163 bcm63xx_hsspi_set_cs(bs, spi->chip_select, true); in bcm63xx_hsspi_do_txrx()
220 static int bcm63xx_hsspi_setup(struct spi_device *spi) in bcm63xx_hsspi_setup() argument
222 struct bcm63xx_hsspi *bs = spi_master_get_devdata(spi->master); in bcm63xx_hsspi_setup()
226 HSSPI_PROFILE_SIGNAL_CTRL_REG(spi->chip_select)); in bcm63xx_hsspi_setup()
228 if (spi->mode & SPI_CPHA) in bcm63xx_hsspi_setup()
233 HSSPI_PROFILE_SIGNAL_CTRL_REG(spi->chip_select)); in bcm63xx_hsspi_setup()
240 if (spi->mode & SPI_CS_HIGH) in bcm63xx_hsspi_setup()
241 reg |= BIT(spi->chip_select); in bcm63xx_hsspi_setup()
243 reg &= ~BIT(spi->chip_select); in bcm63xx_hsspi_setup()
247 if (spi->mode & SPI_CS_HIGH) in bcm63xx_hsspi_setup()
248 bs->cs_polarity |= BIT(spi->chip_select); in bcm63xx_hsspi_setup()
250 bs->cs_polarity &= ~BIT(spi->chip_select); in bcm63xx_hsspi_setup()
262 struct spi_device *spi = msg->spi; in bcm63xx_hsspi_transfer_one() local
281 dummy_cs = !spi->chip_select; in bcm63xx_hsspi_transfer_one()
285 status = bcm63xx_hsspi_do_txrx(spi, t); in bcm63xx_hsspi_transfer_one()
295 bcm63xx_hsspi_set_cs(bs, spi->chip_select, false); in bcm63xx_hsspi_transfer_one()