Hello David,

On Sat, Jul 14, 2007 at 03:04:51PM -0700, David Brownell wrote:
> Here's an updated version of the MMC-over-SPI patches, reworked to
> address most of Pierre's issues (moving even more code into the MMC
> core) and to clean up the I/O paths.
> 
> To build/run these, you'll need the CRC7 patch from recent MM trees.
> 
>  - headers learn about SPI
> 
>  - mmc_block learns about SPI
> 
>  - mmc core updates 
> 
>  - mmc_spi host driver
> 
> The bits related to card lock/unlock aren't included here, since
> those didn't go upstream yet.

Much thanks for the patches!

Though, I still have some troubles with getting MMC(SD)-over-SPI to
work.

I'm using slightly patched spi_mpc83xx.c driver + these four mmc
patches.

spi_mpc83xx.c tested only in loopback mode and using oscilloscope.
It _seem_ to work fine, but as I didn't tested it on real hardware
(other than MMC/SD), I can't say if it's fault of spi_mpc83xx or
mmc_spi.

David, can you see anything helpful in these debug messages?

- - - -
mmc_spi spi1.0: ASSUMING unshared SPI bus!
mmc_spi spi1.0: ASSUMING 3.2-3.4 V slot power
mmc0: clock 0Hz busmode 0 powermode 0 cs 0 Vdd 0 width 0 timing 0
mmc_spi spi1.0: SD/MMC host mmc0, no DMA, no WP, no poweroff
mmc0: clock 0Hz busmode 2 powermode 1 cs 1 Vdd 21 width 0 timing 0
mmc_spi spi1.0: mmc_spi: power up (21)
mmc0: clock 400000Hz busmode 2 powermode 2 cs 1 Vdd 21 width 0 timing 0
mmc_spi spi1.0: mmc_spi: power on (21)
mmc_spi spi1.0: mmc_spi:  clock to 400000 Hz, 0
mmc0: starting CMD0 arg 00000000 flags 000000c0
mmc_spi spi1.0:   mmc_spi: CMD0, MMC_SPI_R1
mmc0: req done (CMD0): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD8 arg 000001aa flags 000002f5
mmc_spi spi1.0:   mmc_spi: CMD8, MMC_SPI_R3/R7
mmc_spi spi1.0:   ... CMD8 response SPI_R3/R7: resp 0005 00000000
mmc0: req done (CMD8): 5/0/0: 00000005 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00000000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00000000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00000000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00000000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00000000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00000000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00000000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00000000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00000000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00000000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00000000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00000000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00000000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00000000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000000 00000000 00000000 00000000
mmc0: starting CMD58 arg 00000000 flags 00000280
mmc_spi spi1.0:   mmc_spi: CMD58, MMC_SPI_R3/R7
mmc0: req done (CMD58): 0/0/0: 00000000 80ff8000 00000000 00000000
mmc0: clock 400000Hz busmode 2 powermode 2 cs 1 Vdd 20 width 0 timing 0
mmc0: starting CMD0 arg 00000000 flags 000000c0
mmc_spi spi1.0:   mmc_spi: CMD0, MMC_SPI_R1
mmc0: req done (CMD0): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD8 arg 000001aa flags 000002f5
mmc_spi spi1.0:   mmc_spi: CMD8, MMC_SPI_R3/R7
mmc_spi spi1.0:   ... CMD8 response SPI_R3/R7: resp 0005 00000000
mmc0: req done (CMD8): 5/0/0: 00000005 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00300000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00300000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00300000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00300000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00300000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00300000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00300000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00300000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00300000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00300000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00300000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00300000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00300000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00300000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc_spi spi1.0:   mmc_spi: CMD55, MMC_SPI_R1
mmc0: req done (CMD55): 0/0/0: 00000001 00000000 00000000 00000000
mmc0: starting CMD41 arg 00300000 flags 000000e1
mmc_spi spi1.0:   mmc_spi: CMD41, MMC_SPI_R1
mmc0: req done (CMD41): 0/0/0: 00000000 00000000 00000000 00000000
mmc0: starting CMD59 arg 00000001 flags 00000080
mmc_spi spi1.0:   mmc_spi: CMD59, MMC_SPI_R1
mmc0: req done (CMD59): 0/0/0: 00000000 00000000 00000000 00000000
mmc0: starting CMD10 arg 00000000 flags 000000b5
mmc_spi spi1.0:   mmc_spi: CMD10, MMC_SPI_R1
mmc_spi spi1.0:     mmc_spi: read block, 16 bytes
mmc_spi spi1.0: read error f8 (248)
mmc_spi spi1.0: read status -5
mmc0: req done (CMD10): 0/4/0: 00000001 00000000 00000000 00000000
mmc0: clock 0Hz busmode 2 powermode 0 cs 1 Vdd 0 width 0 timing 0
mmc_spi spi1.0: mmc_spi: power off (0)
- - - -


SD card is Kingston 1GB, 3.3V.

Thanks!

p.s. I've sent subscription request to this list, but SF still
processing it. So please Cc me, just to be sure I'll not miss
something.

-- 
Anton Vorontsov
email: [EMAIL PROTECTED]
backup email: [EMAIL PROTECTED]
irc://irc.freenode.net/bd2

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general

Reply via email to