[U-Boot] [PATCH 07/15] iMX28: Add SPI driver

Mike Frysinger vapier at gentoo.org
Mon Sep 12 22:26:11 CEST 2011


On Monday, September 12, 2011 13:42:22 Marek Vasut wrote:
> On Monday, September 12, 2011 06:35:10 PM Mike Frysinger wrote:
> > On Monday, September 12, 2011 00:06:41 Marek Vasut wrote:
> > > +struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
> > > +				  unsigned int max_hz, unsigned int mode)
> > > +{
> > > +
> > > +	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 |= (mode & SPI_CPOL) ? SSP_CTRL1_POLARITY : 0;
> > > +	reg |= (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(bus, max_hz / 1000);
> > 
> > these steps should be done in the claim_bus func
> 
> I don't think so ... I need to access max_hz and mode. This seems more
> fitting to me.

that's not how the API works.  you create clients, then you acquire the bus 
for a specific client, do a transfer, and then release it.  your bus breaks 
with the trivial case:
	- setup slave A
	- setup slave B
	- claim bus for slave A
	- transfer with slave A	<- uses settings from slave B
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20110912/92ae84b9/attachment.pgp 


More information about the U-Boot mailing list