Skip to content

logo: add mem logo

Jonas Höppner requested to merge mem-logo into linux-5.15.32-seco

This is a fix for issue [746-000092] logo: Implement logo driver to show logo 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

Signed-off-by: Mikhail Vanyulin mikhail.vanyulin@rtsoft.de (cherry picked from commit e30bc118a5d2b4fd003c71006980c5b2c06429ca)

Merge request reports