Skip to content

logo: add mem logo

This is a fix for issue [746-000092] logo: Implement logo driver to showlogo from RAM

If CONFIG_LOGO_SECO_MEMLOGO is set, logo driver will get logo memory address and size from dtb. And if this points to a correct data, logo, loaded into memory will be displayed.

If some part of dtb node is missing or data in the memory is incorrect, a logo, which was selected by the driver before will be used.

It is also necessary to reserve memory to which logo is loaded.

Exampled dtb nodes:

       seco-memlogo {
               compatible = "seco,memlogo";
               address = <0x14000000>;
               size = <74501>;
       };

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

               logo_reserved: logo@14000000 {
                       reusable;
                       reg = <0x14000000 74501>;
               };
       };

Example script, which will generate logo from logo.png:

    WIDTH=492
    HEIGHT=150
    pngtopam logo.png > logo.ppm
    pnmpad -width $WIDTH -height $HEIGHT logo.ppm > logo_pad.ppm
    pnmcolormap 224 logo_pad.ppm > colormap
    pnmremap -floyd -plain -mapfile=colormap logo_pad.ppm > logo_plain.ppm
    seco-pnmtologo -t clut224 -o logo.dat -f bin logo_plain.ppm

Example command to load logo into memory from U-Boot:

    load mmc 1:3 0x14000000 logo.dat
Edited by Dmitry Petrov

Merge request reports