Struggling to get kernel to preserve framebuffer memory when booting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

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

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux