Re: [U-Boot] at91sam9g45ekes SDHC/MMC

2010-04-28 Thread Robert Emanuele
Andy, Henry, Ulf, and the rest,

I've posted the patch that I'm using for my SD/MMC support.  It is a
new driver based on some of the code from the original Atmel driver
that uses the MMC framework.  I've tested it on a at91sam9g45 (ES and
production chips) and on an ek board and our own board.

I hope this can help you guys out and I hope this can get mainlined
for others to enjoy.

If the patch is not in your email, here is a link to it in the archives:
http://lists.denx.de/pipermail/u-boot/2010-April/070816.html

--Rob

On Fri, Apr 23, 2010 at 6:18 PM, Andy Fleming aflem...@gmail.com wrote:
 On Fri, Apr 23, 2010 at 6:21 PM, Albin Tonnerre
 albin.tonne...@free-electrons.com wrote:
 On Fri, 23 Apr 2010 16:58 -0500, Andy Fleming wrote :
 On Thu, Apr 22, 2010 at 7:51 PM, Rob Emanuele r...@emanuele.us wrote:
  Hi Henry  U-Boot Community,
 
  I've been experiencing the same errors and frustration you have.
 
  So I've been looking at this code and these patch sets for a day or
  two now.  I've done that in conjunction with reading the SD card spec:
  http://www.sdcard.org/developers/tech/sdcard/pls/
 
  I've come to the conclusion that this code as it stands will not work
  with any card that conforms to the SD Physical Layer Simplified
  Specification Version 2.0.  This includes all SDHC cards and some
  non-HC cards that conform to version 2.0.  I have a few 1GB cards that
  work just fine with the atmel_mci.c code on a 'G45 as it was in rev
  95c44ec485b46ffb43dbdaa299f1491a500fdadf .
 
  If your SD card is newer, you'll see in the for loop in sd_init_card
  in atmel_mci.c time out.  In the 2.0 spec, you need to perform a CMD8
  (SEND_IF_COND) first to see if your card is a 2.0 card.  In CMD8 you
  tell the card the voltages you support and if you support HC cards.
  Once you send it the right data there, then ACMD41 will not have its
  BUSY bit set.  That's all well and good, but additionally the CSD
  register is in a new format and that needs updating before any of this
  will work.


 The best solution is to use the MMC framework, which *does* do all of
 these things that you suggest.  It should be fairly straightforward to
 port the atmel_mci driver to this framework.  If you see something
 lacking, feel free to mention it, or modify the framework.  :)

 I did port the atmel_mci driver to the MMC framework and posted the results 
 on
 this mailing list a few months back. However, some people apparently 
 experienced
 issues I have never been able to reproduce, and got few review.
 I recently adapted the AT91 SD/MMC support patch and the atmel_mci port to 
 use
 the new C structures access, I'll repost it in a couple days in case anyone's
 interested.



 Yeah, I see that now.  I'm catching up from being in various other
 project quagmires.  Sadly,
 I can't apply your patch if people are running into problems with it,
 but I'd far prefer it.

 I also don't have such a board, though.  If someone could apply
 Albin's patches, and try to identify why it's not working, I'd be very
 appreciative.  :)

 Andy

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] Atmel SD/MMC Support (including SDHC)

2010-04-22 Thread Robert Emanuele
Greetings,

I was wondering if there is anyone working on porting the mmc.c
library to the Atmel AT91 (or AVR32) platforms?

As it stands now the atmel_mci.c has its own initialization and
structures.  It is largely legacy code and there is no support for the
SD Physical Layer Specification version 2.00.

If anyone is working on it I'm happy to help.  If no one is working on
it, I start coding tomorrow, does anyone want to help?

Cheers,

Rob
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot