[U-Boot] SPI and spi_cs_activate

Wolfgang Wegner wolfgang at leila.ping.de
Fri Jan 29 17:18:10 CET 2010


Hi Mike,

On Fri, Jan 29, 2010 at 11:11:36AM -0500, Mike Frysinger wrote:
> On Friday 29 January 2010 10:59:28 Wolfgang Wegner wrote:
> > I am trying to get the spi_mmc driver by Robert Selberg and Hans Eklund
> > to run on my new Coldfire board. (The driver was posted as a patch some
> > time ago, clearly marked as not ready for mainline. I just did not figure
> > out the correct search term to give the message ID.)
> > 
> > Now I am running into problems because the driver uses spi_cs_[de]activate,
> > which is rather useless on coldfire which does automatic cs.
> >
> > Looking through other drivers' code it seems to me that spi_cs_[de]activate
> > was never meant to be called from anybody else but some special SPI
> > drivers that can not aotumatically control cs lines or for systems
> > where SPI is done in software and so setting the appropriate GPIOs
> > is handed over to special board-dependent code.
> 
> there are plenty of SPI controllers which allow the CS to be manually 
> controlled.  this isnt a "special" driver.

OK, of course controlling CS manually is possible on most systems (via
GPIO). What I meant is that most systems do not care to control it
automatically (mostly for complexity reasons or because of real
HW limitations, as far as I understand).

> the MMC/SPI driver was written on a Blackfin system.  it working on any other 
> system is coincidental as a result of leveraging the common frameworks.  feel 
> free to submit fixes.

This is my intention in case I understand in which direction I have
to fix. (And in case I then get it to work in such a way, of course.)

So, maybe a more clear question:

Are all SPI drivers supposed to supply functions to manually control
the CS lines? If so, what means shall be provided to disable automatic
control?

Regards,
Wolfgang



More information about the U-Boot mailing list