I'm using DM8148 with EZSDK 5.05.02.00 with 800x480 LCD on dvo2. Sometimes (about 1 in 10 bootups), fb0 ends up set incorrectly resulting in a chopped up image. When the problem occurs, the framebuffer virtual resolution is set to 1920x1080 instead of the normal 800x1440, with the image resolution always being the correct 800x480.
How do I fix it so it always boots with the proper settings?
Here's an example of the problem. There should be a window on the right side. As you can see, the video from OMX works fine..
http://i.imgur.com/8y2YQBf.jpg
Normally fbset results in
mode "800x480-60"
# D: 33.501 MHz, H: 31.515 kHz, V: 60.259 Hz
geometry 800 480 800 1440 32
timings 29850 89 164 23 10 10 10
rgba 8/16,8/8,8/0,8/24
endmode
But on a boot where the problem occurs, it results in
mode "800x480-262"
# D: 148.500 MHz, H: 137.500 kHz, V: 261.905 Hz
geometry 800 480 1920 1080 32
timings 6734 148 88 36 4 44 5
rgba 8/16,8/8,8/0,8/24
endmode
When it's wrong, the following command fixes it
fbset -fb /dev/fb0 -xres 800 -yres 480 -vxres 800 -vyres 1440
My load-hd-firmware.sh is
...
configure_lcd()
{
echo "Configuring fb0 to LCD"
echo 1:dvo2 > /sys/devices/platform/vpss/graphics0/nodes
echo 0 > /sys/devices/platform/vpss/display1/enabled
echo 33500,800/164/89/10,480/10/23/10,1 > /sys/devices/platform/vpss/display1/timings
echo triplediscrete,rgb888 > /sys/devices/platform/vpss/display1/output
echo 1 > /sys/devices/platform/vpss/display1/enabled
fbset -xres 800 -yres 480 -vxres 800 -vyres 480
}
case "$1" in
start)
echo "Loading HDVICP2 Firmware"
prcm_config_app s
modprobe syslink
until [[ -e /dev/syslinkipc_ProcMgr && -e /dev/syslinkipc_ClientNotifyMgr ]]
do
sleep 0.5
done
firmware_loader $HDVICP2_ID /usr/share/ti/ti-media-controller-utils/dm814x_hdvicp.xem3 start -i2c 0
echo "Loading HDVPSS Firmware"
firmware_loader $HDVPSS_ID /usr/share/ti/ti-media-controller-utils/dm814x_hdvpss.xem3 start -i2c 0
modprobe vpss sbufaddr=0xBFB00000 mode=dvo2:800x480@60 i2c_mode=0
modprobe ti81xxfb vram=0:24M,1:16M,2:6M
configure_lcd
modprobe ti81xxhdmi
...