diff options
Diffstat (limited to 'recipes/powervr-drivers/libgles-omap3-3.01.00.02/rc.pvr')
-rwxr-xr-x | recipes/powervr-drivers/libgles-omap3-3.01.00.02/rc.pvr | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/recipes/powervr-drivers/libgles-omap3-3.01.00.02/rc.pvr b/recipes/powervr-drivers/libgles-omap3-3.01.00.02/rc.pvr new file mode 100755 index 0000000000..1b3c274593 --- /dev/null +++ b/recipes/powervr-drivers/libgles-omap3-3.01.00.02/rc.pvr @@ -0,0 +1,58 @@ +#!/bin/sh + +CPUTYPE="$(cputype)" + +if [ "$1" = "" ]; then + echo PVR-INIT: Please use start, stop, or restart. + exit 1 +fi + +if [ "$1" = "stop" -o "$1" = "restart" ]; then + echo Stopping PVR + #rmmod bc_example + rmmod omaplfb 2>/dev/null + rmmod pvrsrvkm 2>/dev/null +fi + +if [ "$1" = "stop" ]; then + exit 0 +fi + +if [ $CPUTYPE = "OMAP3530" ]; then + echo Starting PVR + insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko") + #modprobe bc_example + modprobe omaplfb + + pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3` + + if [ -e /dev/pvrsrvkm ] ; then + rm -f /dev/pvrsrvkm + fi + + mknod /dev/pvrsrvkm c $pvr_maj 0 + chmod 666 /dev/pvrsrvkm + + touch /etc/powervr-esrev + + SAVED_ESREVISION="$(cat /etc/powervr-esrev)" + ES_REVISION="$(cat /proc/cpuinfo | grep "CPU revision" | awk -F: '{print $2}')" + + if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then + echo -n "Starting SGX fixup for" + if [ "${ES_REVISION}" = " 3" ] ; then + echo " ES3.x" + cp -a /usr/lib/ES3.0/* /usr/lib + cp -a /usr/bin/ES3.0/* /usr/bin + else + echo "ES 2.x" + cp -a /usr/lib/ES2.0/* /usr/lib + cp -a /usr/bin/ES2.0/* /usr/bin + fi + echo "${ES_REVISION}" > /etc/powervr-esrev + fi + /usr/bin/pvrsrvinit +else + echo No SGX hardware, not starting PVR +fi + |