I'm running the public 3.0 kernel on my boards. I have some boards
which can have either OMAP3530 or DM3730 (newer boards have the
newer part, but everything else is the same).
On the OMAP3530, I can enable the graphics overlay on the TV (S-Video)
output via the attached script. On the DM3730 boards, this crashes
the kernel hard :-(
This same operation seems to be fixed on the 3.2 (public) kernel, but
it's difficult for me to upgrade to that kernel for some other reasons.
Does anyone have an idea why this might happen? where to look to
isolate the bug(s)?
I tried to back-port the 3.2 DSS code into my 3.0 kernel, but my
simple attempt was pretty much a failure... If I can, I'd like to
figure out how to just fix the 3.0 code, rather than the full-scale
import of the 3.2 code.
Thanks for any ideas/pointers
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
#! /bin/sh
#
# This script will put the TV (S-Video) into graphics mode,
# mapped onto /dev/fb2
#
ovl0=/sys/devices/platform/omapdss/overlay0
ovl1=/sys/devices/platform/omapdss/overlay1
ovl2=/sys/devices/platform/omapdss/overlay2
mgr0=/sys/devices/platform/omapdss/manager0
mgr1=/sys/devices/platform/omapdss/manager1
lcd=/sys/devices/platform/omapdss/display0
tv=/sys/devices/platform/omapdss/display1
fb0=/sys/class/graphics/fb0
fb1=/sys/class/graphics/fb1
fb2=/sys/class/graphics/fb2
#MODE=${MODE:-ntsc}
MODE=${MODE:-pal}
echo "0" > $tv/enabled
echo ${MODE} >$tv/timings
w=`cat $tv/timings | cut -d "," -f 2 | cut -d "/" -f 1`
h=`cat $tv/timings | cut -d "," -f 3 | cut -d "/" -f 1`
echo "... Setting ${MODE} mode, Width = ${w}, Height = ${h}"
echo "0" > $ovl2/enabled
echo "2" > $fb2/overlays
echo "$w,$h" > $ovl2/output_size
echo "tv" > $ovl2/manager
mem=$((w*h*4))
echo $mem > $fb2/size
echo "1" > $ovl2/enabled
echo "1" > $tv/enabled
fbset -fb /dev/fb2 -nonstd 1