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