Lines Matching refs:mpc8xxx_spi
90 struct mpc8xxx_spi *mspi = spi_master_get_devdata(spi->master); in fsl_espi_change_mode()
110 static u32 fsl_espi_tx_buf_lsb(struct mpc8xxx_spi *mpc8xxx_spi) in fsl_espi_tx_buf_lsb() argument
115 const u32 *tx = mpc8xxx_spi->tx; in fsl_espi_tx_buf_lsb()
120 data = *tx++ << mpc8xxx_spi->tx_shift; in fsl_espi_tx_buf_lsb()
127 mpc8xxx_spi->tx = tx; in fsl_espi_tx_buf_lsb()
134 struct mpc8xxx_spi *mpc8xxx_spi = spi_master_get_devdata(spi->master); in fsl_espi_setup_transfer() local
164 mpc8xxx_spi->rx_shift = cs->rx_shift; in fsl_espi_setup_transfer()
165 mpc8xxx_spi->tx_shift = cs->tx_shift; in fsl_espi_setup_transfer()
166 mpc8xxx_spi->get_rx = cs->get_rx; in fsl_espi_setup_transfer()
167 mpc8xxx_spi->get_tx = cs->get_tx; in fsl_espi_setup_transfer()
176 if ((mpc8xxx_spi->spibrg / hz) > 64) { in fsl_espi_setup_transfer()
178 pm = DIV_ROUND_UP(mpc8xxx_spi->spibrg, hz * 16 * 4); in fsl_espi_setup_transfer()
182 hz, mpc8xxx_spi->spibrg / (4 * 16 * (32 + 1))); in fsl_espi_setup_transfer()
186 pm = DIV_ROUND_UP(mpc8xxx_spi->spibrg, hz * 4); in fsl_espi_setup_transfer()
199 static int fsl_espi_cpu_bufs(struct mpc8xxx_spi *mspi, struct spi_transfer *t, in fsl_espi_cpu_bufs()
219 struct mpc8xxx_spi *mpc8xxx_spi = spi_master_get_devdata(spi->master); in fsl_espi_bufs() local
220 struct fsl_espi_reg *reg_base = mpc8xxx_spi->reg_base; in fsl_espi_bufs()
224 mpc8xxx_spi->len = t->len; in fsl_espi_bufs()
227 mpc8xxx_spi->tx = t->tx_buf; in fsl_espi_bufs()
228 mpc8xxx_spi->rx = t->rx_buf; in fsl_espi_bufs()
230 reinit_completion(&mpc8xxx_spi->done); in fsl_espi_bufs()
234 dev_err(mpc8xxx_spi->dev, "Transaction length (%d)" in fsl_espi_bufs()
241 ret = fsl_espi_cpu_bufs(mpc8xxx_spi, t, len); in fsl_espi_bufs()
245 wait_for_completion(&mpc8xxx_spi->done); in fsl_espi_bufs()
250 return mpc8xxx_spi->count; in fsl_espi_bufs()
274 struct mpc8xxx_spi *mspi = spi_master_get_devdata(spi->master); in fsl_espi_do_trans()
468 struct mpc8xxx_spi *mpc8xxx_spi; in fsl_espi_setup() local
485 mpc8xxx_spi = spi_master_get_devdata(spi->master); in fsl_espi_setup()
486 reg_base = mpc8xxx_spi->reg_base; in fsl_espi_setup()
525 void fsl_espi_cpu_irq(struct mpc8xxx_spi *mspi, u32 events) in fsl_espi_cpu_irq()
586 struct mpc8xxx_spi *mspi = context_data; in fsl_espi_irq()
603 static void fsl_espi_remove(struct mpc8xxx_spi *mspi) in fsl_espi_remove()
610 struct mpc8xxx_spi *mpc8xxx_spi; in fsl_espi_suspend() local
614 mpc8xxx_spi = spi_master_get_devdata(master); in fsl_espi_suspend()
615 reg_base = mpc8xxx_spi->reg_base; in fsl_espi_suspend()
626 struct mpc8xxx_spi *mpc8xxx_spi; in fsl_espi_resume() local
630 mpc8xxx_spi = spi_master_get_devdata(master); in fsl_espi_resume()
631 reg_base = mpc8xxx_spi->reg_base; in fsl_espi_resume()
645 struct mpc8xxx_spi *mpc8xxx_spi; in fsl_espi_probe() local
652 master = spi_alloc_master(dev, sizeof(struct mpc8xxx_spi)); in fsl_espi_probe()
669 mpc8xxx_spi = spi_master_get_devdata(master); in fsl_espi_probe()
670 mpc8xxx_spi->spi_remove = fsl_espi_remove; in fsl_espi_probe()
672 mpc8xxx_spi->reg_base = ioremap(mem->start, resource_size(mem)); in fsl_espi_probe()
673 if (!mpc8xxx_spi->reg_base) { in fsl_espi_probe()
678 reg_base = mpc8xxx_spi->reg_base; in fsl_espi_probe()
681 ret = request_irq(mpc8xxx_spi->irq, fsl_espi_irq, in fsl_espi_probe()
682 0, "fsl_espi", mpc8xxx_spi); in fsl_espi_probe()
686 if (mpc8xxx_spi->flags & SPI_QE_CPU_MODE) { in fsl_espi_probe()
687 mpc8xxx_spi->rx_shift = 16; in fsl_espi_probe()
688 mpc8xxx_spi->tx_shift = 24; in fsl_espi_probe()
734 dev_info(dev, "at 0x%p (irq = %d)\n", reg_base, mpc8xxx_spi->irq); in fsl_espi_probe()
739 free_irq(mpc8xxx_spi->irq, mpc8xxx_spi); in fsl_espi_probe()
741 iounmap(mpc8xxx_spi->reg_base); in fsl_espi_probe()
830 struct mpc8xxx_spi *mpc8xxx_spi; in of_fsl_espi_resume() local
835 mpc8xxx_spi = spi_master_get_devdata(master); in of_fsl_espi_resume()
836 reg_base = mpc8xxx_spi->reg_base; in of_fsl_espi_resume()