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