MPX8xx: MMC over SPI....

Kate Alhola kate at
Wed Mar 10 10:23:19 EST 2004

Wolfgang Denk wrote:

>>I am going to write a SPI driver and on top of that a MMC driver for linux for
>>the MPC852T, unless there is something already out there.
>>Anyone tried this before and has some sources to share? Or pointers to
I am just doing same thing for mpc5200 ( )
In this board there is MMC connector connected to PSC

>The SPI driver is there, but I don't recommend to use it for any type
>of data transfers that require any  significant  bandwidth.  Motorola
There is simple spi driver arch/ppc/8260_io/cpm_spi.c but i think that
one like
i2c subsystem will be much more usefull. I have been planning make one based
on i2c driver.

I am plannigg 3-layer model like in i2c or USB. interface-HW-driver in
lowest level,
then subsystem driver and then target HW driver. Like in this case
PSC_SPI-> SPI_subsystem->MMC  ---->FS

>        The SPI was not designed to be a high-bandwidth channel. It
>        can run very quickly for bursts of up to 16-bits. But the
>        peripheral has no FIFO and low priority in the MPC860 and
>        thus you cannot burst lots of data quickly through the
>        interface.
>        ...
>        Note that the SPI is of lower priority internally than the
>        SCCs, thus, the SPI will be the first device to be "starved".
>        Since it has no FIFO, it is especially sensitive to underruns.
>        The best way to prevent this is to use a buffer size of 1
>        "character" (of size programmed in the mode register).
>        ...
There is same problem in mpc5200 SPI and for this reason i am planning to
use PSC in SPI mode. Then i will have fifo etc. I am also considering to
use bestcom DMA. I just have heard that there is lot of problems with it
when used with I2S. What is actually causing the problems ?
Bestcom API library ? Should it be better to use directly bestcom HW
without library ?

>Also, you should be aware that the SPI  protocol  is  implemented  as
>microcode  running  on the CPM, so any high-speed data transfers will
>suck up CPM performance.

Of cource it does not give best performance but it is also wery simple
interface to cheap small low cost mass media. If we like to have full fast
MMC/SD interface then we should consider some FPGA implementation
but in most cases simpler will give enough proformace.


** Sent via the linuxppc-embedded mail list. See

More information about the Linuxppc-embedded mailing list