Requesting help with MMC2 DDR 52 mode clock delays

74 views
Skip to first unread message

Chen-Yu Tsai

unread,
Dec 10, 2015, 2:17:44 AM12/10/15
to Shuge, linux-sunxi, Maxime Ripard, Hans De Goede
Hi,

I am working on DDR support for the MMC controllers.
Unfortunately none of my boards support signal voltage switching to 1.8V,
(and I suspect no boards do), so I cannot try out UHS-1 modes.

I have 4 boards that have eMMC chips connected to MMC2.
These are the A80 Optimus, Cubieboard4, Sinlinx SinA33, and SinA31s.
eMMC DDR 52 is working on all but the SinA31s. The delay values
from Allwinner kernel sources do not work.

Can Allwinner provide the delay values for A31/A31s MMC2 DDR50?

Ongoing work can be found here:

https://github.com/wens/linux/commits/sun9i-wip

If anyone knows of any boards that support SD card voltage switching,
please let me know.

Regards
ChenYu

Sugar Wu

unread,
Dec 10, 2015, 9:41:50 PM12/10/15
to linux-sunxi, sh...@allwinnertech.com, maxime...@free-electrons.com, hdeg...@redhat.com
Hi ChenYu,
      
I am sorry. 
We just run DDR8 40MHz on A31/A31s with MMC3.
If you run it with MMC2, it not support DDR8 function.
You should switch pinmux to MMC3.

If you want to try DDR 50, you can improve IO voltage to 3v. 
And, you should set mod clock(in ccmu) and card clock(in mmc controller) in following different scenarios:
a.  8 bit width:
    source clock must be double card clock, it mean  CCLK_DIV is 2.
    (Card Clock) = (MMC Module Clock) / 2

b.  4 bit width:
    Card Clock = MMC Module Clock

Best regards
Sugar

Chen-Yu Tsai

unread,
Dec 11, 2015, 2:49:37 AM12/11/15
to Sugar Wu, linux-sunxi, Shuge, Maxime Ripard, Hans De Goede
On Fri, Dec 11, 2015 at 10:41 AM, Sugar Wu <shuge...@gmail.com> wrote:
> Hi ChenYu,
>
> I am sorry.
> We just run DDR8 40MHz on A31/A31s with MMC3.
> If you run it with MMC2, it not support DDR8 function.
> You should switch pinmux to MMC3.

Interesting. Is this a hardware difference between MMC2 and MMC3?
Or is it just signal routing problems?

Anyway I got DDR8 working on my A31s. Thanks!

> If you want to try DDR 50, you can improve IO voltage to 3v.
> And, you should set mod clock(in ccmu) and card clock(in mmc controller) in
> following different scenarios:
> a. 8 bit width:
> source clock must be double card clock, it mean CCLK_DIV is 2.
> (Card Clock) = (MMC Module Clock) / 2

Yes. I noticed this from the SDK. With this already 8 bit works on A33 / A80.

I also noticed A33's "new timing mode", but I can make DDR work without it,
using old timing mode.


Regards
ChenYu

>
> b. 4 bit width:
> Card Clock = MMC Module Clock
>
> Best regards
>
> Sugar
>
> On Thursday, December 10, 2015 at 3:17:44 PM UTC+8, Chen-Yu Tsai wrote:
>>
>> Hi,
>>
>> I am working on DDR support for the MMC controllers.
>> Unfortunately none of my boards support signal voltage switching to 1.8V,
>> (and I suspect no boards do), so I cannot try out UHS-1 modes.
>>
>> I have 4 boards that have eMMC chips connected to MMC2.
>> These are the A80 Optimus, Cubieboard4, Sinlinx SinA33, and SinA31s.
>> eMMC DDR 52 is working on all but the SinA31s. The delay values
>> from Allwinner kernel sources do not work.
>>
>> Can Allwinner provide the delay values for A31/A31s MMC2 DDR50?
>>
>> Ongoing work can be found here:
>>
>> https://github.com/wens/linux/commits/sun9i-wip
>>
>> If anyone knows of any boards that support SD card voltage switching,
>> please let me know.
>>
>> Regards
>> ChenYu
>
> --
> You received this message because you are subscribed to the Google Groups
> "linux-sunxi" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to linux-sunxi...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Shuge

unread,
Dec 15, 2015, 8:18:54 PM12/15/15
to Chen-Yu Tsai, linux-sunxi, Shuge, Maxime Ripard, Hans De Goede
On 2015-12-11 15:49, Chen-Yu Tsai wrote:
> On Fri, Dec 11, 2015 at 10:41 AM, Sugar Wu <shuge...@gmail.com> wrote:
>> Hi ChenYu,
>>
>> I am sorry.
>> We just run DDR8 40MHz on A31/A31s with MMC3.
>> If you run it with MMC2, it not support DDR8 function.
>> You should switch pinmux to MMC3.
>
> Interesting. Is this a hardware difference between MMC2 and MMC3?
> Or is it just signal routing problems?
Just a little different.
Reply all
Reply to author
Forward
0 new messages