xref: /OK3568_Linux_fs/buildroot/package/ti-gfx/esrev.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1#!/bin/sh
2
3# Debug script to determine proper ES revision for the current board. The
4# pvrsrvkm module must be insmoded before attempting to get the es rev.
5
6machine_id() { # return the machine ID
7	awk 'BEGIN { FS=": " } /Hardware/ \
8		{ gsub(" ", "_", $2); print tolower($2) } ' </proc/cpuinfo
9}
10
11if [ "$(machine_id)" = "ti8168evm" ] ; then
12	CPUTYPE=TI816x
13elif [ "$(machine_id)" = "am335xevm" ] ; then
14	CPUTYPE=TI33XX
15else
16	CPUTYPE=$(devmem 0x4800244c | sed -e 's/0x00005C00/OMAP3503/' \
17	                                  -e 's/0x00001C00/OMAP3515/' \
18	                                  -e 's/0x00004C00/OMAP3525/' \
19	                                  -e 's/0x00000C00/OMAP3530/' \
20	                                  -e 's/0x00005E00/OMAP3503/' \
21	                                  -e 's/0x00001E00/OMAP3515/' \
22	                                  -e 's/0x00004E00/OMAP3525/' \
23	                                  -e 's/0x00000E00/OMAP3530/' \
24	                                  -e 's/0x00000CC0/OMAP3530/' )
25	if [[ "$(echo $CPUTYPE | grep OMAP)" == "" ]]; then
26		echo "Unable to determine CPU type"
27		exit 1
28	fi
29fi
30
31case $CPUTYPE in
32"OMAP3530")
33	devmem 0x48004B48 w 0x2
34	devmem 0x48004B10 w 0x1
35	devmem 0x48004B00 w 0x2
36
37	ES_REVISION="$(devmem 0x50000014 | sed -e s:0x00010205:5: \
38		-e s:0x00010201:3: -e s:0x00010003:2:)"
39	;;
40"TI33XX")
41	devmem 0x44e01104 w 0x0
42	devmem 0x44e00904 w 0x2
43
44	ES_REVISION="$(devmem 0x56000014 | sed -e s:0x00010205:8:)"
45	;;
46"TI816x")
47	devmem 0x48180F04 w 0x0
48	devmem 0x48180900 w 0x2
49	devmem 0x48180920 w 0x2
50
51	ES_REVISION="$(devmem 0x56000014 | sed -e s:0x00010205:6: \
52		-e s:0x00010201:3: -e s:0x00010003:2:)"
53	;;
54*)
55	echo Unable to determine SGX hardware
56	exit 2
57	;;
58esac
59
60echo $ES_REVISION
61