Struggling to get kernel to preserve framebuffer memory when booting

Dushara Jayasinghe dushara at successful.com.au
Tue Dec 5 17:58:00 EST 2017


Hi all,

I'm struggling to solve a problem which in theory should be quite 
straight forward. This email is a bit of a brain dump so apologies for 
being all over the place.

I'm working on an embedded device where u-boot displays a logo which I 
want the kernel to preserve. However I find the display gets blanked as 
soon as the kernel starts executing.

As I understand it, the first step is to get the kernel to reserve the 
frame-buffer memory (and hand it to the FB driver later on). So I added 
the following device tree entry:

         reserved-memory {
                 #address-cells = <1>;
                 #size-cells = <1>;
                 ranges;

                 display_reserved: fb at 0 {
                         no-map;
                         reg = <0x3ffa5000 0x0005b000>;
                 };
         };

The memory area reflects the FB memory allocated by u-boot.

This is an atmel SAMA5D2 based board with 512M RAM in the 
0x20000000-0x40000000 range.

However, I find the display is blanked even before the FB driver starts.

I have confirmed that the device tree entry is processed by placing 
printks in drivers/of/of_reserved_mem.c 
(http://elixir.free-electrons.com/linux/latest/source/drivers/of/of_reserved_mem.c#L85).

I also added the following line at the same spot to see if that area is 
at least accessible:

*(unsigned int*)0x3ffa5000 = 0xffffffff

And I observed the following result:

 1. The kernel hangs
 2. The display is not yet blanked at this point

Writing to the same location from within the u-boot shell places a white 
pixel on the display.

Could anyone suggest what areas I need to look at to solve this problem? 
Any tips and suggestions will be greatly appreciated.

Thank you

Dushara

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20171206/a2fc9c70/attachment.html 


More information about the Kernelnewbies mailing list