[U-Boot] U-Boot Sunxi breaks LCD output on Olimex Lime A10

Siarhei Siamashka siarhei.siamashka at gmail.com
Fri Oct 3 10:49:25 CEST 2014


On Fri, 03 Oct 2014 10:04:29 +0200
Hans de Goede <hdegoede at redhat.com> wrote:

> Hi,
> 
> On 10/01/2014 07:43 PM, Hendrik wrote:
> > I have always been using the sunxi u-boot from 'https://github.com/linux-sunxi/u-boot-sunxi' and that works fine, but now I want to boot the kernel from USB. That is not possible in that u-boot branch. Therefore I switched to the latest U-Boot 'git://git.denx.de/u-boot.git' for the Olimex Allwinner A10 Lime as this one does have a working USB mass storage implementation.
> > 
> > But when the kernel and root filesystem is booted and my application (using DirectFB) starts, the LCD screen is flickering between a correct image and an incorrect image as if sometimes random image data is displayed to the screen. Although it looks more like a clock or timing issue because the colors of the faulty screen resemble the colors of the correct screen. Also: when the cpu is inactive the screen is more or less ok but when doing a lot of work the screen starts to flicker. Then it is stable for a while and after some time it starts flickering again.
> > 
> > I am using the exact same kernel, root filesystem, U-boot environment, SD-card and 'script.bin' (which defines the hardware layout, I am not using a device tree file). The only difference is the version (and origin) of U-boot.
> > 
> > Can anybody shine some light on this? Maybe Hans de Goede? I have seen his name pop-up a lot of times with the Sunxi branch.
> 
> Hmm, the only thing I can think of which may have caused this are the
> recent DRAM controller code cleanups which are in upstream u-boot and
> not in https://github.com/linux-sunxi/u-boot-sunxi
> 
> Can you try copying these 2 files:
> 
> arch/arm/cpu/armv7/sunxi/dram.c
> arch/arm/include/asm/arch-sunxi/dram.h
> 
> From https://github.com/linux-sunxi/u-boot-sunxi over into upstream
> u-boot, essentially reverting the DRAM cleanup patches, and see if that
> fixes things ?

It is most definitely the PLL5P clock speed problem and it can be
resolved by either reverting the following patch in u-boot
    http://git.denx.de/?p=u-boot.git;a=commit;h=013f2d746955147439215a4939655c9ed6bdd866
or by fixing a bunch of hardcoded divisors in the sunxi-3.4
kernel (for which I'll send a patch to the linux-sunxi mailing list
later today).

Please note that you can't use the sunxi-3.4 kernel with the unmodified
mainline u-boot anyway because of the missing machine id definitions and
the new PSCI code (but this is a problem only on Allwinner A20
hardware). A few minor patches are needed here and there.

A feature complete u-boot branch with extra patches on top of u-boot
v2014.10 (for example, with HDMI video driver support) and the
sunxi-3.4 kernel compatibility tweaks is going to be available shortly
after the u-boot v2014.10 release.

-- 
Best regards,
Siarhei Siamashka


More information about the U-Boot mailing list