diff options
-rw-r--r-- | drivers/spi/spi-fsl-cpm.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/spi/spi-fsl-cpm.c b/drivers/spi/spi-fsl-cpm.c index c5dd20beee22..e85ab1cb17a2 100644 --- a/drivers/spi/spi-fsl-cpm.c +++ b/drivers/spi/spi-fsl-cpm.c | |||
@@ -56,12 +56,15 @@ void fsl_spi_cpm_reinit_txrx(struct mpc8xxx_spi *mspi) | |||
56 | qe_issue_cmd(QE_INIT_TX_RX, mspi->subblock, | 56 | qe_issue_cmd(QE_INIT_TX_RX, mspi->subblock, |
57 | QE_CR_PROTOCOL_UNSPECIFIED, 0); | 57 | QE_CR_PROTOCOL_UNSPECIFIED, 0); |
58 | } else { | 58 | } else { |
59 | cpm_command(CPM_SPI_CMD, CPM_CR_INIT_TRX); | ||
60 | if (mspi->flags & SPI_CPM1) { | 59 | if (mspi->flags & SPI_CPM1) { |
60 | out_be32(&mspi->pram->rstate, 0); | ||
61 | out_be16(&mspi->pram->rbptr, | 61 | out_be16(&mspi->pram->rbptr, |
62 | in_be16(&mspi->pram->rbase)); | 62 | in_be16(&mspi->pram->rbase)); |
63 | out_be32(&mspi->pram->tstate, 0); | ||
63 | out_be16(&mspi->pram->tbptr, | 64 | out_be16(&mspi->pram->tbptr, |
64 | in_be16(&mspi->pram->tbase)); | 65 | in_be16(&mspi->pram->tbase)); |
66 | } else { | ||
67 | cpm_command(CPM_SPI_CMD, CPM_CR_INIT_TRX); | ||
65 | } | 68 | } |
66 | } | 69 | } |
67 | } | 70 | } |