
14 Sep
2011
14 Sep
'11
5:14 a.m.
On Wednesday, September 14, 2011 04:50:09 AM Mike Frysinger wrote:
On Tuesday, September 13, 2011 18:26:19 Marek Vasut wrote:
+int spi_claim_bus(struct spi_slave *slave) +{
- struct mxs_spi_slave *mxs_slave = to_mxs_slave(slave);
- struct mx28_ssp_regs *ssp_regs = mxs_slave->regs;
- uint32_t reg = 0;
- mx28_reset_block(&ssp_regs->hw_ssp_ctrl0_reg);
- writel(SSP_CTRL0_BUS_WIDTH_ONE_BIT, &ssp_regs->hw_ssp_ctrl0);
- reg = SSP_CTRL1_SSP_MODE_SPI | SSP_CTRL1_WORD_LENGTH_EIGHT_BITS;
- reg |= (mxs_slave->mode & SPI_CPOL) ? SSP_CTRL1_POLARITY : 0;
- reg |= (mxs_slave->mode & SPI_CPHA) ? SSP_CTRL1_PHASE : 0;
- writel(reg, &ssp_regs->hw_ssp_ctrl1);
- writel(0, &ssp_regs->hw_ssp_cmd0);
- mx28_set_ssp_busclock(slave->bus, mxs_slave->max_khz);
this turns on the hardware ...
This only sets up the clock to a correct frequency, the hardware is running all the time.
+void spi_release_bus(struct spi_slave *slave) +{ +}
... so shouldn't this turn it off ?
i dont have the datasheet for the controller, so i have no idea :) -mike