Re: [spi-devel-general] IT8716F SPI driver submission?

From: David Brownell
Date: Sat Sep 29 2007 - 16:39:54 EST


> The IT8716F accepts commands byte-wise and does all of the lifting on
> the SPI bus as well. There are limitations, though:
> - It can send 1,2,4,5 bytes (including command byte) to the slave and
> read 0,1,2,3 bytes back. Other values are not possible.
> - Bus clock rate is either 33 MHz or 16.5 MHz.
>
> Is there any driver I can start from as reference?

None that I know of. You might find it's easier to just work with
a bastardized version of the (latest, with the 2.6.24 MTD updates
so it handleds even more chips) m25p80 driver and not go through the
SPI framework. It doesn't look like you could even bitbang SPI there,
since not all those pins are usable for bit-level I/O.

As you note, that hardware doesn't support all that a SPI controller
does. It's provided for accessing a single serial flash chip; and
not even to do that very smoothly. You'd have to somehow prevent that
driver from reading or writing normal size blocks. And you'd need to
defend against drivers trying to do full duplex or multi-segment I/O
requests, etc. Lots more work than a bastardized m25p80 driver. ;)

My limited exposure to SPI on PC hardware -- LPC chips like this, and
newer southbridges -- suggests they tend to be just as, erm, "limited"
as this one in terms of supporting anything other than one particular
variety of serial flash interface. I think the idea was just to let
board makers use cheaper flash chips when loading the BIOS. For that,
they don't need the kind of flexible expansion bus SPI is on most SOC
chips; or much throughput.

- Dave

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/