logo: add mem logo
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)