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

Hans de Goede hdegoede at redhat.com
Fri Oct 3 11:19:47 CEST 2014


Hi,

On 10/03/2014 10:49 AM, Siarhei Siamashka wrote:
> 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).

Thanks, that is good to know. I'm tempted to revert that patch then for
now. I say tempted, as I'm not 100% sure on this. I do want mainline
u-boot to work eventually with the sunxi-3.4, so that we can stop
maintaining https://github.com/linux-sunxi/u-boot-sunxi

But this will requires some sunxi-3.4 kernel changes for A20 anyways,
so if you've a sunxi-3.4 patch fixing things, then maybe

> 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.

Right, I plan to fix the missing machine ids ASAP, we did not add them
because we thought they were not properly registered, but I've checked
and they actually are properly registered. I welcome a patch adding them,
and unless someone beats me to it I hope to write one myself real soon.

With the machine ids added upstream u-boot will work fine for sun4i and
sun5i with existing sunxi-3.4 kernels, which is why I'm tempted to
revert the commit you mention above if that breaks that (in some scenarios).

> A feature complete u-boot branch with extra patches on top of u-boot
> v2014.10 (for example, with HDMI video driver support) 

Hmm, I assume that you're working on this and are going to maintain this?

So this is going to be some patches on top of v2014.10, or do you plan to
merge v2014.10 and https://github.com/linux-sunxi/u-boot-sunxi ?

If this is going to be some patches on top of v2014.10, please consider
pushing for getting these merged. I'm definitely interested in getting
upstream u-boot to work with the sunxi-3.4 kernels, and I say this with my
sunxi u-boot custodian hat firmly on.

As for the hdmi support, please note that I maintain a branch with that,
(*) which includes several fixes here:

https://github.com/jwrdegoede/u-boot-sunxi/commits/sunxi-wip

And I plan to get this merged into u-boot master post the v2014.10 release,
the big blocker is the simplefb clocks binding thingie, and I hope that
that will be resolved soon.

Regards,

Hans


*) other pending stuff I'm working on


More information about the U-Boot mailing list