[U-Boot] Nokia N900 - eMMC not working after commit 02f3029f1810b99869254d0cf0a71946a008a728

Lei Wen adrian.wenl at gmail.com
Tue Nov 15 10:01:19 CET 2011


Hi Macpaul,

On Tue, Nov 15, 2011 at 11:34 AM, Macpaul Lin <macpaul at gmail.com> wrote:
> HI Lei Wen,
>
> 2011/11/14 Lei Wen <adrian.wenl at gmail.com>:
>> Hi Macpaul,
>>
>>>> It seems some socs always treat cmd8 as failed...?
>>>> I think it is reasonable to add a quirk configuration surround the judgement
>>>> of cmd8 execution, so that even it is failed anyway, it could still go on with
>>>> the following cmd sequence. If this quirk is not defined, and return behavior
>>>> is still kept.
>>>>
>>>> What do you think for this?
>>>>
>>>> Thanks,
>>>> Lei
>>>>
>
> For easily to discuss about this problem, I've stripped the part from
> SD specification 3.0 as you mentioned.
>
> Figure 6.1
> http://i.imgur.com/bmoAX.jpg
> Figure 6.2
> http://i.imgur.com/7fxdx.jpg
>
> As you can see, after the power ramp up to 74 clocks (1msec), the CMD0
> can be send to the card.
>
> So it seems your controller will do power ramp up (dynamic clock
> gating?) "only after" the CMD0 has been send?
> Is this correct? However, it is weird and seem not followed the specification.

Yes, our controller use dynamic control gating for clock. The clock is
not sample out
while no command send out.

>
> Since only SD 2.0 cards can adopted with CMD8, other cards older than
> SD 2.0 should treat CMD8 as timeout (I guess).
> So CMD8 might be important for us to distinguish  the command sequence.
> Sending CMD8 many times might really introduce problem for other cards.

I realize now we at least cannot directly return err if the cmd8 is not succeed.
Please submit a patch to fix it.

Thanks,
Lei


More information about the U-Boot mailing list