raspberry pi mmc issue
Sascha Hauer
s.hauer at pengutronix.de
Tue Oct 15 08:23:32 EDT 2013
On Tue, Oct 15, 2013 at 01:51:17PM +0200, Alexander Aring wrote:
> Hi all,
>
> I using a not mainlined raspberry pi qemu implementation [1] and tried to
> run barebox on it. All seems to working but if I probe the mmc with
> mci0.probe=1 qemu will crash on a assert on 4 byte assert [2].
>
> I dig a little bit into the Datasheet of bcm2835 [3] which says:
>
> "Contrary to Arasan™’s documentation the EMMC module registers can only
> be accessed as 32 bit registers, i.e. the two LSBs of the address are
> always zero."
>
> Then I dig into the barebox bcm2835_mci implementation and found
> something [4]. We use there a readb on SDHCI_RESPONSE_0 which is not a
> 32 bit access. I just commented the if branch and it works.
>
> Maybe this can make some errors on a real raspberry, too.
>
> Maybe somebody knows a little bit more about mci and can help me to find
> a proper solution? Perhaps just make a 32 bit access and do some bit
> magic with masks and shifts?
Here the SD card works (both read and write). I can surely test a patch
converting this access into a 32bit access.
The only thing I realize here is that my 3.6.4 kernel fails to access
the SD card when barebox has accessed it before:
[ 3.623861] mmc0: SD Status: Invalid Allocation Unit size.
[ 3.635586] mmc0: error -110 whilst initialising SD card
[ 3.724743] mmc0: SD Status: Invalid Allocation Unit size.
[ 3.739073] mmc0: error -110 whilst initialising SD card
[ 3.836341] mmc0: SD Status: Invalid Allocation Unit size.
[ 3.847708] mmc0: error -110 whilst initialising SD card
[ 3.965447] mmc0: read SD Status register (SSR) after 3 attempts
[ 3.971483] mmc0: SD Status: Invalid Allocation Unit size.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list