
On Mon, Aug 31, 2009 at 01:39:26PM +0200, Albin Tonnerre wrote:
On Mon, Aug 31, 2009 at 02:22:47PM +0300, Sami Kantoluoto wrote :
On Sun, Aug 30, 2009 at 01:08:27AM +0200, Albin Tonnerre wrote:
On Sat, Aug 29, 2009 at 08:18:32PM +0300, Sami Kantoluoto wrote :
Fixed to parse CSD correctly on little endian processors as gcc orders bitfields differently between big and little endian ones.
Please also see this patch, which will fix those bugs as weel, while switching to the new GENRIC_MMC API: http://lists.denx.de/pipermail/u-boot/2009-August/059456.html I'd highly appreciate if you could test it, to get some feedback
Thanks, I'll test when I get some time later this week but I think (by reading the patch so I probably missed something) it won't solve the CSD problem. The real reason of the "CSD problem" of course is that how the mmc_csd structure is defined (host byte order not taken in account or at least how gcc handles bitfields).
drivers/mmc/mmc.c does not actually use the bitfield to parse the csd struct, and got fixed a while back to work no matter what endianness you're using, so it should solve it anyway.
I just tested the patch (+ your at91_mci patch + my new patches) and this seems to work just find.
Thanks!
Best Regards,
-sk