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