Hi @jars121,
Your post came up in a myriad of different posts I was using to solve a similar issue. I am developing on an IMX6 system and using a framebuffer display, and I also had an issue where my framebuffer would not show the boot logo I had specified in logo_custom_clut224.ppm.
After two weeks of debugging, I finally found my solution, and I’m going to share it in hopes that it may help you too.
After booting my embedded device (with no logo showing), I looked through my dmesg to see where my LCD was being initialized. Sure enough, it was found at around 0.4s into boot:
[ 0.420074] mxc_sdc_fb fb@2: registered mxc display driver lcd
The troubleshooting I performed that set me on the right track was editing my kernel’s mxc framebuffer code at drivers/video/fbdev/mxc/mxc_ipuv3_fb.c (applicable to my screen) and writing in printk messages to see where the device was “blanked” or “un-blanked”. Eventually, I found that around the same time as my device reached login in dmesg, I also found that my screen was set to “unblank” (resume) for the first time during boot.
I figured, why not try to set my screen to unblank immediately after probing rather than at login? So, at the end of the function mxcfb_probe, I placed a single statement (around line 3580, before “return 0”):
mxcfb_blank(0,fbi);
return 0;
This immediately gave me access to the framebuffer pre-login (fbi, psplash, etc. all work now). In order to get the boot logo to work I had to re-enable framebuffer console in my configuration. Psplash works without it, though.
I hope this might help, I’m not sure if the file mxc_ipuv3_fb.c is applicable to your situation but you may be able to find out if another file will work in a similar manner.