summaryrefslogtreecommitdiff
path: root/recipes/powervr-drivers/libgles-omap3-3.01.00.02/rc.pvr
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/powervr-drivers/libgles-omap3-3.01.00.02/rc.pvr')
-rwxr-xr-xrecipes/powervr-drivers/libgles-omap3-3.01.00.02/rc.pvr58
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
+