[U-Boot] [PATCH 00/14] sunxi: Allwinner A10/A13/A20 DRAM controller fixes

Hans de Goede hdegoede at redhat.com
Sat Jul 19 12:59:42 CEST 2014


Hi,

On 07/18/2014 06:22 PM, Siarhei Siamashka wrote:
> Hello,
>
> First of all, it may be worth reminding that no accurate documentation
> for this particular DRAM controller exists in public access.
>
> However it is suspected that Allwinner uses one of the revisions of
> Synopsys DesignWare DDR2/3-Lite Memory Controller IP (MCTL) combined
> with DDR2/3-Lite PHY IP in A10/A13/A20. Also this DRAM controller
> apparently has siblings in Rockchip RK29XX, RK30XX and TI KeyStone2
> hardware, which have some documentation and some bits of kernel and
> bootloader sources available in the Internet. Not to mention the
> original Allwinner boot0 bootloader sources and the suspend support
> code from the linux-sunxi kernel. This provides enough hints for
> finding out how the DRAM controller actually works by checking
> various bits of information via the trial and error method.
>
> In other words, a few people from the linux-sunxi community (me included)
> are essentially doing reverse engineering of the DRAM controller and using
> the linux-sunxi wiki to document all the findings:
>     http://linux-sunxi.org/DRAM_Controller
>
> If Allwinner Technology, Synopsys DesignWare or anyone else can share
> real documentation or at least provide some hints or review the code,
> that would be really appreciated.
>
> Nevertheless, here is a patch set, which tries to improve the current
> u-boot sunxi dram code in the following way:
>   * remove the convoluted dead code paths, which have no real use
>   * fix obvious bugs and timing violations
>   * add real ZQ calibration and ODT support for better reliability
>     and higher clock speed potential
>   * remove duplication and share code between sun4i/sun5i/sun7i
>   * add more configuration knobs (such as MBUS clock frequency)
>   * optional support for automatic detection of the bus width and
>     chip density
>
> This patch set only modifies the dram.c and dram.h source files and
> applies cleanly to u-boot v2014.07 (but is intended for v2014.10).
> The patch set is organized in such a way, that we first fix bugs in
> the current sun7i implementation, and only after that add the missing
> sun4i/sun5i support bits. As such, it clashes with the dram parts
> of the sun4i/sun5i support patches, earlier submitted by Hans de Goede.

First of all, many many thanks for working on this!

Unfortunately the wheels of progress have been moving on though.

Ian Campbell and I now maintain a u-boot custodian tree for allwinner
related patches, and we (mostly Ian) have already prepared a set of
patches to get merged for v2014.10 as soon as the window opens, and
that includes sun4i and sun5i support. You can find this tree here:

http://git.denx.de/?p=u-boot/u-boot-sunxi.git;a=summary

I really don't want to go and roll-back changes already there so
that we can add your patch-set. Therefor I've to ask you, can you please
rebase your set on top of this tree?

I understand this may be non trivial and thus may require some extra
work from you side, and I'm sorry about that.

Once you've posted a new rebased version I or Ian will review it and get
it into the above tree for merging upstream.

Regards,

Hans


More information about the U-Boot mailing list