summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denys@ti.com>2016-04-25 23:56:27 +0000
committerDenys Dmytriyenko <denys@ti.com>2016-04-26 14:54:59 -0400
commit6dea1b68af73cc1c6bcf4c3f780ed6fcce770adb (patch)
tree6565e4ee1707efdfb95c13db21179d088cdb02d5
parentc70102c671f120822edc7743401e821ea4f40e4f (diff)
downloadmeta-ti-6dea1b68af73cc1c6bcf4c3f780ed6fcce770adb.tar.gz
sgx: drop old outdated omap3-sgx-modules and libgles-omap3 recipes
Besides being outdated and deprecated in favor of new ti-sgx-ddk recipes (previously known as omapdrm-pvr and omap5-sgx-ddk), 3D graphics drivers are kernel specific and corresponding kernel versions (prior to 4.0) have all been dropped already. Signed-off-by: Denys Dmytriyenko <denys@ti.com>
-rw-r--r--recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0001-PoC-GFX-SDK-Make-5_01_01_01-work-against-3.14-LTS.patch52
-rw-r--r--recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0002-SGX-linux-use-platform-data-to-provide-reset-info.patch121
-rw-r--r--recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0003-SGX-displayclass-am335x-am437x-fix-mutex-deadlock-wa.patch153
-rw-r--r--recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0004-SGX-linux-make-it-building-against-ti-linux-3.14.y.patch45
-rw-r--r--recipes-bsp/powervr-drivers/omap3-sgx-modules-x11_4.09.00.01.bb81
-rw-r--r--recipes-bsp/powervr-drivers/omap3-sgx-modules/Compile-fixes-for-38-kernel.patch346
-rw-r--r--recipes-bsp/powervr-drivers/omap3-sgx-modules/kernel-30.patch38
-rw-r--r--recipes-bsp/powervr-drivers/omap3-sgx-modules_4.05.00.03.bb39
-rw-r--r--recipes-bsp/powervr-drivers/omap3-sgx-modules_4.09.00.01.bb53
-rw-r--r--recipes-bsp/powervr-drivers/omap3-sgx-modules_5.01.01.01.bb62
-rw-r--r--recipes-bsp/powervr-drivers/omap3-sgx-modules_5.01.01.02.bb58
-rwxr-xr-xrecipes-graphics/libgles/libgles-omap3-4.09.00.01/rc.pvr124
-rwxr-xr-xrecipes-graphics/libgles/libgles-omap3-4.09.00.01/rc_dri.pvr136
-rwxr-xr-xrecipes-graphics/libgles/libgles-omap3-5.01.01.01/rc.pvr134
-rwxr-xr-xrecipes-graphics/libgles/libgles-omap3-5.01.01.01/rc_dri.pvr145
-rwxr-xr-xrecipes-graphics/libgles/libgles-omap3-5.01.01.02/rc.pvr134
-rwxr-xr-xrecipes-graphics/libgles/libgles-omap3-5.01.01.02/rc_dri.pvr145
-rw-r--r--recipes-graphics/libgles/libgles-omap3-no-x.inc341
-rw-r--r--recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/99-bufferclass.rules7
-rwxr-xr-xrecipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/cputype17
-rw-r--r--recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/rc.pvr125
-rw-r--r--recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/rc_dri.pvr137
-rw-r--r--recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/sample.desktop8
-rw-r--r--recipes-graphics/libgles/libgles-omap3-x11.inc333
-rw-r--r--recipes-graphics/libgles/libgles-omap3-x11_4.09.00.01.bb90
-rw-r--r--recipes-graphics/libgles/libgles-omap3.inc439
-rw-r--r--recipes-graphics/libgles/libgles-omap3/99-bufferclass.rules7
-rwxr-xr-xrecipes-graphics/libgles/libgles-omap3/cputype25
-rwxr-xr-xrecipes-graphics/libgles/libgles-omap3/rc.pvr124
-rw-r--r--recipes-graphics/libgles/libgles-omap3/sample.desktop8
-rw-r--r--recipes-graphics/libgles/libgles-omap3_4.05.00.03.bb29
-rw-r--r--recipes-graphics/libgles/libgles-omap3_4.09.00.01.bb46
-rw-r--r--recipes-graphics/libgles/libgles-omap3_5.01.01.01.bb50
-rw-r--r--recipes-graphics/libgles/libgles-omap3_5.01.01.02.bb50
34 files changed, 0 insertions, 3702 deletions
diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0001-PoC-GFX-SDK-Make-5_01_01_01-work-against-3.14-LTS.patch b/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0001-PoC-GFX-SDK-Make-5_01_01_01-work-against-3.14-LTS.patch
deleted file mode 100644
index e5410798..00000000
--- a/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0001-PoC-GFX-SDK-Make-5_01_01_01-work-against-3.14-LTS.patch
+++ /dev/null
@@ -1,52 +0,0 @@
1From e2db38959a70d1be604a297276a0b0c2ac219bf5 Mon Sep 17 00:00:00 2001
2From: Darren Etheridge <detheridge@ti.com>
3Date: Tue, 29 Jul 2014 16:06:17 -0500
4Subject: [PATCH 1/4] PoC: GFX: SDK: Make 5_01_01_01 work against 3.14 LTS
5
6An API rename is the main change. Also hacked in some function prototypes
7for enabling use of the tilcdc DRM driver instead of the fbdev driver on
8AM335x. However this all really needs a good cleanup as it is hacky at
9the moment.
10
11Signed-off-by: Darren Etheridge <detheridge@ti.com>
12---
13 GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c | 5 +++++
14 GFX_Linux_KM/services4/srvkm/env/linux/mutils.h | 6 +++++-
15 2 files changed, 10 insertions(+), 1 deletion(-)
16
17diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
18index 5c3fc48..3857b95 100644
19--- a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
20+++ b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
21@@ -93,6 +93,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 #include <linux/mutex.h>
23
24 #include <video/da8xx-fb.h>
25+/* used by SGX OMAPLFB drvier */
26+typedef void (*vsync_callback_t)(void *arg);
27+int register_vsync_cb(vsync_callback_t handler, void *arg, int idx);
28+int unregister_vsync_cb(vsync_callback_t handler, void *arg, int idx);
29+
30 #if defined(PVR_OMAPLFB_DRM_FB)
31 #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,0,0))
32 #include <plat/display.h>
33diff --git a/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h b/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h
34index 31e0dac..90ec41c 100644
35--- a/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h
36+++ b/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h
37@@ -79,7 +79,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
38 #define IOREMAP(pa, bytes) ioremap_cache(pa, bytes)
39 #else
40 #if defined(__arm__) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
41- #define IOREMAP(pa, bytes) ioremap_cached(pa, bytes)
42+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0))
43+ #define IOREMAP(pa, bytes) ioremap_cache(pa, bytes)
44+ #else
45+ #define IOREMAP(pa, bytes) ioremap_cached(pa, bytes)
46+ #endif
47 #else
48 #define IOREMAP(pa, bytes) ioremap(pa, bytes)
49 #endif
50--
511.9.1
52
diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0002-SGX-linux-use-platform-data-to-provide-reset-info.patch b/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0002-SGX-linux-use-platform-data-to-provide-reset-info.patch
deleted file mode 100644
index 5a8d1f1e..00000000
--- a/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0002-SGX-linux-use-platform-data-to-provide-reset-info.patch
+++ /dev/null
@@ -1,121 +0,0 @@
1From 7886ef77e4b48a7edd14acbcbe48f6a898251e78 Mon Sep 17 00:00:00 2001
2From: Darren Etheridge <detheridge@ti.com>
3Date: Fri, 25 Jul 2014 16:03:14 -0500
4Subject: [PATCH 2/5] SGX: linux: use platform data to provide reset info
5
6In ti-linux-3.14.y we will not have a reset driver unlike ti-linux-3.12.y
7so this commit removes the dependency on the reset driver and instead
8uses the platform data that in a dt environment is configured in
9mach-omap2/pdata-quirks.c
10
11Signed-off-by: Darren Etheridge <detheridge@ti.com>
12---
13 GFX_Linux_KM/services4/srvkm/env/linux/module.c | 34 ++++++++++++++++++++-----
14 1 file changed, 28 insertions(+), 6 deletions(-)
15
16diff --git a/GFX_Linux_KM/services4/srvkm/env/linux/module.c b/GFX_Linux_KM/services4/srvkm/env/linux/module.c
17index e03dc00..90e16ce 100644
18--- a/GFX_Linux_KM/services4/srvkm/env/linux/module.c
19+++ b/GFX_Linux_KM/services4/srvkm/env/linux/module.c
20@@ -47,6 +47,10 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 #endif
22 #endif
23
24+#ifndef CONFIG_RESET_CONTROLLER
25+#include <linux/platform_data/sgx-omap.h>
26+#endif
27+
28 #if defined(SUPPORT_DRI_DRM) && !defined(SUPPORT_DRI_DRM_PLUGIN)
29 #define PVR_MOD_STATIC
30 #else
31@@ -344,9 +348,11 @@ static LDM_DRV powervr_driver = {
32 LDM_DEV *gpsPVRLDMDev;
33
34 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
35+#ifdef CONFIG_RESET_CONTROLLER
36 struct reset_control *rstc;
37 bool already_deasserted = false;
38 #endif
39+#endif
40
41 #if defined(MODULE) && defined(PVR_LDM_PLATFORM_MODULE) && \
42 !defined(PVR_USE_PRE_REGISTERED_PLATFORM_DEV)
43@@ -388,11 +394,14 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device
44 #endif
45 {
46 SYS_DATA *psSysData;
47- int ret;
48+ int ret;
49+ struct device *dev = &pDevice->dev;
50+ struct gfx_sgx_platform_data *pdata = dev->platform_data;
51+
52 PVR_TRACE(("PVRSRVDriverProbe(pDevice=%p)", pDevice));
53 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
54+#ifdef CONFIG_RESET_CONTROLLER
55 rstc = reset_control_get(&pDevice->dev, NULL);
56-
57 if (IS_ERR(rstc))
58 {
59 dev_err(&pDevice->dev, "%s: error: reset_control_get\n", __func__);
60@@ -403,7 +412,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device
61
62 if (ret < 0)
63 {
64- dev_err(&pDevice->dev, "%s: error: reset_control_clear_reset\n", __func__);
65+ dev_err(dev, "%s: error: reset_control_clear_reset\n", __func__);
66 return ret;
67 }
68
69@@ -413,11 +422,22 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device
70 {
71 already_deasserted = true;
72 }
73- else if (ret < 0)
74+ else if (ret < 0)
75 {
76- dev_err(&pDevice->dev, "%s: error: reset_control_deassert\n", __func__);
77+ dev_err(dev, "%s: error: reset_control_deassert\n", __func__);
78 return ret;
79 }
80+#else
81+ if (pdata && pdata->deassert_reset) {
82+ ret = pdata->deassert_reset(pDevice, pdata->reset_name);
83+ if (ret) {
84+ dev_err(dev, "Unable to reset SGX!\n");
85+ }
86+ } else {
87+ dev_err(dev, "SGX Platform data missing deassert_reset!\n");
88+ return -ENODEV;
89+ }
90+#endif /* CONFIG_RESET_CONTROLLER */
91 #endif
92
93 #if 0 /* INTEGRATION_POINT */
94@@ -432,7 +452,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device
95 {
96 return -EINVAL;
97 }
98-#endif
99+#endif
100 /* SysInitialise only designed to be called once.
101 */
102 psSysData = SysAcquireDataNoCheck();
103@@ -445,6 +465,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device
104 }
105 }
106 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
107+#ifdef CONFIG_RESET_CONTROLLER
108 if (!already_deasserted)
109 {
110 ret = reset_control_is_reset(rstc);
111@@ -454,6 +475,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device
112 }
113 }
114 reset_control_put(rstc);
115+#endif /* CONFIG_RESET_CONTROLLER */
116 #endif
117
118 return PVRSRVIONClientCreate();
119--
1201.9.1
121
diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0003-SGX-displayclass-am335x-am437x-fix-mutex-deadlock-wa.patch b/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0003-SGX-displayclass-am335x-am437x-fix-mutex-deadlock-wa.patch
deleted file mode 100644
index 0e2902d3..00000000
--- a/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0003-SGX-displayclass-am335x-am437x-fix-mutex-deadlock-wa.patch
+++ /dev/null
@@ -1,153 +0,0 @@
1From cf5156ff82e14fe01a194f9fa9a9adc528ac72f0 Mon Sep 17 00:00:00 2001
2From: Darren Etheridge <detheridge@ti.com>
3Date: Tue, 29 Jul 2014 15:39:56 -0500
4Subject: [PATCH 3/4] SGX: displayclass: am335x, am437x - fix mutex deadlock
5 warning
6
7Rearrange the locking semantics in the Unblank screen function to
8remove the kernel warning about a possible deadlock scenario.
9
10The warning presents itself on the console like this:
11[ 2976.202979] ======================================================
12[ 2976.202983] [ INFO: possible circular locking dependency detected ]
13[ 2976.202994] 3.14.11-00997-gb20d0ac-dirty #53 Tainted: G O
14[ 2976.202997] -------------------------------------------------------
15[ 2976.203005] OGLES2Chameleon/1203 is trying to acquire lock:
16[ 2976.203058] (console_lock){+.+.+.}, at: [<bf07a310>]
17OMAPLFBUnblankDisplay+0x24/0xbc [omaplfb]
18[ 2976.203062]
19[ 2976.203062] but task is already holding lock:
20[ 2976.203087] (&fb_info->lock){+.+.+.}, at: [<c0312358>]
21lock_fb_info+0x18/0x3c
22[ 2976.203090]
23[ 2976.203090] which lock already depends on the new lock.
24[ 2976.203090]
25[ 2976.203093]
26[ 2976.203093] the existing dependency chain (in reverse order) is:
27[ 2976.203101]
28[ 2976.203101] -> #1 (&fb_info->lock){+.+.+.}:
29[ 2976.203112] [<c0312358>] lock_fb_info+0x18/0x3c
30[ 2976.203124] [<c0313a7c>] register_framebuffer+0x174/0x26c
31[ 2976.203146] [<c033c314>] omapfb_create_framebuffers+0x48c/0x7ac
32[ 2976.203157] [<c033d3c4>] omapfb_probe+0x4d4/0x848
33[ 2976.203170] [<c0381cc8>] platform_drv_probe+0x18/0x48
34[ 2976.203189] [<c038096c>] driver_probe_device+0x10c/0x238
35[ 2976.203199] [<c0380b2c>] __driver_attach+0x94/0x98
36[ 2976.203208] [<c037f0f0>] bus_for_each_dev+0x54/0x88
37[ 2976.203216] [<c03800f0>] bus_add_driver+0xd8/0x1d8
38[ 2976.203223] [<c038115c>] driver_register+0x78/0xf4
39[ 2976.203234] [<c0008968>] do_one_initcall+0xe4/0x144
40[ 2976.203250] [<c07d3c18>] kernel_init_freeable+0xfc/0x1cc
41[ 2976.203261] [<c0563260>] kernel_init+0x8/0xec
42[ 2976.203275] [<c000e648>] ret_from_fork+0x14/0x2c
43[ 2976.203284]
44[ 2976.203284] -> #0 (console_lock){+.+.+.}:
45[ 2976.203301] [<c008bc00>] console_lock+0x4c/0x60
46[ 2976.203328] [<bf07a310>] OMAPLFBUnblankDisplay+0x24/0xbc [omaplfb]
47[ 2976.203340] [<bf0797f4>] OpenDCDevice+0x60/0x78 [omaplfb]
48[ 2976.203459] [<bf041ac0>] PVRSRVOpenDCDeviceKM+0xec/0x178 [pvrsrvkm]
49[ 2976.203654] [<bf05645c>] PVRSRVOpenDCDeviceBW+0x6c/0xac [pvrsrvkm]
50[ 2976.203811] [<bf056d10>] BridgedDispatchKM+0xf4/0x14c [pvrsrvkm]
51[ 2976.203966] [<bf04f304>] PVRSRV_BridgeDispatchKM+0xf0/0x204
52[pvrsrvkm]
53[ 2976.203987] [<c0129500>] do_vfs_ioctl+0x78/0x61c
54[ 2976.203997] [<c0129b08>] SyS_ioctl+0x64/0x74
55[ 2976.204013] [<c000e580>] ret_fast_syscall+0x0/0x48
56[ 2976.204016]
57[ 2976.204016] other info that might help us debug this:
58[ 2976.204016]
59[ 2976.204019] Possible unsafe locking scenario:
60[ 2976.204019]
61[ 2976.204022] CPU0 CPU1
62[ 2976.204024] ---- ----
63[ 2976.204030] lock(&fb_info->lock);
64[ 2976.204036] lock(console_lock);
65[ 2976.204041] lock(&fb_info->lock);
66[ 2976.204046] lock(console_lock);
67[ 2976.204048]
68[ 2976.204048] *** DEADLOCK ***
69[ 2976.204048]
70[ 2976.204055] 2 locks held by OGLES2Chameleon/1203:
71[ 2976.204217] #0: (psPVRSRVMutex#2/1){+.+.+.}, at: [<bf04f238>]
72PVRSRV_BridgeDispatchKM+0x24/0x204 [pvrsrvkm]
73[ 2976.204240] #1: (&fb_info->lock){+.+.+.}, at: [<c0312358>]
74lock_fb_info+0x18/0x3c
75
76Signed-off-by: Darren Etheridge <detheridge@ti.com>
77---
78 GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c | 8 +++++---
79 GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c | 7 +++++--
80 2 files changed, 10 insertions(+), 5 deletions(-)
81
82diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
83index 3857b95..a5cc7d0 100644
84--- a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
85+++ b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
86@@ -812,10 +812,13 @@ static OMAPLFB_ERROR OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM
87 {
88 #ifdef FBDEV_PRESENT
89 int res;
90+
91+ OMAPLFB_CONSOLE_LOCK();
92 if (!lock_fb_info(psDevInfo->psLINFBInfo))
93 {
94 printk(KERN_ERR DRIVER_PREFIX
95 ": %s: Device %u: Couldn't lock FB info\n", __FUNCTION__, psDevInfo->uiFBDevID);
96+ OMAPLFB_CONSOLE_UNLOCK();
97 return (OMAPLFB_ERROR_GENERIC);
98 }
99
100@@ -825,14 +828,13 @@ static OMAPLFB_ERROR OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM
101 * notification.
102 */
103
104-
105- OMAPLFB_CONSOLE_LOCK();
106 psDevInfo->psLINFBInfo->flags |= FBINFO_MISC_USEREVENT;
107 res = fb_blank(psDevInfo->psLINFBInfo, bBlank ? 1 : 0);
108 psDevInfo->psLINFBInfo->flags &= ~FBINFO_MISC_USEREVENT;
109
110- OMAPLFB_CONSOLE_UNLOCK();
111 unlock_fb_info(psDevInfo->psLINFBInfo);
112+ OMAPLFB_CONSOLE_UNLOCK();
113+
114 if (res != 0 && res != -EINVAL)
115 {
116 printk(KERN_ERR DRIVER_PREFIX
117diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c
118index c79dbd0..58b8640 100755
119--- a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c
120+++ b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c
121@@ -948,10 +948,13 @@ static OMAPLFB_ERROR OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM
122 {
123 #ifdef FBDEV_PRESENT
124 int res;
125+
126+ OMAPLFB_CONSOLE_LOCK();
127 if (!lock_fb_info(psDevInfo->psLINFBInfo))
128 {
129 printk(KERN_ERR DRIVER_PREFIX
130 ": %s: Device %u: Couldn't lock FB info\n", __FUNCTION__, psDevInfo->uiFBDevID);
131+ OMAPLFB_CONSOLE_UNLOCK();
132 return (OMAPLFB_ERROR_GENERIC);
133 }
134
135@@ -961,13 +964,13 @@ static OMAPLFB_ERROR OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM
136 * notification.
137 */
138
139- OMAPLFB_CONSOLE_LOCK();
140 psDevInfo->psLINFBInfo->flags |= FBINFO_MISC_USEREVENT;
141 res = fb_blank(psDevInfo->psLINFBInfo, bBlank ? 1 : 0);
142 psDevInfo->psLINFBInfo->flags &= ~FBINFO_MISC_USEREVENT;
143
144- OMAPLFB_CONSOLE_UNLOCK();
145 unlock_fb_info(psDevInfo->psLINFBInfo);
146+ OMAPLFB_CONSOLE_UNLOCK();
147+
148 if (res != 0 && res != -EINVAL)
149 {
150 printk(KERN_ERR DRIVER_PREFIX
151--
1521.9.1
153
diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0004-SGX-linux-make-it-building-against-ti-linux-3.14.y.patch b/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0004-SGX-linux-make-it-building-against-ti-linux-3.14.y.patch
deleted file mode 100644
index ebd7e71b..00000000
--- a/recipes-bsp/powervr-drivers/omap3-sgx-modules-5.01.01.01/0004-SGX-linux-make-it-building-against-ti-linux-3.14.y.patch
+++ /dev/null
@@ -1,45 +0,0 @@
1From c9258e090aec91e70efa814e5a38048b0c45754a Mon Sep 17 00:00:00 2001
2From: Darren Etheridge <detheridge@ti.com>
3Date: Tue, 29 Jul 2014 15:54:14 -0500
4Subject: [PATCH 4/4] SGX: linux: make it building against ti-linux-3.14.y
5
6The fbdev drivers moved into their own directory under drivers/video.
7All of the omap2 dss stuff moved there as well so update the Makefile
8to point to the right place.
9
10Keep the old directory around to not break builds against older kernel.
11
12Signed-off-by: Darren Etheridge <detheridge@ti.com>
13Signed-off-by: Denys Dmytriyenko <denys@ti.com>
14---
15 GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild | 1 +
16 GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild | 1 +
17 2 files changed, 2 insertions(+)
18
19diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild
20index 1ae2359..9e0c843 100755
21--- a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild
22+++ b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild
23@@ -15,6 +15,7 @@ EXTRA_CFLAGS = -DLINUX \
24 -I$(PVR_BUILD_DIR)/services4/include \
25 -I$(PVR_BUILD_DIR)/services4/system/$(PVR_SYSTEM) \
26 -I$(KERNELDIR)/drivers/video/omap2 \
27+ -I$(KERNELDIR)/drivers/video/fbdev/omap2 \
28 -I$(PVR_BUILD_DIR)/services4/system/include \
29 $(SYS_CFLAGS.1) \
30
31diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild
32index 1ae2359..9e0c843 100755
33--- a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild
34+++ b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild
35@@ -15,6 +15,7 @@ EXTRA_CFLAGS = -DLINUX \
36 -I$(PVR_BUILD_DIR)/services4/include \
37 -I$(PVR_BUILD_DIR)/services4/system/$(PVR_SYSTEM) \
38 -I$(KERNELDIR)/drivers/video/omap2 \
39+ -I$(KERNELDIR)/drivers/video/fbdev/omap2 \
40 -I$(PVR_BUILD_DIR)/services4/system/include \
41 $(SYS_CFLAGS.1) \
42
43--
442.0.2
45
diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules-x11_4.09.00.01.bb b/recipes-bsp/powervr-drivers/omap3-sgx-modules-x11_4.09.00.01.bb
deleted file mode 100644
index f033effc..00000000
--- a/recipes-bsp/powervr-drivers/omap3-sgx-modules-x11_4.09.00.01.bb
+++ /dev/null
@@ -1,81 +0,0 @@
1DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs (for X11)"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=ea5743acf520dd81ca172e69f818a3d4"
4
5TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
6require ../../recipes-ti/includes/ti-eula-unpack.inc
7
8SGXPV = "4_09_00_01"
9IMGPV = "1.9.2188537"
10
11inherit module
12
13MACHINE_KERNEL_PR_append = "d"
14PR = "${MACHINE_KERNEL_PR}"
15
16# Select the corresponding hardfp/softfp filename and checksums based on tune flags
17BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
18MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d"
19SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
20
21BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin"
22MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67"
23SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b"
24
25BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}"
26
27SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE}"
28
29SRC_URI[md5sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}"
30SRC_URI[sha256sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}"
31
32TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
33S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
34
35PVRBUILD = "release"
36export KERNELDIR = "${STAGING_KERNEL_DIR}"
37
38INHIBIT_PACKAGE_STRIP = "1"
39
40TI_PLATFORM_omap3 = "omap3630"
41TI_PLATFORM_ti814x = "ti81xx"
42TI_PLATFORM_ti816x = "ti81xx"
43TI_PLATFORM_ti33x = "ti335x"
44
45MODULESLOCATION_omap3 = "dc_omapfb3_linux"
46MODULESLOCATION_ti814x = "dc_ti81xx_linux"
47MODULESLOCATION_ti816x = "dc_ti81xx_linux"
48MODULESLOCATION_ti33x = "dc_ti335x_linux"
49
50export SUPPORT_XORG ?= "1"
51
52MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
53
54do_compile() {
55 export TOOLCHAIN="${TOOLCHAIN_PATH}"
56 export PLAT_CC="${CC}"
57 export PLAT_CPP="${CXX}"
58 export PLAR_AR="${AR}"
59 for kernelver in ${WORKDIR}/../../${PREFERRED_PROVIDER_virtual/kernel}/* ; do
60 cp -f $kernelver/git/drivers/gpu/drm/*.c ${S}/services4/3rdparty/linux_drm/
61 done
62 if [ $(echo -e "${KERNEL_VERSION}\n3.3" | sort --version-sort | head -1) = "3.3" ] ; then
63 cp -f ${S}/services4/3rdparty/linux_drm/Kbuild_3.3 \
64 ${S}/services4/3rdparty/linux_drm/Kbuild || true
65 else
66 if [ $(echo -e "${KERNEL_VERSION}\n3.2" | sort --version-sort | head -1) = "3.2" ] ; then
67 cp -f ${S}/services4/3rdparty/linux_drm/Kbuild_3.2 \
68 ${S}/services4/3rdparty/linux_drm/Kbuild || true
69 fi
70 fi
71 oe_runmake BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}
72}
73
74do_install() {
75 mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
76 cp ${S}/pvrsrvkm.ko \
77 ${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
78 ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
79
80 cp ${S}/services4/3rdparty/linux_drm/drm.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
81}
diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules/Compile-fixes-for-38-kernel.patch b/recipes-bsp/powervr-drivers/omap3-sgx-modules/Compile-fixes-for-38-kernel.patch
deleted file mode 100644
index fc315bce..00000000
--- a/recipes-bsp/powervr-drivers/omap3-sgx-modules/Compile-fixes-for-38-kernel.patch
+++ /dev/null
@@ -1,346 +0,0 @@
1--- GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.c-orig 2011-03-08 04:27:35.000000000 -0800
2+++ GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.c 2011-03-17 13:11:31.000000000 -0700
3@@ -235,9 +235,20 @@ static OMAP_ERROR UnblankDisplay(OMAPLFB
4 {
5 int res;
6
7+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
8+ console_lock();
9+#else
10 acquire_console_sem();
11+#endif
12+
13 res = fb_blank(psDevInfo->psLINFBInfo, 0);
14+
15+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
16+ console_unlock();
17+#else
18 release_console_sem();
19+#endif
20+
21 #if !defined (CONFIG_OMAP2_DSS)
22 if (res != 0 && res != -EINVAL)
23 {
24@@ -1118,7 +1129,11 @@ static OMAP_ERROR InitDev(OMAPLFB_DEVINF
25 OMAP_ERROR eError = OMAP_ERROR_GENERIC;
26 unsigned long FBSize;
27
28+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
29+ console_lock();
30+#else
31 acquire_console_sem();
32+#endif
33
34 if (fb_idx < 0 || fb_idx >= num_registered_fb)
35 {
36@@ -1254,7 +1269,11 @@ static OMAP_ERROR InitDev(OMAPLFB_DEVINF
37 errModPut:
38 module_put(psLINFBOwner);
39 errRelSem:
40+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
41+ console_unlock();
42+#else
43 release_console_sem();
44+#endif
45 return eError;
46 }
47
48@@ -1263,7 +1282,11 @@ static void DeInitDev(OMAPLFB_DEVINFO *p
49 struct fb_info *psLINFBInfo = psDevInfo->psLINFBInfo;
50 struct module *psLINFBOwner;
51
52+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
53+ console_lock();
54+#else
55 acquire_console_sem();
56+#endif
57
58 psLINFBOwner = psLINFBInfo->fbops->owner;
59
60@@ -1274,7 +1297,11 @@ static void DeInitDev(OMAPLFB_DEVINFO *p
61
62 module_put(psLINFBOwner);
63
64+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
65+ console_unlock();
66+#else
67 release_console_sem();
68+#endif
69 }
70
71 OMAP_ERROR OMAPLFBInit(void)
72--- GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c-orig 2011-03-08 04:27:35.000000000 -0800
73+++ GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c 2011-03-17 13:40:15.000000000 -0700
74@@ -24,11 +24,14 @@
75 *
76 ******************************************************************************/
77
78+#include <linux/version.h>
79+
80+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
81 #ifndef AUTOCONF_INCLUDED
82 #include <linux/config.h>
83 #endif
84+#endif
85
86-#include <linux/version.h>
87 #include <linux/module.h>
88
89 #include <linux/pci.h>
90--- GFX_Linux_KM/services4/srvkm/common/resman.c-orig 2011-03-08 04:27:36.000000000 -0800
91+++ GFX_Linux_KM/services4/srvkm/common/resman.c 2011-03-17 14:20:07.000000000 -0700
92@@ -24,15 +24,17 @@
93 *
94 ******************************************************************************/
95
96+#include <linux/version.h>
97 #include "services_headers.h"
98 #include "resman.h"
99
100 #ifdef __linux__
101+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
102 #ifndef AUTOCONF_INCLUDED
103 #include <linux/config.h>
104 #endif
105+#endif
106
107-#include <linux/version.h>
108 #include <linux/sched.h>
109 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,9)
110 #include <linux/hardirq.h>
111--- GFX_Linux_KM/services4/srvkm/env/linux/pvr_debug.c-orig 2011-03-08 04:27:36.000000000 -0800
112+++ GFX_Linux_KM/services4/srvkm/env/linux/pvr_debug.c 2011-03-17 14:33:09.000000000 -0700
113@@ -24,9 +24,13 @@
114 *
115 ******************************************************************************/
116
117+#include <linux/version.h>
118+
119+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
120 #ifndef AUTOCONF_INCLUDED
121 #include <linux/config.h>
122 #endif
123+#endif
124
125 #include <asm/io.h>
126 #include <asm/uaccess.h>
127--- GFX_Linux_KM/services4/srvkm/env/linux/pvr_uaccess.h-orig 2011-03-08 04:27:36.000000000 -0800
128+++ GFX_Linux_KM/services4/srvkm/env/linux/pvr_uaccess.h 2011-03-17 14:39:14.000000000 -0700
129@@ -27,11 +27,14 @@
130 #ifndef __PVR_UACCESS_H__
131 #define __PVR_UACCESS_H__
132
133+#include <linux/version.h>
134+
135+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
136 #ifndef AUTOCONF_INCLUDED
137 #include <linux/config.h>
138 #endif
139+#endif
140
141-#include <linux/version.h>
142 #include <asm/uaccess.h>
143
144 static inline unsigned long pvr_copy_to_user(void __user *pvTo, const void *pvFrom, unsigned long ulBytes)
145--- GFX_Linux_KM/services4/srvkm/env/linux/mm.c-orig 2011-03-08 04:27:36.000000000 -0800
146+++ GFX_Linux_KM/services4/srvkm/env/linux/mm.c 2011-03-17 14:46:23.000000000 -0700
147@@ -24,11 +24,14 @@
148 *
149 ******************************************************************************/
150
151+#include <linux/version.h>
152+
153+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
154 #ifndef AUTOCONF_INCLUDED
155 #include <linux/config.h>
156 #endif
157+#endif
158
159-#include <linux/version.h>
160 #include <linux/mm.h>
161 #include <linux/vmalloc.h>
162 #include <asm/io.h>
163--- GFX_Linux_KM/services4/srvkm/env/linux/mutils.h-orig 2011-03-08 04:27:36.000000000 -0800
164+++ GFX_Linux_KM/services4/srvkm/env/linux/mutils.h 2011-03-17 14:54:37.000000000 -0700
165@@ -27,11 +27,13 @@
166 #ifndef __IMG_LINUX_MUTILS_H__
167 #define __IMG_LINUX_MUTILS_H__
168
169+#include <linux/version.h>
170+
171+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
172 #ifndef AUTOCONF_INCLUDED
173 #include <linux/config.h>
174 #endif
175-
176-#include <linux/version.h>
177+#endif
178
179 #if !(defined(__i386__) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)))
180 #if defined(SUPPORT_LINUX_X86_PAT)
181--- GFX_Linux_KM/services4/srvkm/env/linux/mm.h-orig 2011-03-08 04:27:36.000000000 -0800
182+++ GFX_Linux_KM/services4/srvkm/env/linux/mm.h 2011-03-17 15:33:56.000000000 -0700
183@@ -27,11 +27,14 @@
184 #ifndef __IMG_LINUX_MM_H__
185 #define __IMG_LINUX_MM_H__
186
187+#include <linux/version.h>
188+
189+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
190 #ifndef AUTOCONF_INCLUDED
191 #include <linux/config.h>
192 #endif
193+#endif
194
195-#include <linux/version.h>
196 #include <linux/slab.h>
197 #include <linux/mm.h>
198 #include <linux/list.h>
199--- GFX_Linux_KM/services4/srvkm/env/linux/mmap.c-orig 2011-03-17 20:39:31.000000000 -0700
200+++ GFX_Linux_KM/services4/srvkm/env/linux/mmap.c 2011-03-17 20:40:00.000000000 -0700
201@@ -24,11 +24,14 @@
202 *
203 ******************************************************************************/
204
205+#include <linux/version.h>
206+
207+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
208 #ifndef AUTOCONF_INCLUDED
209 #include <linux/config.h>
210 #endif
211+#endif
212
213-#include <linux/version.h>
214 #include <linux/mm.h>
215 #include <linux/module.h>
216 #include <linux/vmalloc.h>
217--- GFX_Linux_KM/services4/srvkm/env/linux/proc.c-orig 2011-03-08 04:27:36.000000000 -0800
218+++ GFX_Linux_KM/services4/srvkm/env/linux/proc.c 2011-03-17 21:01:35.000000000 -0700
219@@ -24,13 +24,16 @@
220 *
221 ******************************************************************************/
222
223+#include <linux/version.h>
224+
225+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
226 #ifndef AUTOCONF_INCLUDED
227 #include <linux/config.h>
228 #endif
229+#endif
230
231 #include <linux/init.h>
232 #include <linux/module.h>
233-#include <linux/version.h>
234 #include <linux/fs.h>
235 #include <linux/proc_fs.h>
236 #include <linux/seq_file.h>
237--- GFX_Linux_KM/services4/srvkm/env/linux/module.c-orig 2011-03-08 04:27:36.000000000 -0800
238+++ GFX_Linux_KM/services4/srvkm/env/linux/module.c 2011-03-17 21:32:19.000000000 -0700
239@@ -24,9 +24,13 @@
240 *
241 ******************************************************************************/
242
243+#include <linux/version.h>
244+
245+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
246 #ifndef AUTOCONF_INCLUDED
247 #include <linux/config.h>
248 #endif
249+#endif
250
251 #if !defined(SUPPORT_DRI_DRM)
252
253@@ -44,7 +48,6 @@
254 #include <linux/init.h>
255 #include <linux/kernel.h>
256 #include <linux/module.h>
257-#include <linux/version.h>
258 #include <linux/fs.h>
259 #include <linux/proc_fs.h>
260
261--- GFX_Linux_KM/services4/srvkm/env/linux/event.c-orig 2011-03-08 04:27:36.000000000 -0800
262+++ GFX_Linux_KM/services4/srvkm/env/linux/event.c 2011-03-18 08:51:42.000000000 -0700
263@@ -24,11 +24,14 @@
264 *
265 ******************************************************************************/
266
267+#include <linux/version.h>
268+
269+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
270 #ifndef AUTOCONF_INCLUDED
271 #include <linux/config.h>
272 #endif
273+#endif
274
275-#include <linux/version.h>
276 #include <asm/io.h>
277 #include <asm/page.h>
278 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22))
279--- GFX_Linux_KM/services4/srvkm/env/linux/osfunc.c-orig 2011-03-08 04:27:36.000000000 -0800
280+++ GFX_Linux_KM/services4/srvkm/env/linux/osfunc.c 2011-03-18 08:58:16.000000000 -0700
281@@ -24,11 +24,14 @@
282 *
283 ******************************************************************************/
284
285+#include <linux/version.h>
286+
287+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
288 #ifndef AUTOCONF_INCLUDED
289 #include <linux/config.h>
290 #endif
291+#endif
292
293-#include <linux/version.h>
294 #include <asm/io.h>
295 #include <asm/page.h>
296 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22))
297--- GFX_Linux_KM/services4/srvkm/env/linux/pvr_drm.c-orig 2011-03-08 04:27:36.000000000 -0800
298+++ GFX_Linux_KM/services4/srvkm/env/linux/pvr_drm.c 2011-03-18 09:01:06.000000000 -0700
299@@ -26,14 +26,17 @@
300
301 #if defined(SUPPORT_DRI_DRM)
302
303+#include <linux/version.h>
304+
305+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
306 #ifndef AUTOCONF_INCLUDED
307 #include <linux/config.h>
308 #endif
309+#endif
310
311 #include <linux/init.h>
312 #include <linux/kernel.h>
313 #include <linux/module.h>
314-#include <linux/version.h>
315 #include <linux/fs.h>
316 #include <linux/proc_fs.h>
317 #include <asm/ioctl.h>
318--- GFX_Linux_KM/services4/srvkm/env/linux/mutils.c-orig 2011-03-08 04:27:36.000000000 -0800
319+++ GFX_Linux_KM/services4/srvkm/env/linux/mutils.c 2011-03-18 09:08:12.000000000 -0700
320@@ -24,10 +24,13 @@
321 *
322 ******************************************************************************/
323
324+#include <linux/version.h>
325+
326+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
327 #ifndef AUTOCONF_INCLUDED
328 #include <linux/config.h>
329 #endif
330-#include <linux/version.h>
331+#endif
332
333 #include <linux/spinlock.h>
334 #include <linux/mm.h>
335--- GFX_Linux_KM/services4/srvkm/env/linux/pvr_debug.c-orig 2011-03-31 13:46:48.000000000 -0700
336+++ GFX_Linux_KM/services4/srvkm/env/linux/pvr_debug.c 2011-03-31 15:14:10.000000000 -0700
337@@ -76,7 +76,8 @@ static IMG_CHAR gszBufferIRQ[PVR_MAX_MSG
338 static PVRSRV_LINUX_MUTEX gsDebugMutexNonIRQ;
339
340
341-static spinlock_t gsDebugLockIRQ = SPIN_LOCK_UNLOCKED;
342+static DEFINE_SPINLOCK(gsDebugLockIRQ);
343+
344
345 #if !defined (USE_SPIN_LOCK)
346 #define USE_SPIN_LOCK (in_interrupt() || !preemptible())
diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules/kernel-30.patch b/recipes-bsp/powervr-drivers/omap3-sgx-modules/kernel-30.patch
deleted file mode 100644
index 269d459b..00000000
--- a/recipes-bsp/powervr-drivers/omap3-sgx-modules/kernel-30.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1From: Steve Sakoman
2Subject: omap3-sgx-modules: Fix build for Linux 3.0
3
4This patch implements the header change from plat/display.h to video/omapdss.h
5
6Signed-off-by: Steve Sakoman <steve at sakoman.com>
7
8--- GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c-orig 2011-08-01 07:21:45.000000000 -0700
9+++ GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c 2011-08-01 07:29:32.000000000 -0700
10@@ -47,12 +47,12 @@
11 #if defined (SUPPORT_TI_DSS_FW)
12 #include <asm/io.h>
13
14-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,26))
15-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,31))
16+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,39)))
17+#include <video/omapdss.h>
18+#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,31))
19 #include <plat/display.h>
20-#else
21+#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,26))
22 #include <mach/display.h>
23-#endif
24 #else
25 #include <asm/arch-omap/display.h>
26 #endif
27@@ -64,7 +64,11 @@ extern int omap_dispc_request_irq(unsign
28 extern void omap_dispc_free_irq(unsigned long, void (*)(void *), void *);
29 extern void omap_dispc_set_plane_base(int plane, IMG_UINT32 phys_addr);
30 #else
31+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,39))
32+#include <video/omapdss.h>
33+#else
34 #include <plat/display.h>
35+#endif
36 #include <linux/console.h>
37 #include <linux/fb.h>
38 static omap_dispc_isr_t *pOMAPLFBVSyncISRHandle = NULL;
diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules_4.05.00.03.bb b/recipes-bsp/powervr-drivers/omap3-sgx-modules_4.05.00.03.bb
deleted file mode 100644
index a54a643b..00000000
--- a/recipes-bsp/powervr-drivers/omap3-sgx-modules_4.05.00.03.bb
+++ /dev/null
@@ -1,39 +0,0 @@
1DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=21228a42e27d1d104b31a83f7c9da935"
4
5TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
6require ../../recipes-ti/includes/ti-eula-unpack.inc
7
8SGXPV = "4_05_00_03"
9BINFILE := "Graphics_SDK_setuplinux_${SGXPV}.bin"
10
11inherit module
12
13MACHINE_KERNEL_PR_append = "c"
14PR = "${MACHINE_KERNEL_PR}"
15
16DEFAULT_PREFERENCE_omap3 = "99"
17
18SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/Graphics_SDK_setuplinux_${SGXPV}.bin \
19 "
20SRC_URI[md5sum] = "0e651eaa92bb91760f0b40a17697a7dc"
21SRC_URI[sha256sum] = "bfe764a8959556195545d6fff76f63a489642f345c105bbbc309a3f243c2dd0e"
22TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
23S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
24
25PVRBUILD = "release"
26export KERNELDIR = "${STAGING_KERNEL_DIR}"
27
28INHIBIT_PACKAGE_STRIP = "1"
29
30TI_PLATFORM_omap3 = "omap3630"
31TI_PLATFORM_ti814x = "ti81xx"
32TI_PLATFORM_ti816x = "ti81xx"
33TI_PLATFORM_ti33x = "ti335x"
34
35MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM}"
36
37do_install() {
38 make -C ${STAGING_KERNEL_DIR} SUBDIRS=${B} INSTALL_MOD_PATH=${D} PREFIX=${STAGING_DIR_HOST} modules_install
39}
diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules_4.09.00.01.bb b/recipes-bsp/powervr-drivers/omap3-sgx-modules_4.09.00.01.bb
deleted file mode 100644
index cd6dbe42..00000000
--- a/recipes-bsp/powervr-drivers/omap3-sgx-modules_4.09.00.01.bb
+++ /dev/null
@@ -1,53 +0,0 @@
1DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=ea5743acf520dd81ca172e69f818a3d4"
4
5TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
6require ../../recipes-ti/includes/ti-eula-unpack.inc
7
8SGXPV = "4_09_00_01"
9IMGPV = "1.9.2188537"
10
11inherit module
12
13MACHINE_KERNEL_PR_append = "d"
14PR = "${MACHINE_KERNEL_PR}"
15
16DEFAULT_PREFERENCE = "-1"
17
18# Select the corresponding hardfp/softfp filename and checksums based on tune flags
19BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
20MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d"
21SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
22
23BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin"
24MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67"
25SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b"
26
27BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}"
28
29SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE}"
30
31SRC_URI[md5sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}"
32SRC_URI[sha256sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}"
33
34TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
35S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
36
37PVRBUILD = "release"
38export KERNELDIR = "${STAGING_KERNEL_DIR}"
39
40INHIBIT_PACKAGE_STRIP = "1"
41
42TI_PLATFORM_omap3 = "omap3630"
43TI_PLATFORM_ti814x = "ti81xx"
44TI_PLATFORM_ti816x = "ti81xx"
45TI_PLATFORM_ti33x = "ti335x"
46
47MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=0"
48
49MAKE_TARGETS_append_ti33x = " PM_RUNTIME=1"
50
51do_install() {
52 make -C ${STAGING_KERNEL_DIR} SUBDIRS=${B} INSTALL_MOD_PATH=${D} PREFIX=${STAGING_DIR_HOST} modules_install
53}
diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules_5.01.01.01.bb b/recipes-bsp/powervr-drivers/omap3-sgx-modules_5.01.01.01.bb
deleted file mode 100644
index 1ac60da7..00000000
--- a/recipes-bsp/powervr-drivers/omap3-sgx-modules_5.01.01.01.bb
+++ /dev/null
@@ -1,62 +0,0 @@
1DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://GPL-COPYING;md5=60422928ba677faaa13d6ab5f5baaa1e"
4
5TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
6require ../../recipes-ti/includes/ti-eula-unpack.inc
7
8SGXPV = "5_01_01_01"
9IMGPV = "1.10.2359475"
10
11inherit module
12
13MACHINE_KERNEL_PR_append = "d"
14PR = "${MACHINE_KERNEL_PR}"
15
16BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin"
17MD5SUM_HARDFP = "94acdbd20152c905939c2448d5e80a72"
18SHA256SUM_HARDFP = "7f647bf45a5ce8ba9aaa28c4afe85fced4275f9a4567a1886d4460b76c9051ae"
19
20# For now we only have hardfp version
21python __anonymous() {
22 tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
23 if not tunes:
24 return
25 pkgn = bb.data.getVar("PN", d, 1)
26 pkgv = bb.data.getVar("PV", d, 1)
27 if "callconvention-hard" not in tunes:
28 bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
29 raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
30}
31
32BINFILE := "${BINFILE_HARDFP}"
33
34SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE}"
35
36SRC_URI += "file://0001-PoC-GFX-SDK-Make-5_01_01_01-work-against-3.14-LTS.patch;striplevel=2 \
37 file://0002-SGX-linux-use-platform-data-to-provide-reset-info.patch;striplevel=2 \
38 file://0003-SGX-displayclass-am335x-am437x-fix-mutex-deadlock-wa.patch;striplevel=2 \
39 file://0004-SGX-linux-make-it-building-against-ti-linux-3.14.y.patch;striplevel=2"
40
41SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
42SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
43
44TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
45S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
46
47PVRBUILD = "release"
48export KERNELDIR = "${STAGING_KERNEL_DIR}"
49
50INHIBIT_PACKAGE_STRIP = "1"
51
52TI_PLATFORM_omap3 = "omap3630"
53TI_PLATFORM_ti814x = "ti81xx"
54TI_PLATFORM_ti816x = "ti81xx"
55TI_PLATFORM_ti33x = "ti335x"
56TI_PLATFORM_ti43x = "ti43xx"
57
58MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
59
60do_install() {
61 make -C ${STAGING_KERNEL_DIR} SUBDIRS=${B} INSTALL_MOD_PATH=${D} PREFIX=${STAGING_DIR_HOST} modules_install
62}
diff --git a/recipes-bsp/powervr-drivers/omap3-sgx-modules_5.01.01.02.bb b/recipes-bsp/powervr-drivers/omap3-sgx-modules_5.01.01.02.bb
deleted file mode 100644
index cf042fcd..00000000
--- a/recipes-bsp/powervr-drivers/omap3-sgx-modules_5.01.01.02.bb
+++ /dev/null
@@ -1,58 +0,0 @@
1DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://GPL-COPYING;md5=60422928ba677faaa13d6ab5f5baaa1e"
4
5TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
6require ../../recipes-ti/includes/ti-eula-unpack.inc
7
8SGXPV = "5_01_01_02"
9IMGPV = "1.10.2359475"
10
11inherit module
12
13MACHINE_KERNEL_PR_append = "b"
14PR = "${MACHINE_KERNEL_PR}"
15
16BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin"
17MD5SUM_HARDFP = "94bcb31ea7eb50df1dfa4037055b638e"
18SHA256SUM_HARDFP = "54641222cdb49b03f996cbd6412de227198d9e084f5647d706bbf4217e8cdb07"
19
20# For now we only have hardfp version
21python __anonymous() {
22 tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
23 if not tunes:
24 return
25 pkgn = bb.data.getVar("PN", d, 1)
26 pkgv = bb.data.getVar("PV", d, 1)
27 if "callconvention-hard" not in tunes:
28 bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
29 raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
30}
31
32BINFILE := "${BINFILE_HARDFP}"
33
34SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE}"
35
36
37SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
38SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
39
40TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
41S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
42
43PVRBUILD = "release"
44export KERNELDIR = "${STAGING_KERNEL_DIR}"
45
46INHIBIT_PACKAGE_STRIP = "1"
47
48TI_PLATFORM_omap3 = "omap3630"
49TI_PLATFORM_ti814x = "ti81xx"
50TI_PLATFORM_ti816x = "ti81xx"
51TI_PLATFORM_ti33x = "ti335x"
52TI_PLATFORM_ti43x = "ti43xx"
53
54MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
55
56do_install() {
57 make -C ${STAGING_KERNEL_DIR} SUBDIRS=${B} INSTALL_MOD_PATH=${D} PREFIX=${STAGING_DIR_HOST} modules_install
58}
diff --git a/recipes-graphics/libgles/libgles-omap3-4.09.00.01/rc.pvr b/recipes-graphics/libgles/libgles-omap3-4.09.00.01/rc.pvr
deleted file mode 100755
index 7b5cefa5..00000000
--- a/recipes-graphics/libgles/libgles-omap3-4.09.00.01/rc.pvr
+++ /dev/null
@@ -1,124 +0,0 @@
1#!/bin/sh
2PATH=$PATH:/usr/sbin
3
4# Check if an fb device is available. If not then just go ahead and
5# exit because we have no display.
6fbset > /dev/null 2>&1
7if [ "$?" == "1" ]
8then
9 # looks like there is no display, so let's exit
10 exit 0
11fi
12
13BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
14YRES="$(fbset | grep geom | awk '{print $3}')"
15
16CPUTYPE="$(cputype)"
17
18if [ "$1" = "" ]; then
19 echo PVR-INIT: Please use start, stop, or restart.
20 exit 1
21fi
22
23if [ "$1" = "stop" -o "$1" = "restart" ]; then
24 echo Stopping PVR
25 rmmod bufferclass_ti
26 rmmod omaplfb 2>/dev/null
27 rmmod pvrsrvkm 2>/dev/null
28fi
29
30if [ "$1" = "stop" ]; then
31 exit 0
32fi
33
34# Set RGBA ordering to something the drivers like
35if [ "$BITSPERPIXEL" = "32" ] ; then
36 fbset -rgba 8/16,8/8,8/0,8/24
37fi
38
39# Try to enable triple buffering when there's enough VRAM
40fbset -vyres $(expr $YRES \* 3)
41
42sgxprepare () {
43 echo Starting PVR
44 insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
45
46 if [ "$?" != "0" ]
47 then
48 echo "Could not find pvrsrvkm driver"
49 exit 1
50 fi
51
52 modprobe omaplfb
53 modprobe bufferclass_ti
54
55 pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
56 bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
57
58 if [ -e /dev/pvrsrvkm ] ; then
59 rm -f /dev/pvrsrvkm
60 fi
61
62 mknod /dev/pvrsrvkm c $pvr_maj 0
63 chmod 666 /dev/pvrsrvkm
64
65 touch /etc/powervr-esrev
66
67 SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
68}
69
70sgxfinish () {
71 # Fix up a bug in opkg
72 if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
73 cd /usr/lib
74 ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
75 fi
76
77 if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
78 echo -n "Starting SGX fixup for"
79 echo " ES${ES_REVISION}.x"
80 cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
81 cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
82 echo "${ES_REVISION}" > /etc/powervr-esrev
83 fi
84
85 if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
86}
87
88case $CPUTYPE in
89"OMAP3530")
90 sgxprepare
91
92 devmem2 0x48004B48 w 0x2 > /dev/null
93 devmem2 0x48004B10 w 0x1 > /dev/null
94 devmem2 0x48004B00 w 0x2 > /dev/null
95
96 ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
97
98 sgxfinish
99 ;;
100"TI33XX")
101 sgxprepare
102
103 devmem2 0x44e01104 w 0x0 > /dev/null
104 devmem2 0x44e00904 w 0x2 > /dev/null
105
106 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
107
108 sgxfinish
109 ;;
110"TI816x")
111 sgxprepare
112
113 devmem2 0x48180F04 w 0x0 > /dev/null
114 devmem2 0x48180900 w 0x2 > /dev/null
115 devmem2 0x48180920 w 0x2 > /dev/null
116
117 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
118
119 sgxfinish
120 ;;
121*)
122 echo No SGX hardware, not starting PVR
123 ;;
124esac
diff --git a/recipes-graphics/libgles/libgles-omap3-4.09.00.01/rc_dri.pvr b/recipes-graphics/libgles/libgles-omap3-4.09.00.01/rc_dri.pvr
deleted file mode 100755
index dd1e9421..00000000
--- a/recipes-graphics/libgles/libgles-omap3-4.09.00.01/rc_dri.pvr
+++ /dev/null
@@ -1,136 +0,0 @@
1#!/bin/sh
2PATH=$PATH:/usr/sbin
3
4# Check if an fb device is available. If not then just go ahead and
5# exit because we have no display.
6fbset > /dev/null 2>&1
7if [ "$?" == "1" ]
8then
9 # looks like there is no display, so let's exit
10 exit 0
11fi
12
13BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
14YRES="$(fbset | grep geom | awk '{print $3}')"
15
16CPUTYPE="$(cputype)"
17
18if [ "$1" = "" ]; then
19 echo PVR-INIT: Please use start, stop, or restart.
20 exit 1
21fi
22
23if [ "$1" = "stop" -o "$1" = "restart" ]; then
24 echo Stopping PVR
25
26 # Stop the X Server.
27 #
28 [ -f /tmp/.X0-lock ] && read XPID < /tmp/.X0-lock && [ -n "$XPID" ] && kill $XPID && while [ -e /proc/$XPID ] ; do sleep 1; done
29
30 rmmod bufferclass_ti
31 rmmod pvrsrvkm 2>/dev/null
32 rmmod drm 2>/dev/null
33fi
34
35if [ "$1" = "stop" ]; then
36 exit 0
37fi
38
39# Set RGBA ordering to something the drivers like
40if [ "$BITSPERPIXEL" = "32" ] ; then
41 fbset -rgba 8/16,8/8,8/0,8/24
42fi
43
44# Try to enable triple buffering when there's enough VRAM
45fbset -vyres $(expr $YRES \* 3)
46
47sgxprepare () {
48 echo Starting PVR
49
50 # Start the X Server.
51 # The X Server will load the PVR Services module.
52 #
53 /usr/local/XSGX/bin/X -verbose -config /usr/local/XSGX/etc/xorg.conf &
54
55 modprobe drm
56
57 insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
58
59 if [ "$?" != "0" ]
60 then
61 echo "Could not find pvrsrvkm driver"
62 exit 1
63 fi
64
65 modprobe bufferclass_ti
66
67 pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
68 bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
69
70 if [ -e /dev/pvrsrvkm ] ; then
71 rm -f /dev/pvrsrvkm
72 fi
73
74 mknod /dev/pvrsrvkm c $pvr_maj 0
75 chmod 666 /dev/pvrsrvkm
76
77 touch /etc/powervr-esrev
78
79 SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
80}
81
82sgxfinish () {
83 # Fix up a bug in opkg
84 if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
85 cd /usr/lib
86 ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
87 fi
88
89 if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
90 echo -n "Starting SGX fixup for"
91 echo " ES${ES_REVISION}.x"
92 cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
93 cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
94 echo "${ES_REVISION}" > /etc/powervr-esrev
95 fi
96
97 if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
98}
99
100case $CPUTYPE in
101"OMAP3530")
102 sgxprepare
103
104 devmem2 0x48004B48 w 0x2 > /dev/null
105 devmem2 0x48004B10 w 0x1 > /dev/null
106 devmem2 0x48004B00 w 0x2 > /dev/null
107
108 ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
109
110 sgxfinish
111 ;;
112"TI33XX")
113 sgxprepare
114
115 devmem2 0x44e01104 w 0x0 > /dev/null
116 devmem2 0x44e00904 w 0x2 > /dev/null
117
118 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
119
120 sgxfinish
121 ;;
122"TI816x")
123 sgxprepare
124
125 devmem2 0x48180F04 w 0x0 > /dev/null
126 devmem2 0x48180900 w 0x2 > /dev/null
127 devmem2 0x48180920 w 0x2 > /dev/null
128
129 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
130
131 sgxfinish
132 ;;
133*)
134 echo No SGX hardware, not starting PVR
135 ;;
136esac
diff --git a/recipes-graphics/libgles/libgles-omap3-5.01.01.01/rc.pvr b/recipes-graphics/libgles/libgles-omap3-5.01.01.01/rc.pvr
deleted file mode 100755
index 132749af..00000000
--- a/recipes-graphics/libgles/libgles-omap3-5.01.01.01/rc.pvr
+++ /dev/null
@@ -1,134 +0,0 @@
1#!/bin/sh
2PATH=$PATH:/usr/sbin
3
4# Check if an fb device is available. If not then just go ahead and
5# exit because we have no display.
6fbset > /dev/null 2>&1
7if [ "$?" == "1" ]
8then
9 # looks like there is no display, so let's exit
10 exit 0
11fi
12
13BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
14YRES="$(fbset | grep geom | awk '{print $3}')"
15
16CPUTYPE="$(cputype)"
17
18if [ "$1" = "" ]; then
19 echo PVR-INIT: Please use start, stop, or restart.
20 exit 1
21fi
22
23if [ "$1" = "stop" -o "$1" = "restart" ]; then
24 echo Stopping PVR
25 rmmod bufferclass_ti
26 rmmod omaplfb 2>/dev/null
27 rmmod pvrsrvkm 2>/dev/null
28fi
29
30if [ "$1" = "stop" ]; then
31 exit 0
32fi
33
34# Set RGBA ordering to something the drivers like
35if [ "$BITSPERPIXEL" = "32" ] ; then
36 fbset -rgba 8/16,8/8,8/0,8/24
37fi
38
39# Try to enable triple buffering when there's enough VRAM
40fbset -vyres $(expr $YRES \* 3)
41
42sgxprepare () {
43 echo Starting PVR
44
45 lsmod | grep pvrsrvkm > /dev/null
46
47 if [ "$?" != "0" ]
48 then
49 insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
50
51 if [ "$?" != "0" ]
52 then
53 echo "Could not find pvrsrvkm driver"
54 exit 1
55 fi
56 fi
57
58 modprobe omaplfb
59 modprobe bufferclass_ti
60
61 pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
62 bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
63
64 if [ -e /dev/pvrsrvkm ] ; then
65 rm -f /dev/pvrsrvkm
66 fi
67
68 mknod /dev/pvrsrvkm c $pvr_maj 0
69 chmod 666 /dev/pvrsrvkm
70
71 touch /etc/powervr-esrev
72
73 SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
74}
75
76sgxfinish () {
77 # Fix up a bug in opkg
78 if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
79 cd /usr/lib
80 ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
81 fi
82
83 if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
84 echo -n "Starting SGX fixup for"
85 echo " ES${ES_REVISION}.x"
86 cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
87 cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
88 echo "${ES_REVISION}" > /etc/powervr-esrev
89 fi
90
91 if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
92}
93
94case $CPUTYPE in
95"OMAP3530")
96 sgxprepare
97
98 devmem2 0x48004B48 w 0x2 > /dev/null
99 devmem2 0x48004B10 w 0x1 > /dev/null
100 devmem2 0x48004B00 w 0x2 > /dev/null
101
102 ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
103
104 sgxfinish
105 ;;
106"TI33XX")
107 sgxprepare
108
109 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
110
111 sgxfinish
112 ;;
113"TI43XX")
114 sgxprepare
115
116 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
117
118 sgxfinish
119 ;;
120"TI816x")
121 sgxprepare
122
123 devmem2 0x48180F04 w 0x0 > /dev/null
124 devmem2 0x48180900 w 0x2 > /dev/null
125 devmem2 0x48180920 w 0x2 > /dev/null
126
127 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
128
129 sgxfinish
130 ;;
131*)
132 echo No SGX hardware, not starting PVR
133 ;;
134esac
diff --git a/recipes-graphics/libgles/libgles-omap3-5.01.01.01/rc_dri.pvr b/recipes-graphics/libgles/libgles-omap3-5.01.01.01/rc_dri.pvr
deleted file mode 100755
index 9b75aaf5..00000000
--- a/recipes-graphics/libgles/libgles-omap3-5.01.01.01/rc_dri.pvr
+++ /dev/null
@@ -1,145 +0,0 @@
1#!/bin/sh
2PATH=$PATH:/usr/sbin
3
4# Check if an fb device is available. If not then just go ahead and
5# exit because we have no display.
6fbset > /dev/null 2>&1
7if [ "$?" == "1" ]
8then
9 # looks like there is no display, so let's exit
10 exit 0
11fi
12
13BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
14YRES="$(fbset | grep geom | awk '{print $3}')"
15
16CPUTYPE="$(cputype)"
17
18if [ "$1" = "" ]; then
19 echo PVR-INIT: Please use start, stop, or restart.
20 exit 1
21fi
22
23if [ "$1" = "stop" -o "$1" = "restart" ]; then
24 echo Stopping PVR
25
26 # Stop the X Server.
27 #
28 [ -f /tmp/.X0-lock ] && read XPID < /tmp/.X0-lock && [ -n "$XPID" ] && kill $XPID && while [ -e /proc/$XPID ] ; do sleep 1; done
29
30 rmmod bufferclass_ti
31 rmmod pvrsrvkm 2>/dev/null
32 rmmod drm 2>/dev/null
33fi
34
35if [ "$1" = "stop" ]; then
36 exit 0
37fi
38
39# Set RGBA ordering to something the drivers like
40if [ "$BITSPERPIXEL" = "32" ] ; then
41 fbset -rgba 8/16,8/8,8/0,8/24
42fi
43
44# Try to enable triple buffering when there's enough VRAM
45fbset -vyres $(expr $YRES \* 3)
46
47sgxprepare () {
48 echo Starting PVR
49
50 # Start the X Server.
51 # The X Server will load the PVR Services module.
52 #
53 /usr/local/XSGX/bin/X -verbose -config /usr/local/XSGX/etc/xorg.conf &
54
55 modprobe drm
56
57 lsmod | grep pvrsrvkm > /dev/null
58
59 if [ "$?" != "0" ]
60 then
61 insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
62
63 if [ "$?" != "0" ]
64 then
65 echo "Could not find pvrsrvkm driver"
66 exit 1
67 fi
68 fi
69
70 modprobe bufferclass_ti
71
72 pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
73 bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
74
75 if [ -e /dev/pvrsrvkm ] ; then
76 rm -f /dev/pvrsrvkm
77 fi
78
79 mknod /dev/pvrsrvkm c $pvr_maj 0
80 chmod 666 /dev/pvrsrvkm
81
82 touch /etc/powervr-esrev
83
84 SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
85}
86
87sgxfinish () {
88 # Fix up a bug in opkg
89 if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
90 cd /usr/lib
91 ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
92 fi
93
94 if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
95 echo -n "Starting SGX fixup for"
96 echo " ES${ES_REVISION}.x"
97 cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
98 cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
99 echo "${ES_REVISION}" > /etc/powervr-esrev
100 fi
101
102 if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
103}
104
105case $CPUTYPE in
106"OMAP3530")
107 sgxprepare
108
109 devmem2 0x48004B48 w 0x2 > /dev/null
110 devmem2 0x48004B10 w 0x1 > /dev/null
111 devmem2 0x48004B00 w 0x2 > /dev/null
112
113 ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
114
115 sgxfinish
116 ;;
117"TI33XX")
118 sgxprepare
119
120 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
121
122 sgxfinish
123 ;;
124"TI43XX")
125 sgxprepare
126
127 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
128
129 sgxfinish
130 ;;
131"TI816x")
132 sgxprepare
133
134 devmem2 0x48180F04 w 0x0 > /dev/null
135 devmem2 0x48180900 w 0x2 > /dev/null
136 devmem2 0x48180920 w 0x2 > /dev/null
137
138 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
139
140 sgxfinish
141 ;;
142*)
143 echo No SGX hardware, not starting PVR
144 ;;
145esac
diff --git a/recipes-graphics/libgles/libgles-omap3-5.01.01.02/rc.pvr b/recipes-graphics/libgles/libgles-omap3-5.01.01.02/rc.pvr
deleted file mode 100755
index 132749af..00000000
--- a/recipes-graphics/libgles/libgles-omap3-5.01.01.02/rc.pvr
+++ /dev/null
@@ -1,134 +0,0 @@
1#!/bin/sh
2PATH=$PATH:/usr/sbin
3
4# Check if an fb device is available. If not then just go ahead and
5# exit because we have no display.
6fbset > /dev/null 2>&1
7if [ "$?" == "1" ]
8then
9 # looks like there is no display, so let's exit
10 exit 0
11fi
12
13BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
14YRES="$(fbset | grep geom | awk '{print $3}')"
15
16CPUTYPE="$(cputype)"
17
18if [ "$1" = "" ]; then
19 echo PVR-INIT: Please use start, stop, or restart.
20 exit 1
21fi
22
23if [ "$1" = "stop" -o "$1" = "restart" ]; then
24 echo Stopping PVR
25 rmmod bufferclass_ti
26 rmmod omaplfb 2>/dev/null
27 rmmod pvrsrvkm 2>/dev/null
28fi
29
30if [ "$1" = "stop" ]; then
31 exit 0
32fi
33
34# Set RGBA ordering to something the drivers like
35if [ "$BITSPERPIXEL" = "32" ] ; then
36 fbset -rgba 8/16,8/8,8/0,8/24
37fi
38
39# Try to enable triple buffering when there's enough VRAM
40fbset -vyres $(expr $YRES \* 3)
41
42sgxprepare () {
43 echo Starting PVR
44
45 lsmod | grep pvrsrvkm > /dev/null
46
47 if [ "$?" != "0" ]
48 then
49 insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
50
51 if [ "$?" != "0" ]
52 then
53 echo "Could not find pvrsrvkm driver"
54 exit 1
55 fi
56 fi
57
58 modprobe omaplfb
59 modprobe bufferclass_ti
60
61 pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
62 bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
63
64 if [ -e /dev/pvrsrvkm ] ; then
65 rm -f /dev/pvrsrvkm
66 fi
67
68 mknod /dev/pvrsrvkm c $pvr_maj 0
69 chmod 666 /dev/pvrsrvkm
70
71 touch /etc/powervr-esrev
72
73 SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
74}
75
76sgxfinish () {
77 # Fix up a bug in opkg
78 if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
79 cd /usr/lib
80 ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
81 fi
82
83 if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
84 echo -n "Starting SGX fixup for"
85 echo " ES${ES_REVISION}.x"
86 cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
87 cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
88 echo "${ES_REVISION}" > /etc/powervr-esrev
89 fi
90
91 if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
92}
93
94case $CPUTYPE in
95"OMAP3530")
96 sgxprepare
97
98 devmem2 0x48004B48 w 0x2 > /dev/null
99 devmem2 0x48004B10 w 0x1 > /dev/null
100 devmem2 0x48004B00 w 0x2 > /dev/null
101
102 ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
103
104 sgxfinish
105 ;;
106"TI33XX")
107 sgxprepare
108
109 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
110
111 sgxfinish
112 ;;
113"TI43XX")
114 sgxprepare
115
116 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
117
118 sgxfinish
119 ;;
120"TI816x")
121 sgxprepare
122
123 devmem2 0x48180F04 w 0x0 > /dev/null
124 devmem2 0x48180900 w 0x2 > /dev/null
125 devmem2 0x48180920 w 0x2 > /dev/null
126
127 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
128
129 sgxfinish
130 ;;
131*)
132 echo No SGX hardware, not starting PVR
133 ;;
134esac
diff --git a/recipes-graphics/libgles/libgles-omap3-5.01.01.02/rc_dri.pvr b/recipes-graphics/libgles/libgles-omap3-5.01.01.02/rc_dri.pvr
deleted file mode 100755
index 9b75aaf5..00000000
--- a/recipes-graphics/libgles/libgles-omap3-5.01.01.02/rc_dri.pvr
+++ /dev/null
@@ -1,145 +0,0 @@
1#!/bin/sh
2PATH=$PATH:/usr/sbin
3
4# Check if an fb device is available. If not then just go ahead and
5# exit because we have no display.
6fbset > /dev/null 2>&1
7if [ "$?" == "1" ]
8then
9 # looks like there is no display, so let's exit
10 exit 0
11fi
12
13BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
14YRES="$(fbset | grep geom | awk '{print $3}')"
15
16CPUTYPE="$(cputype)"
17
18if [ "$1" = "" ]; then
19 echo PVR-INIT: Please use start, stop, or restart.
20 exit 1
21fi
22
23if [ "$1" = "stop" -o "$1" = "restart" ]; then
24 echo Stopping PVR
25
26 # Stop the X Server.
27 #
28 [ -f /tmp/.X0-lock ] && read XPID < /tmp/.X0-lock && [ -n "$XPID" ] && kill $XPID && while [ -e /proc/$XPID ] ; do sleep 1; done
29
30 rmmod bufferclass_ti
31 rmmod pvrsrvkm 2>/dev/null
32 rmmod drm 2>/dev/null
33fi
34
35if [ "$1" = "stop" ]; then
36 exit 0
37fi
38
39# Set RGBA ordering to something the drivers like
40if [ "$BITSPERPIXEL" = "32" ] ; then
41 fbset -rgba 8/16,8/8,8/0,8/24
42fi
43
44# Try to enable triple buffering when there's enough VRAM
45fbset -vyres $(expr $YRES \* 3)
46
47sgxprepare () {
48 echo Starting PVR
49
50 # Start the X Server.
51 # The X Server will load the PVR Services module.
52 #
53 /usr/local/XSGX/bin/X -verbose -config /usr/local/XSGX/etc/xorg.conf &
54
55 modprobe drm
56
57 lsmod | grep pvrsrvkm > /dev/null
58
59 if [ "$?" != "0" ]
60 then
61 insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
62
63 if [ "$?" != "0" ]
64 then
65 echo "Could not find pvrsrvkm driver"
66 exit 1
67 fi
68 fi
69
70 modprobe bufferclass_ti
71
72 pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
73 bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
74
75 if [ -e /dev/pvrsrvkm ] ; then
76 rm -f /dev/pvrsrvkm
77 fi
78
79 mknod /dev/pvrsrvkm c $pvr_maj 0
80 chmod 666 /dev/pvrsrvkm
81
82 touch /etc/powervr-esrev
83
84 SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
85}
86
87sgxfinish () {
88 # Fix up a bug in opkg
89 if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
90 cd /usr/lib
91 ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
92 fi
93
94 if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
95 echo -n "Starting SGX fixup for"
96 echo " ES${ES_REVISION}.x"
97 cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
98 cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
99 echo "${ES_REVISION}" > /etc/powervr-esrev
100 fi
101
102 if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
103}
104
105case $CPUTYPE in
106"OMAP3530")
107 sgxprepare
108
109 devmem2 0x48004B48 w 0x2 > /dev/null
110 devmem2 0x48004B10 w 0x1 > /dev/null
111 devmem2 0x48004B00 w 0x2 > /dev/null
112
113 ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
114
115 sgxfinish
116 ;;
117"TI33XX")
118 sgxprepare
119
120 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
121
122 sgxfinish
123 ;;
124"TI43XX")
125 sgxprepare
126
127 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
128
129 sgxfinish
130 ;;
131"TI816x")
132 sgxprepare
133
134 devmem2 0x48180F04 w 0x0 > /dev/null
135 devmem2 0x48180900 w 0x2 > /dev/null
136 devmem2 0x48180920 w 0x2 > /dev/null
137
138 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
139
140 sgxfinish
141 ;;
142*)
143 echo No SGX hardware, not starting PVR
144 ;;
145esac
diff --git a/recipes-graphics/libgles/libgles-omap3-no-x.inc b/recipes-graphics/libgles/libgles-omap3-no-x.inc
deleted file mode 100644
index 7681a26b..00000000
--- a/recipes-graphics/libgles/libgles-omap3-no-x.inc
+++ /dev/null
@@ -1,341 +0,0 @@
1DESCRIPTION = "libGLES for the omap3"
2LICENSE = "proprietary-binary"
3# 'TSPA.txt' might not be the best file to md5sum
4LIC_FILES_CHKSUM = "file://TSPA.txt;md5=c0d5d9c1e38b41677144c4e24d6ddee1"
5
6INC_PR = "r38"
7
8EXCLUDE_FROM_WORLD = "1"
9
10COMPATIBLE_MACHINE = "(omap3|ti814x|ti816x|ti33x|ti43x)"
11
12PVR_INIT ?= "pvrsrvinit"
13
14PROVIDES += "virtual/egl virtual/libgles1 virtual/libgles2"
15
16RREPLACES_${PN} = "libegl libgles1 libgles2"
17RREPLACES_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
18RREPLACES_${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
19
20RPROVIDES_${PN} = "libegl libgles1 libgles2"
21RPROVIDES_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
22RPROVIDES_${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
23
24RCONFLICTS_${PN} = "libegl libgles1 libgles2"
25RCONFLICTS_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
26RCONFLICTS_${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
27
28SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
29 file://cputype \
30 file://rc.pvr \
31 file://99-bufferclass.rules \
32"
33
34S = "${WORKDIR}/OMAP35x_Graphics_SDK_${SGXPV}"
35
36# Logic to unpack installjammer file
37TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
38require ../../recipes-ti/includes/ti-eula-unpack.inc
39
40export BINLOCATION ?= "${S}/gfx_rel"
41export ES3LOCATION ?= "${S}/gfx_rel_es3.x"
42export ES5LOCATION ?= "${S}/gfx_rel_es5.x"
43export ES6LOCATION ?= "${S}/gfx_rel_es6.x"
44export ES8LOCATION ?= "${S}/gfx_rel_es8.x"
45export ES9LOCATION ?= "${S}/gfx_rel_es9.x"
46
47LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_FRONTWSEGL.so.1"
48
49do_configure() {
50 # Attempt to fix up the worst offenders for file permissions
51 for i in $(find ${S} -name "*.h") $(find ${S} -name "*.c") $(find ${S} -name "Make*") ; do
52 chmod 0644 $i
53 done
54
55 # Attempt to create proper library softlinks
56 for sofile in $(find ${S} -name "lib*Open*.so") $(find ${S} -name "lib*srv*.so") $(find ${S} -name "lib*gl*.so") $(find ${S} -name "libpvr*.so") $(find ${S} -name "lib*GL*.so"); do
57 if [ "$(readlink -n ${sofile})" = "" ] ; then
58 mv $sofile ${sofile}.${IMGPV}
59 ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}
60 ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}$(echo ${IMGPV} | awk -F. '{print "." $1}')
61 ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}$(echo ${IMGPV} | awk -F. '{print "." $1 "." $2}')
62 fi
63 done
64
65 # Due to recursive make PLAT_* isn't always passed down correctly, so use sed to fix those
66 for mak in $(find ${S} -name "*.mak") ; do
67 sed -i -e s:arm-none-linux-gnueabi-:${TARGET_PREFIX}:g $mak
68 done
69
70 # clear out old stuff
71 find Binaries/ | xargs rm -f || true
72}
73
74# Force in GNU_HASH and paths to libs
75TARGET_CC_ARCH += " ${TARGET_LINK_HASH_STYLE} -Wl,-rpath-link,${BINLOCATION} -L${BINLOCATION} \
76-L${STAGING_DIR_TARGET}${libdir} -Wl,-rpath-link,${STAGING_DIR_TARGET}${libdir}"
77PARALLEL_MAKE = ""
78
79PLATFORM ?= "LinuxOMAP3"
80
81do_compile() {
82 export TOOLCHAIN="${TOOLCHAIN_PATH}"
83 export PLAT_CC="${CC}"
84 export PLAT_CPP="${CXX}"
85 export PLAR_AR="${AR}"
86
87 mkdir -p ${S}/demos/raw
88 mkdir -p ${S}/trainingcourses/raw
89
90 # Rebuild demos
91 for demo in ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Demos/* ; do
92 cd $demo/OGLES/Build/LinuxGeneric
93 oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=0
94 rm $demo/OGLES/Build/${PLATFORM}/Release*/*.o
95
96 install -m 0755 $demo/OGLES/Build/${PLATFORM}/ReleaseRaw/* ${S}/demos/raw || true
97 done
98
99 for demo in ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Demos/* ; do
100 cd $demo/OGLES2/Build/LinuxGeneric
101 oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=0
102 rm -f $demo/OGLES2/Build/${PLATFORM}/Release*/*.o
103
104 install -m 0755 $demo/OGLES2/Build/${PLATFORM}/ReleaseRaw/* ${S}/demos/raw || true
105 done
106
107 find ${S} -name "*_org" -delete
108
109 # Build OGLES2 Trainingcourses
110 for training in ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/TrainingCourse/* ; do
111 if [ -e $training/OGLES2/Build/LinuxGeneric/Makefile ] ; then
112 cd $training/OGLES2/Build/LinuxGeneric
113 fi
114
115 if [ -e $training/OGLES2/Build/${PLATFORM}/Makefile ] ; then
116 cd $training/OGLES2/Build/${PLATFORM}
117 fi
118
119 oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=0
120 rm -f $training/OGLES2/Build/${PLATFORM}/Release*/*.o
121
122 install -m 0755 $training/OGLES2/Build/${PLATFORM}/ReleaseRaw/* ${S}/trainingcourses/raw || true
123 done
124
125}
126
127do_install () {
128 install -d ${D}${libdir}
129 cp -pPR ${BINLOCATION}/*.so* ${D}${libdir}
130 rm ${D}${libdir}/libpvrPVR2D_DRIWSEGL.so*
131 rm ${D}${libdir}/libsrv_um_dri.so*
132 rm ${D}${libdir}/pvr_drv.so*
133
134 install -m 0644 ${BINLOCATION}/*.a ${D}${libdir}
135
136 install -d ${D}${bindir}/
137 install -m 0755 ${WORKDIR}/cputype ${D}${bindir}/
138
139 install -m 0755 ${BINLOCATION}/*_test ${D}${bindir}/
140 install -m 0755 ${BINLOCATION}/gl* ${D}${bindir}/
141 install -m 0755 ${BINLOCATION}/${PVR_INIT} ${D}${bindir}/
142
143 install -d ${D}${includedir}
144 cp -pPR ${S}/GFX_Linux_KM/include4 ${D}${includedir}/
145 cp -pPR ${S}/GFX_Linux_KM/services4 ${D}${includedir}/
146
147 cp -pPr ${S}/include/pvr2d/*.h ${D}${includedir}
148 cp -pPr ${S}/include/OGLES2/* ${D}${includedir}/
149 cp -pPr ${S}/include/wsegl/*.h ${D}${includedir}/
150
151 install -d ${D}${sysconfdir}/init.d/
152 cp -pP ${WORKDIR}/rc.pvr ${D}${sysconfdir}/init.d/pvr-init
153 chmod +x ${D}${sysconfdir}/init.d/pvr-init
154
155 install -d ${D}${sysconfdir}
156 echo "[default]" > ${D}${sysconfdir}/powervr.ini
157 echo "WindowSystem=${LIBGLESWINDOWSYSTEM}" >> ${D}${sysconfdir}/powervr.ini
158
159 #Create different folders for ease of installing into different platforms with different display drivers/ SGX core
160
161 shared_prog="eglinfo pvr2d_test ${PVR_INIT} services_test sgx_blit_test sgx_clipblit_test sgx_flip_test sgx_init_test sgx_render_flip_test"
162 raw_prog="gles1test1 gles2test1"
163
164 for esrev in 3 5 6 8 9 ; do
165 ESLOCATION=$(eval echo $(echo \$\{ES${esrev}LOCATION\}))
166 if [ -e ${ESLOCATION} ] ; then
167 install -d ${D}${libdir}/ES${esrev}.0
168 install -d ${D}${bindir}/ES${esrev}.0
169 cp -pPR ${ESLOCATION}/lib*${IMGPV} ${ESLOCATION}/pvr_drv.so ${ESLOCATION}/*.a ${D}${libdir}/ES${esrev}.0/
170 for esprog in $shared_prog $raw_prog ; do
171 install -m 0755 ${ESLOCATION}/$esprog ${D}${bindir}/ES${esrev}.0/ 2>/dev/null || true
172 done
173 fi
174 done
175
176 rm ${D}${bindir}/ES*/*.h ${D}${bindir}/ES*/pdsasm ${D}${bindir}/pdsasm -f || true
177
178 install -d ${D}${bindir}/SGX/demos/Raw/
179 install -m 0755 ${S}/demos/raw/* ${D}${bindir}/SGX/demos/Raw/
180 install -d ${D}${bindir}/SGX/trainingcourses/Raw 2>/dev/null || true
181 install -m 0755 ${S}/trainingcourses/raw/* ${D}${bindir}/SGX/trainingcourses/Raw/ 2>/dev/null || true
182
183
184 # Delete objects and linker scripts hidden between the headers
185 find ${D} -name "*.o" -delete
186 find ${D} -name "*.o.cmd" -delete
187
188 install -d ${D}${sysconfdir}/udev/rules.d
189 install -m 0644 ${WORKDIR}/99-bufferclass.rules ${D}${sysconfdir}/udev/rules.d/
190
191 touch ${D}${libdir}/ES5.0/ld-linux.so.3
192 touch ${D}${libdir}/ES5.0/ld-linux.so.3\(GLIBC_2.4\)
193 cp -pPR ${S}/gfx_rel_es5.x/libews.so ${D}${libdir}/ES5.0/
194}
195
196PACKAGES =+ "${PN}-rawdemos ${PN}-rawtrainingcourses ${PN}-tests"
197# Package the base libraries per silicon revision
198PACKAGES =+ "${PN}-es3 ${PN}-es5 ${PN}-es6 ${PN}-es8 ${PN}-es9"
199RRECOMMENDS_${PN} += "${PN}-es3 ${PN}-es5 ${PN}-es6 ${PN}-es8 ${PN}-es9"
200FILES_${PN}-es3 = "${libdir}/ES3*/* ${bindir}/ES3*/*"
201FILES_${PN}-es5 = "${libdir}/ES5*/* ${bindir}/ES5*/*"
202FILES_${PN}-es6 = "${libdir}/ES6*/* ${bindir}/ES6*/*"
203FILES_${PN}-es8 = "${libdir}/ES8*/* ${bindir}/ES8*/*"
204FILES_${PN}-es9 = "${libdir}/ES9*/* ${bindir}/ES9*/*"
205
206# Stop shlib code from picking a subpackage
207PRIVATE_LIBS_${PN}-es3 = "libGLESv2.so libIMGegl.so libsrv_um.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libglslcompiler.so libGLES_CM.so"
208PRIVATE_LIBS_${PN}-es5 = "libGLESv2.so libIMGegl.so libsrv_um.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libglslcompiler.so libGLES_CM.so"
209PRIVATE_LIBS_${PN}-es6 = "libGLESv2.so libIMGegl.so libsrv_um.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libglslcompiler.so libGLES_CM.so"
210PRIVATE_LIBS_${PN}-es8 = "libGLESv2.so libIMGegl.so libsrv_um.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libglslcompiler.so libGLES_CM.so"
211PRIVATE_LIBS_${PN}-es9 = "libGLESv2.so libIMGegl.so libsrv_um.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libglslcompiler.so libGLES_CM.so"
212
213
214RPROVIDES_${PN} += "libGLESv2.so libEGL.so libGLES_CM.so libpvr2d.so libIMGegl.so libsrv_init.so libsrv_um.so libsrv_um_dri.so libglslcompiler.so"
215RPROVIDES_${PN}-es5 += "ld-linux.so.3 ld-linux.so.3(GLIBC_2.4) libews.so"
216
217PACKAGES =+ "${PN}-blitwsegl ${PN}-flipwsegl ${PN}-frontwsegl ${PN}-linuxfbwsegl"
218FILES_${PN}-blitwsegl = "${libdir}/libpvrPVR2D_BLITWSEGL.so.*"
219FILES_${PN}-flipwsegl = "${libdir}/libpvrPVR2D_FLIPWSEGL.so.*"
220FILES_${PN}-frontwsegl = "${libdir}/libpvrPVR2D_FRONTWSEGL.so.*"
221FILES_${PN}-linuxfbwsegl = "${libdir}/libpvrPVR2D_LINUXFBWSEGL.so.*"
222
223PACKAGES =+ "${PN}-blitwsegl-es3 ${PN}-blitwsegl-es5 ${PN}-blitwsegl-es6 ${PN}-blitwsegl-es8 ${PN}-blitwsegl-es9 ${PN}-flipwsegl-es3 ${PN}-flipwsegl-es5 ${PN}-flipwsegl-es6 ${PN}-flipwsegl-es8 ${PN}-flipwsegl-es9 ${PN}-frontwsegl-es3 ${PN}-frontwsegl-es5 ${PN}-frontwsegl-es6 ${PN}-frontwsegl-es8 ${PN}-frontwsegl-es9 ${PN}-linuxfbwsegl-es3 ${PN}-linuxfbwsegl-es5 ${PN}-linuxfbwsegl-es6 ${PN}-linuxfbwsegl-es8 ${PN}-linuxfbwsegl-es9"
224
225FILES_${PN}-blitwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_BLITWSEGL.so.*"
226FILES_${PN}-blitwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_BLITWSEGL.so.*"
227FILES_${PN}-blitwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_BLITWSEGL.so.*"
228FILES_${PN}-blitwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_BLITWSEGL.so.*"
229FILES_${PN}-blitwsegl-es9 = "${libdir}/ES9*/libpvrPVR2D_BLITWSEGL.so.*"
230RRECOMMENDS_${PN}-blitwsegl = " ${PN}-blitwsegl-es3 ${PN}-blitwsegl-es5 ${PN}-blitwsegl-es6 ${PN}-blitwsegl-es8 ${PN}-blitwsegl-es9"
231
232FILES_${PN}-flipwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_FLIPWSEGL.so.*"
233FILES_${PN}-flipwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_FLIPWSEGL.so.*"
234FILES_${PN}-flipwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_FLIPWSEGL.so.*"
235FILES_${PN}-flipwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_FLIPWSEGL.so.*"
236FILES_${PN}-flipwsegl-es9 = "${libdir}/ES9*/libpvrPVR2D_FLIPWSEGL.so.*"
237RRECOMMENDS_${PN}-flipwsegl = " ${PN}-flipwsegl-es3 ${PN}-flipwsegl-es5 ${PN}-flipwsegl-es6 ${PN}-flipwsegl-es8 ${PN}-flipwsegl-es9"
238
239FILES_${PN}-frontwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_FRONTWSEGL.so.*"
240FILES_${PN}-frontwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_FRONTWSEGL.so.*"
241FILES_${PN}-frontwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_FRONTWSEGL.so.*"
242FILES_${PN}-frontwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_FRONTWSEGL.so.*"
243FILES_${PN}-frontwsegl-es9 = "${libdir}/ES9*/libpvrPVR2D_FRONTWSEGL.so.*"
244RRECOMMENDS_${PN}-frontwsegl = " ${PN}-frontwsegl-es3 ${PN}-frontwsegl-es5 ${PN}-frontwsegl-es6 ${PN}-frontwsegl-es8 ${PN}-frontwsegl-es9"
245
246FILES_${PN}-linuxfbwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_LINUXFBWSEGL.so.*"
247FILES_${PN}-linuxfbwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_LINUXFBWSEGL.so.*"
248FILES_${PN}-linuxfbwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_LINUXFBWSEGL.so.*"
249FILES_${PN}-linuxfbwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_LINUXFBWSEGL.so.*"
250FILES_${PN}-linuxfbwsegl-es9 = "${libdir}/ES9*/libpvrPVR2D_LINUXFBWSEGL.so.*"
251RRECOMMENDS_${PN}-linuxfbwsegl = " ${PN}-linuxfbwsegl-es3 ${PN}-linuxfbwsegl-es5 ${PN}-linuxfbwsegl-es6 ${PN}-linuxfbwsegl-es8 ${PN}-linuxfbwsegl-es9"
252
253CONFFILES_${PN} = "${sysconfdir}/powervr.ini"
254
255FILES_${PN} = "${sysconfdir} ${libdir}/*.so* ${bindir}/${PVR_INIT} ${bindir}/cputype ${bindir}/*"
256
257FILES_${PN}-tests = "${bindir}/*test*"
258FILES_${PN}-dbg = "${libdir}/.debug/* ${bindir}/.debug/* \
259 ${libdir}/ES*/.debug ${bindir}/*/.debug\
260 ${bindir}/SGX/demos/*/.debug/* \
261 ${bindir}/SGX/trainingcourses/*/.debug/* \
262"
263
264FILES_${PN}-rawdemos = "${bindir}/SGX/demos/Raw/*"
265
266FILES_${PN}-rawtrainingcourses = "${bindir}/SGX/trainingcourses/Raw/*"
267
268# The libs need the kernel-modules
269RRECOMMENDS_${PN} += "omap3-sgx-modules"
270
271# The initscript calls fbset, cputype calls devmem2
272RDEPENDS_${PN} += "fbset devmem2"
273
274#HACK! These are binaries, so we can't guarantee that LDFLAGS match :(
275INSANE_SKIP_${PN} = "ldflags dev-so already-stripped"
276INSANE_SKIP_${PN}-es3 = "ldflags dev-so staticdev already-stripped"
277INSANE_SKIP_${PN}-es5 = "ldflags dev-so staticdev already-stripped"
278INSANE_SKIP_${PN}-es6 = "ldflags dev-so staticdev already-stripped"
279INSANE_SKIP_${PN}-es8 = "ldflags dev-so staticdev already-stripped"
280INSANE_SKIP_${PN}-es9 = "ldflags dev-so staticdev already-stripped"
281INSANE_SKIP_${PN}-rawdemos = "ldflags dev-so useless-rpaths already-stripped"
282INSANE_SKIP_${PN}-blitwsegl = "ldflags already-stripped"
283INSANE_SKIP_${PN}-blitwsegl-es3 = "ldflags already-stripped"
284INSANE_SKIP_${PN}-blitwsegl-es5 = "ldflags already-stripped"
285INSANE_SKIP_${PN}-blitwsegl-es6 = "ldflags already-stripped"
286INSANE_SKIP_${PN}-blitwsegl-es8 = "ldflags already-stripped"
287INSANE_SKIP_${PN}-blitwsegl-es9 = "ldflags already-stripped"
288INSANE_SKIP_${PN}-flipwsegl = "ldflags already-stripped"
289INSANE_SKIP_${PN}-flipwsegl-es3 = "ldflags already-stripped"
290INSANE_SKIP_${PN}-flipwsegl-es5 = "ldflags already-stripped"
291INSANE_SKIP_${PN}-flipwsegl-es6 = "ldflags already-stripped"
292INSANE_SKIP_${PN}-flipwsegl-es8 = "ldflags already-stripped"
293INSANE_SKIP_${PN}-flipwsegl-es9 = "ldflags already-stripped"
294INSANE_SKIP_${PN}-frontwsegl = "ldflags already-stripped"
295INSANE_SKIP_${PN}-frontwsegl-es3 = "ldflags already-stripped"
296INSANE_SKIP_${PN}-frontwsegl-es5 = "ldflags already-stripped"
297INSANE_SKIP_${PN}-frontwsegl-es6 = "ldflags already-stripped"
298INSANE_SKIP_${PN}-frontwsegl-es8 = "ldflags already-stripped"
299INSANE_SKIP_${PN}-frontwsegl-es9 = "ldflags already-stripped"
300INSANE_SKIP_${PN}-linuxfbwsegl = "ldflags already-stripped"
301INSANE_SKIP_${PN}-linuxfbwsegl-es3 = "ldflags already-stripped"
302INSANE_SKIP_${PN}-linuxfbwsegl-es5 = "ldflags already-stripped"
303INSANE_SKIP_${PN}-linuxfbwsegl-es6 = "ldflags already-stripped"
304INSANE_SKIP_${PN}-linuxfbwsegl-es8 = "ldflags already-stripped"
305INSANE_SKIP_${PN}-linuxfbwsegl-es9 = "ldflags already-stripped"
306INSANE_SKIP_${PN}-tests = "ldflags already-stripped"
307
308# Quality control is really poor on these SDKs, so hack around the latest madness:
309FILES_${PN} += "${libdir}/*.so "
310FILES_${PN}-dev = "${includedir}"
311
312inherit update-rc.d
313
314INITSCRIPT_NAME = "pvr-init"
315INITSCRIPT_PARAMS = "start 30 5 2 . stop 40 0 1 6 ."
316
317# Append to update-rc.d postinst
318pkg_postinst_${PN}_append() {
319rm -f $D${sysconfdir}/powervr-esrev
320
321}
322
323pkg_postinst_${PN}-blitwsegl() {
324rm -f $D${sysconfdir}/powervr-esrev
325}
326
327pkg_postinst_${PN}-flipwsegl() {
328rm -f $D${sysconfdir}/powervr-esrev
329}
330
331pkg_postinst_${PN}-frontwsegl() {
332rm -f $D${sysconfdir}/powervr-esrev
333}
334pkg_postinst_${PN}-linuxfbwsegl() {
335rm -f $D${sysconfdir}/powervr-esrev
336}
337
338pkg_postinst_${PN}-es5() {
339rm -f $D${libdir}/ES5.0/ld-linux.so.3*
340rm -f $D${libdir}/ES5.0/libews.so
341}
diff --git a/recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/99-bufferclass.rules b/recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/99-bufferclass.rules
deleted file mode 100644
index 780423b9..00000000
--- a/recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/99-bufferclass.rules
+++ /dev/null
@@ -1,7 +0,0 @@
1# Give everyone access to bufferclass nodes and make a compatibility symlink for the first one
2SUBSYSTEM=="bccat", MODE="0666"
3KERNEL=="bccat0", SYMLINK+="bc_cat", MODE="0666"
4
5# Give everyone access to v4l nodes
6SUBSYSTEM=="video4linux", MODE="0666"
7
diff --git a/recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/cputype b/recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/cputype
deleted file mode 100755
index 4448c300..00000000
--- a/recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/cputype
+++ /dev/null
@@ -1,17 +0,0 @@
1#!/bin/sh
2
3machine_id() { # return the machine ID
4 awk 'BEGIN { FS=": " } /Hardware/ \
5 { gsub(" ", "_", $2); print tolower($2) } ' </proc/cpuinfo
6}
7
8if [ "$(machine_id)" = "ti8168evm" ] ; then
9 echo TI816x
10elif [ "$(machine_id)" = "am335xevm" ] ; then
11 echo TI33XX
12else
13 devmem2 0x4800244c | \
14 grep 'Read at address' | \
15 sed -e 's/.*): //' | \
16 sed -e 's/0x00005C00/OMAP3503/' -e 's/0x00001C00/OMAP3515/' -e 's/0x00004C00/OMAP3525/' -e 's/0x00000C00/OMAP3530/' -e 's/0x00005E00/OMAP3503/' -e 's/0x00001E00/OMAP3515/' -e 's/0x00004E00/OMAP3525/' -e 's/0x00000E00/OMAP3530/' -e 's/0x00000CC0/OMAP3530/'
17fi
diff --git a/recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/rc.pvr b/recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/rc.pvr
deleted file mode 100644
index 590d06c8..00000000
--- a/recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/rc.pvr
+++ /dev/null
@@ -1,125 +0,0 @@
1#!/bin/sh
2PATH=$PATH:/usr/sbin
3
4# Check if an fb device is available. If not then just go ahead and
5# exit because we have no display.
6fbset > /dev/null 2>&1
7if [ "$?" == "1" ]
8then
9 # looks like there is no display, so let's exit
10 exit 0
11fi
12
13BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
14YRES="$(fbset | grep geom | awk '{print $3}')"
15
16CPUTYPE="$(cputype)"
17
18if [ "$1" = "" ]; then
19 echo PVR-INIT: Please use start, stop, or restart.
20 exit 1
21fi
22
23if [ "$1" = "stop" -o "$1" = "restart" ]; then
24 echo Stopping PVR
25 rmmod bufferclass_ti
26 rmmod omaplfb 2>/dev/null
27 rmmod pvrsrvkm 2>/dev/null
28fi
29
30if [ "$1" = "stop" ]; then
31 exit 0
32fi
33
34# Set RGBA ordering to something the drivers like
35if [ "$BITSPERPIXEL" = "32" ] ; then
36 fbset -rgba 8/16,8/8,8/0,8/24
37fi
38
39# Try to enable triple buffering when there's enough VRAM
40fbset -vyres $(expr $YRES \* 3)
41
42sgxprepare () {
43 echo Starting PVR
44 insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
45
46 if [ "$?" != "0" ]
47 then
48 echo "Could not find pvrsrvkm driver"
49 exit 1
50 fi
51
52 modprobe omaplfb
53 modprobe bufferclass_ti
54
55 pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
56 bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
57
58 if [ -e /dev/pvrsrvkm ] ; then
59 rm -f /dev/pvrsrvkm
60 fi
61
62 mknod /dev/pvrsrvkm c $pvr_maj 0
63 chmod 666 /dev/pvrsrvkm
64
65 touch /etc/powervr-esrev
66
67 SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
68}
69
70sgxfinish () {
71 # Fix up a bug in opkg
72 if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
73 cd /usr/lib
74 ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
75 fi
76
77 if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
78 echo -n "Starting SGX fixup for"
79 echo " ES${ES_REVISION}.x"
80 cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
81 cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
82 echo "${ES_REVISION}" > /etc/powervr-esrev
83 fi
84
85 if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
86}
87
88case $CPUTYPE in
89"OMAP3530")
90 sgxprepare
91
92 devmem2 0x48004B48 w 0x2 > /dev/null
93 devmem2 0x48004B10 w 0x1 > /dev/null
94 devmem2 0x48004B00 w 0x2 > /dev/null
95
96 ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
97
98 sgxfinish
99 ;;
100"TI33XX")
101 sgxprepare
102
103 devmem2 0x44e01104 w 0x0 > /dev/null
104 devmem2 0x44e00904 w 0x2 > /dev/null
105
106 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
107
108 sgxfinish
109 ;;
110"TI816x")
111 sgxprepare
112
113 devmem2 0x48180F04 w 0x0 > /dev/null
114 devmem2 0x48180900 w 0x2 > /dev/null
115 devmem2 0x48180920 w 0x2 > /dev/null
116
117 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
118
119 sgxfinish
120 ;;
121*)
122 echo No SGX hardware, not starting PVR
123 ;;
124esac
125
diff --git a/recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/rc_dri.pvr b/recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/rc_dri.pvr
deleted file mode 100644
index bc449379..00000000
--- a/recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/rc_dri.pvr
+++ /dev/null
@@ -1,137 +0,0 @@
1#!/bin/sh
2PATH=$PATH:/usr/sbin
3
4# Check if an fb device is available. If not then just go ahead and
5# exit because we have no display.
6fbset > /dev/null 2>&1
7if [ "$?" == "1" ]
8then
9 # looks like there is no display, so let's exit
10 exit 0
11fi
12
13BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
14YRES="$(fbset | grep geom | awk '{print $3}')"
15
16CPUTYPE="$(cputype)"
17
18if [ "$1" = "" ]; then
19 echo PVR-INIT: Please use start, stop, or restart.
20 exit 1
21fi
22
23if [ "$1" = "stop" -o "$1" = "restart" ]; then
24 echo Stopping PVR
25
26 # Stop the X Server.
27 #
28 [ -f /tmp/.X0-lock ] && read XPID < /tmp/.X0-lock && [ -n "$XPID" ] && kill $XPID && while [ -e /proc/$XPID ] ; do sleep 1; done
29
30 rmmod bufferclass_ti
31 rmmod pvrsrvkm 2>/dev/null
32 rmmod drm 2>/dev/null
33fi
34
35if [ "$1" = "stop" ]; then
36 exit 0
37fi
38
39# Set RGBA ordering to something the drivers like
40if [ "$BITSPERPIXEL" = "32" ] ; then
41 fbset -rgba 8/16,8/8,8/0,8/24
42fi
43
44# Try to enable triple buffering when there's enough VRAM
45fbset -vyres $(expr $YRES \* 3)
46
47sgxprepare () {
48 echo Starting PVR
49
50 # Start the X Server.
51 # The X Server will load the PVR Services module.
52 #
53 /usr/local/XSGX/bin/X -verbose -config /usr/local/XSGX/etc/xorg.conf &
54
55 modprobe drm
56
57 insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
58
59 if [ "$?" != "0" ]
60 then
61 echo "Could not find pvrsrvkm driver"
62 exit 1
63 fi
64
65 modprobe bufferclass_ti
66
67 pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
68 bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
69
70 if [ -e /dev/pvrsrvkm ] ; then
71 rm -f /dev/pvrsrvkm
72 fi
73
74 mknod /dev/pvrsrvkm c $pvr_maj 0
75 chmod 666 /dev/pvrsrvkm
76
77 touch /etc/powervr-esrev
78
79 SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
80}
81
82sgxfinish () {
83 # Fix up a bug in opkg
84 if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
85 cd /usr/lib
86 ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
87 fi
88
89 if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
90 echo -n "Starting SGX fixup for"
91 echo " ES${ES_REVISION}.x"
92 cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
93 cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
94 echo "${ES_REVISION}" > /etc/powervr-esrev
95 fi
96
97 if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
98}
99
100case $CPUTYPE in
101"OMAP3530")
102 sgxprepare
103
104 devmem2 0x48004B48 w 0x2 > /dev/null
105 devmem2 0x48004B10 w 0x1 > /dev/null
106 devmem2 0x48004B00 w 0x2 > /dev/null
107
108 ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
109
110 sgxfinish
111 ;;
112"TI33XX")
113 sgxprepare
114
115 devmem2 0x44e01104 w 0x0 > /dev/null
116 devmem2 0x44e00904 w 0x2 > /dev/null
117
118 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
119
120 sgxfinish
121 ;;
122"TI816x")
123 sgxprepare
124
125 devmem2 0x48180F04 w 0x0 > /dev/null
126 devmem2 0x48180900 w 0x2 > /dev/null
127 devmem2 0x48180920 w 0x2 > /dev/null
128
129 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
130
131 sgxfinish
132 ;;
133*)
134 echo No SGX hardware, not starting PVR
135 ;;
136esac
137
diff --git a/recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/sample.desktop b/recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/sample.desktop
deleted file mode 100644
index 6bacac92..00000000
--- a/recipes-graphics/libgles/libgles-omap3-x11-4.09.00.01/sample.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
1[Desktop Entry]
2Name=NAME Demo
3Comment=OGLES Demo
4Exec=EXEC
5Icon=star
6Type=Application
7Categories=Graphics;
8
diff --git a/recipes-graphics/libgles/libgles-omap3-x11.inc b/recipes-graphics/libgles/libgles-omap3-x11.inc
deleted file mode 100644
index 9aa596a5..00000000
--- a/recipes-graphics/libgles/libgles-omap3-x11.inc
+++ /dev/null
@@ -1,333 +0,0 @@
1DESCRIPTION = "libGLES for the omap3 (X11)"
2LICENSE = "proprietary-binary"
3# 'TSPA.txt' might not be the best file to md5sum
4LIC_FILES_CHKSUM = "file://TSPA.txt;md5=c0d5d9c1e38b41677144c4e24d6ddee1"
5
6INC_PR = "r38"
7
8EXCLUDE_FROM_WORLD = "1"
9
10COMPATIBLE_MACHINE = "(omap3|ti814x|ti816x|ti33x|ti43x)"
11
12DEPENDS = "virtual/libx11 libxau libxdmcp libdrm"
13
14export SUPPORT_XORG ?= "1"
15PVR_INIT ?= "pvrsrvinit"
16
17PROVIDES += "libgles-omap3 virtual/egl virtual/libgles1 virtual/libgles2"
18
19RREPLACES_${PN} = "libegl libgles1 libgles2"
20RREPLACES_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
21RREPLACES_${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
22
23RPROVIDES_${PN} = "libegl libgles1 libgles2"
24RPROVIDES_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
25RPROVIDES_${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
26
27RCONFLICTS_${PN} = "libegl libgles1 libgles2"
28RCONFLICTS_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
29RCONFLICTS_${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
30
31SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
32 file://cputype \
33 file://rc_dri.pvr \
34 file://sample.desktop \
35 file://99-bufferclass.rules \
36"
37
38S = "${WORKDIR}/OMAP35x_Graphics_SDK_${SGXPV}"
39
40# Logic to unpack installjammer file
41TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
42require ../../recipes-ti/includes/ti-eula-unpack.inc
43
44export BINLOCATION ?= "${S}/gfx_rel"
45export ES3LOCATION ?= "${S}/gfx_rel_es3.x"
46export ES5LOCATION ?= "${S}/gfx_rel_es5.x"
47export ES6LOCATION ?= "${S}/gfx_rel_es6.x"
48export ES8LOCATION ?= "${S}/gfx_rel_es8.x"
49export ES9LOCATION ?= "${S}/gfx_rel_es9.x"
50
51LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_DRIWSEGL.so"
52
53python __anonymous() {
54 if "x11" not in d.getVar("DISTRO_FEATURES", True).split():
55 raise bb.parse.SkipPackage("Recipe is x11-specific, skipping")
56}
57
58do_configure() {
59 # Attempt to fix up the worst offenders for file permissions
60 for i in $(find ${S} -name "*.h") $(find ${S} -name "*.c") $(find ${S} -name "Make*") ; do
61 chmod 0644 $i
62 done
63
64 # Attempt to create proper library softlinks
65 for sofile in $(find ${S} -name "lib*Open*.so") $(find ${S} -name "lib*srv*.so") $(find ${S} -name "lib*gl*.so") $(find ${S} -name "libpvr*.so") $(find ${S} -name "lib*GL*.so"); do
66 if [ "$(readlink -n ${sofile})" = "" ] ; then
67 mv $sofile ${sofile}.${IMGPV}
68 ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}
69 ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}$(echo ${IMGPV} | awk -F. '{print "." $1}')
70 ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}$(echo ${IMGPV} | awk -F. '{print "." $1 "." $2}')
71 fi
72 done
73
74 # Due to recursive make PLAT_* isn't always passed down correctly, so use sed to fix those
75 for mak in $(find ${S} -name "*.mak") ; do
76 sed -i -e s:arm-none-linux-gnueabi-:${TARGET_PREFIX}:g $mak
77 done
78
79 # clear out old stuff
80 find Binaries/ | xargs rm -f || true
81}
82
83# Force in GNU_HASH and paths to libs
84TARGET_CC_ARCH += " ${TARGET_LINK_HASH_STYLE} -Wl,-rpath-link,${BINLOCATION} -L${BINLOCATION} \
85-L${STAGING_DIR_TARGET}${libdir} -Wl,-rpath-link,${STAGING_DIR_TARGET}${libdir}"
86PARALLEL_MAKE = ""
87
88PLATFORM ?= "LinuxOMAP3"
89
90do_compile() {
91 export TOOLCHAIN="${TOOLCHAIN_PATH}"
92 export PLAT_CC="${CC}"
93 export PLAT_CPP="${CXX}"
94 export PLAR_AR="${AR}"
95
96 export X11ROOT="${STAGING_DIR_HOST}/usr"
97 mkdir -p ${S}/demos/x11
98 mkdir -p ${S}/trainingcourses/x11
99
100 mkdir -p ${S}/demos/raw
101 mkdir -p ${S}/trainingcourses/raw
102
103 # Rebuild demos
104 for demo in ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Demos/* ; do
105 cd $demo/OGLES/Build/LinuxGeneric
106 oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=1
107 rm $demo/OGLES/Build/${PLATFORM}/Release*/*.o
108
109 install -m 0755 $demo/OGLES/Build/${PLATFORM}/ReleaseX11/* ${S}/demos/x11 || true
110 sed -e s:NAME:$(basename $demo): \
111 -e s:EXEC:${bindir}/SGX/demos/X11/$(basename $demo/OGLES/Build/${PLATFORM}/ReleaseX11/*): \
112 ${WORKDIR}/sample.desktop > ${WORKDIR}/$(basename $demo).desktop
113 done
114
115 for demo in ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Demos/* ; do
116 cd $demo/OGLES2/Build/LinuxGeneric
117 oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=1
118 rm -f $demo/OGLES2/Build/${PLATFORM}/Release*/*.o
119
120 install -m 0755 $demo/OGLES2/Build/${PLATFORM}/ReleaseX11/* ${S}/demos/x11 || true
121 sed -e s:NAME:$(basename $demo): \
122 -e s:EXEC:${bindir}/SGX/demos/X11/$(basename $demo/OGLES2/Build/${PLATFORM}/ReleaseX11/*): \
123 ${WORKDIR}/sample.desktop > ${WORKDIR}/$(basename $demo).desktop
124 done
125
126
127 find ${S} -name "*_org" -delete
128
129 # Build OGLES2 Trainingcourses
130 for training in ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/TrainingCourse/* ; do
131 if [ -e $training/OGLES2/Build/LinuxGeneric/Makefile ] ; then
132 cd $training/OGLES2/Build/LinuxGeneric
133 fi
134
135 if [ -e $training/OGLES2/Build/${PLATFORM}/Makefile ] ; then
136 cd $training/OGLES2/Build/${PLATFORM}
137 fi
138
139 oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=1
140 rm -f $training/OGLES2/Build/${PLATFORM}/Release*/*.o
141
142 install -m 0755 $training/OGLES2/Build/${PLATFORM}/ReleaseX11/* ${S}/trainingcourses/x11 || true
143 done
144}
145
146do_install () {
147 install -d ${D}${libdir}
148 cp -pPR ${BINLOCATION}/*.so* ${D}${libdir}
149 install -m 0644 ${BINLOCATION}/*.a ${D}${libdir}
150
151 install -d ${D}${bindir}/
152 install -m 0755 ${WORKDIR}/cputype ${D}${bindir}/
153
154 install -m 0755 ${BINLOCATION}/*_test ${D}${bindir}/
155 install -m 0755 ${BINLOCATION}/gl* ${D}${bindir}/
156 install -m 0755 ${BINLOCATION}/${PVR_INIT} ${D}${bindir}/
157
158 install -m 0755 ${BINLOCATION}/xgles1test1 ${D}${bindir}/
159
160 install -d ${D}${includedir}
161 cp -pPR ${S}/GFX_Linux_KM/include4 ${D}${includedir}/
162 cp -pPR ${S}/GFX_Linux_KM/services4 ${D}${includedir}/
163
164 cp -pPR ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/Include/* ${D}${includedir}/
165 cp -pPR ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/* ${D}${includedir}/
166 cp -pPR ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/${PLATFORM}/Include/GLES/* ${D}${includedir}/GLES/ 2>/dev/null || true
167 cp -pPr ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/${PLATFORM}/Include/GLES/* ${D}${includedir}/GLES2/ 2>/dev/null || true
168 cp -pPr ${S}/include/wsegl/*.h ${D}${includedir} || true
169
170 install -d ${D}${sysconfdir}/init.d/
171
172 install -d ${D}${sysconfdir}
173 echo "[default]" > ${D}${sysconfdir}/powervr.ini
174 echo "WindowSystem=${LIBGLESWINDOWSYSTEM}" >> ${D}${sysconfdir}/powervr.ini
175
176 # The ES3.x, ES5.x and ES6.x CPUs have different SGX hardware, so we need to install multiple sets of userspace
177
178 install -d ${D}${libdir}/ES9.0
179 install -d ${D}${libdir}/ES8.0
180 install -d ${D}${libdir}/ES6.0
181 install -d ${D}${libdir}/ES5.0
182 install -d ${D}${libdir}/ES3.0
183
184 install -d ${D}${bindir}/ES9.0
185 install -d ${D}${bindir}/ES8.0
186 install -d ${D}${bindir}/ES6.0
187 install -d ${D}${bindir}/ES5.0
188 install -d ${D}${bindir}/ES3.0
189
190 x11_prog="eglinfo_x xgles1test1 xgles2test1 xmultiegltest"
191
192 for esrev in 3 5 6 8 9; do
193 ESLOCATION=$(eval echo $(echo \$\{ES${esrev}LOCATION\}))
194 if [ -e ${ESLOCATION} ] ; then
195 cp -pPR ${ESLOCATION}/lib*${IMGPV} ${ESLOCATION}/pvr_drv.so ${ESLOCATION}/*.a ${D}${libdir}/ES${esrev}.0/
196 for esprog in $x11_prog ; do
197 install -m 0755 ${ESLOCATION}/$esprog ${D}${bindir}/ES${esrev}.0/ 2>/dev/null || true
198 done
199 fi
200 done
201
202 rm ${D}${bindir}/ES*/*.h ${D}${bindir}/ES*/pdsasm ${D}${bindir}/pdsasm -f || true
203
204 install -d ${D}${prefix}/share/applications
205 cp ${WORKDIR}/*.desktop ${D}${prefix}/share/applications
206 rm ${D}${prefix}/share/applications/sample.desktop
207
208 install -d ${D}${bindir}/SGX/demos/X11/
209 install -m 0755 ${S}/demos/x11/* ${D}${bindir}/SGX/demos/X11/
210 install -d ${D}${bindir}/SGX/trainingcourses/X11 2>/dev/null || true
211 install -m 0755 ${S}/trainingcourses/x11/* ${D}${bindir}/SGX/trainingcourses/X11/ 2>/dev/null || true
212
213 # Delete objects and linker scripts hidden between the headers
214 find ${D} -name "*.o" -delete
215 find ${D} -name "*.o.cmd" -delete
216
217 install -d ${D}${sysconfdir}/udev/rules.d
218 install -m 0644 ${WORKDIR}/99-bufferclass.rules ${D}${sysconfdir}/udev/rules.d/
219
220}
221
222PACKAGES =+ "${PN}-x11demos ${PN}-x11trainingcourses xserver-kdrive-powervrsgx"
223
224# Package the base libraries per silicon revision
225PACKAGES =+ "${PN}-es3 ${PN}-es5 ${PN}-es6 ${PN}-es8 ${PN}-es9"
226RRECOMMENDS_${PN} += "${PN}-es3 ${PN}-es5 ${PN}-es6 ${PN}-es8 ${PN}-es9"
227FILES_${PN}-es3 = "${libdir}/ES3*/* ${bindir}/ES3*/*"
228FILES_${PN}-es5 = "${libdir}/ES5*/* ${bindir}/ES5*/*"
229FILES_${PN}-es6 = "${libdir}/ES6*/* ${bindir}/ES6*/*"
230FILES_${PN}-es8 = "${libdir}/ES8*/* ${bindir}/ES8*/*"
231FILES_${PN}-es9 = "${libdir}/ES9*/* ${bindir}/ES9*/*"
232
233# Stop shlib code from picking a subpackage
234PRIVATE_LIBS_${PN}-es3 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
235PRIVATE_LIBS_${PN}-es5 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
236PRIVATE_LIBS_${PN}-es6 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
237PRIVATE_LIBS_${PN}-es8 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
238PRIVATE_LIBS_${PN}-es9 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
239
240PACKAGES =+ "${PN}-x11wsegl ${PN}-driwsegl"
241FILES_${PN}-x11wsegl = "${libdir}/libpvrPVR2D_X11WSEGL.so* ${bindir}/x* ${bindir}/*x"
242FILES_${PN}-driwsegl = "${libdir}/libpvrPVR2D_DRIWSEGL.so* ${libdir}/libsrv_um_dri*"
243
244X11_SEGL = " ${PN}-x11wsegl-es2 ${PN}-x11wsegl-es3 ${PN}-x11wsegl-es5 ${PN}-x11wsegl-es6 ${PN}-x11wsegl-es8 ${PN}-x11wsegl-es9 ${PN}-driwsegl-es2 ${PN}-driwsegl-es3 ${PN}-driwsegl-es5 ${PN}-driwsegl-es6 ${PN}-driwsegl-es8 ${PN}-driwsegl-es9"
245PACKAGES =+ "${X11_SEGL}"
246FILES_${PN}-x11wsegl-es2 = "${libdir}/ES2*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES2*/x* ${bindir}/ES2*/*x"
247FILES_${PN}-x11wsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES3*/x* ${bindir}/ES3*/*x"
248FILES_${PN}-x11wsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES5*/x* ${bindir}/ES5*/*x"
249FILES_${PN}-x11wsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES6*/x* ${bindir}/ES6*/*x"
250FILES_${PN}-x11wsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES8*/x* ${bindir}/ES8*/*x"
251FILES_${PN}-x11wsegl-es9 = "${libdir}/ES9*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES9*/x* ${bindir}/ES9*/*x"
252RRECOMMENDS_${PN}-x11wsegl = " ${PN}-x11wsegl-es2 ${PN}-x11wsegl-es3 ${PN}-x11wsegl-es5 ${PN}-x11wsegl-es6 ${PN}-x11wsegl-es8 ${PN}-x11wsegl-es9"
253
254FILES_${PN}-driwsegl-es2 = "${libdir}/ES2*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES2*/libsrv_um_dri*"
255FILES_${PN}-driwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES3*/libsrv_um_dri*"
256FILES_${PN}-driwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES5*/libsrv_um_dri*"
257FILES_${PN}-driwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES6*/libsrv_um_dri*"
258FILES_${PN}-driwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES8*/libsrv_um_dri*"
259FILES_${PN}-driwsegl-es9 = "${libdir}/ES9*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES9*/libsrv_um_dri*"
260RRECOMMENDS_${PN}-driwsegl = " ${PN}-driwsegl-es2 ${PN}-driwsegl-es3 ${PN}-driwsegl-es5 ${PN}-driwsegl-es6 ${PN}-driwsegl-es8 ${PN}-driwsegl-es9"
261
262CONFFILES_${PN} = "${sysconfdir}/powervr.ini"
263
264FILES_${PN} = "${sysconfdir} ${libdir}/*.so* ${bindir}/${PVR_INIT} ${bindir}/cputype ${bindir}/*"
265
266FILES_xserver-kdrive-powervrsgx = "${bindir}/Xsgx"
267FILES_${PN}-tests = "${bindir}/*test*"
268FILES_${PN}-dbg = "${libdir}/.debug/* ${bindir}/.debug/* \
269 ${libdir}/ES*/.debug ${bindir}/*/.debug\
270 ${bindir}/SGX/demos/*/.debug/* \
271 ${bindir}/SGX/trainingcourses/*/.debug/* \
272"
273
274FILES_${PN}-x11demos = "${bindir}/SGX/demos/X11/* ${prefix}/share/applications "
275RRECOMMENDS_${PN}-x11demos = "${PN}-x11wsegl"
276
277FILES_${PN}-x11trainingcourses = "${bindir}/SGX/trainingcourses/X11/*"
278RRECOMMENDS_${PN}-x11trainingcourses = "${PN}-x11wsegl"
279
280# The libs need the kernel-modules
281RRECOMMENDS_${PN} += "omap3-sgx-modules-x11"
282
283# The initscript calls fbset, cputype calls devmem2
284RDEPENDS_${PN} += "fbset devmem2"
285
286#HACK! These are binaries, so we can't guarantee that LDFLAGS match :(
287INSANE_SKIP_${PN} = "ldflags dev-so already-stripped"
288INSANE_SKIP_${PN}-es3 = "ldflags dev-so staticdev already-stripped"
289INSANE_SKIP_${PN}-es5 = "ldflags dev-so staticdev already-stripped"
290INSANE_SKIP_${PN}-es6 = "ldflags dev-so staticdev already-stripped"
291INSANE_SKIP_${PN}-es8 = "ldflags dev-so staticdev already-stripped"
292INSANE_SKIP_${PN}-es9 = "ldflags dev-so staticdev already-stripped"
293INSANE_SKIP_${PN}-x11demos = "ldflags dev-so useless-rpaths already-stripped"
294INSANE_SKIP_${PN}-x11wsegl = "ldflags dev-so already-stripped"
295INSANE_SKIP_${PN}-x11wsegl-es3 = "ldflags dev-so already-stripped"
296INSANE_SKIP_${PN}-x11wsegl-es5 = "ldflags dev-so already-stripped"
297INSANE_SKIP_${PN}-x11wsegl-es6 = "ldflags dev-so already-stripped"
298INSANE_SKIP_${PN}-x11wsegl-es8 = "ldflags dev-so already-stripped"
299INSANE_SKIP_${PN}-x11wsegl-es9 = "ldflags dev-so already-stripped"
300INSANE_SKIP_${PN}-driwsegl = "ldflags dev-so already-stripped"
301INSANE_SKIP_${PN}-driwsegl-es3 = "ldflags dev-so already-stripped"
302INSANE_SKIP_${PN}-driwsegl-es5 = "ldflags dev-so already-stripped"
303INSANE_SKIP_${PN}-driwsegl-es6 = "ldflags dev-so already-stripped"
304INSANE_SKIP_${PN}-driwsegl-es8 = "ldflags dev-so already-stripped"
305INSANE_SKIP_${PN}-driwsegl-es9 = "ldflags dev-so already-stripped"
306INSANE_SKIP_${PN}-tests = "ldflags already-stripped"
307INSANE_SKIP_xserver-kdrive-powervrsgx = "ldflags already-stripped"
308INSANE_SKIP_${PN}-dev = "ldflags dev-so already-stripped"
309
310inherit update-rc.d
311
312INITSCRIPT_NAME = "pvr-init"
313INITSCRIPT_PARAMS = "start 30 5 2 . stop 40 0 1 6 ."
314
315# Append to update-rc.d postinst
316pkg_postinst_${PN}_append() {
317rm -f $D${sysconfdir}/powervr-esrev
318
319ln -sf /usr/lib/libXdmcp.so.6.0.0 /usr/lib/libXdmcp.so.0
320ln -sf /usr/lib/libXau.so.6.0.0 /usr/lib/libXau.so.0
321
322}
323
324pkg_postinst_${PN}-x11wsegl() {
325rm -f $D${sysconfdir}/powervr-esrev
326
327echo "[default]" > $D${sysconfdir}/powervr.ini
328echo "WindowSystem=libpvrPVR2D_X11WSEGL.so.1" >> $D${sysconfdir}/powervr.ini
329}
330
331pkg_postinst_${PN}-driwsegl() {
332rm -f $D${sysconfdir}/powervr-esrev
333}
diff --git a/recipes-graphics/libgles/libgles-omap3-x11_4.09.00.01.bb b/recipes-graphics/libgles/libgles-omap3-x11_4.09.00.01.bb
deleted file mode 100644
index 15aa8a67..00000000
--- a/recipes-graphics/libgles/libgles-omap3-x11_4.09.00.01.bb
+++ /dev/null
@@ -1,90 +0,0 @@
1require libgles-omap3-x11.inc
2
3LICENSE = "TI-TSPA"
4
5PR = "${INC_PR}.3"
6
7DEFAULT_PREFERENCE = "-1"
8
9BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
10BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
11BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
12BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
13
14PLATFORM = "LinuxARMV7"
15PVR_INIT = "pvrsrvctl"
16
17# download required binary distribution from:
18# http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html
19# see libgles-omap3.inc for detailed installation instructions
20
21SGXPV = "4_09_00_01"
22IMGPV = "1.9.2188537"
23
24TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
25
26# Select the corresponding hardfp/softfp filename and checksums based on tune flags
27BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
28MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d"
29SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
30
31BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin"
32MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67"
33SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b"
34
35BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}"
36
37SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
38 file://cputype \
39 file://rc.pvr \
40 file://rc_dri.pvr \
41 file://sample.desktop \
42 file://99-bufferclass.rules \
43"
44
45SRC_URI[md5sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}"
46SRC_URI[sha256sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}"
47
48S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
49
50LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_DRIWSEGL.so"
51
52do_configure_append() {
53
54 # Change PVR server's user mode library to point to DRI
55 for drifile in $(find ${S} -name "libsrv_um_dri.so"); do
56 if [ "$drifile" != "" ]
57 then
58 dir=$(dirname ${drifile})
59 if [ "$SUPPORT_XORG" = "1" ]
60 then
61 mv ${dir}/libsrv_um_dri.so ${dir}/libsrv_um.so
62 else
63 rm -rf ${dir}/libsrv_um_dri.so
64 fi
65 fi
66
67 done
68}
69
70do_install_append() {
71
72 # In this version of the graphics SDK the following directories do not exist:
73 # /GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/pvr2d.h (doesn't exist)
74 # /GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/GLES/egltypes.h (doesn't exist)
75 # Therefore, need to copy these files manually at the only location that they do exist
76 cp -pPr ${S}/include/pvr2d/*.h ${D}${includedir}
77 cp -pPr ${S}/include/OGLES/GLES ${D}${includedir}/
78
79 rm -f ${D}${sysconfdir}/init.d/pvr-init
80
81 if [ "$SUPPORT_XORG" = "1" ]; then
82 cp -pP ${WORKDIR}/rc_dri.pvr ${D}${sysconfdir}/init.d/pvr-init
83 else
84 cp -pP ${WORKDIR}/rc.pvr ${D}${sysconfdir}/init.d/pvr-init
85 fi
86
87}
88
89RRECOMMENDS_${PN}-x11demos = "${PN}-driwsegl"
90RRECOMMENDS_${PN}-x11trainingcourses = "${PN}-driwsegl"
diff --git a/recipes-graphics/libgles/libgles-omap3.inc b/recipes-graphics/libgles/libgles-omap3.inc
deleted file mode 100644
index 0b619460..00000000
--- a/recipes-graphics/libgles/libgles-omap3.inc
+++ /dev/null
@@ -1,439 +0,0 @@
1DESCRIPTION = "libGLES for the omap3"
2LICENSE = "proprietary-binary"
3# 'TSPA.txt' might not be the best file to md5sum
4LIC_FILES_CHKSUM = "file://TSPA.txt;md5=c0d5d9c1e38b41677144c4e24d6ddee1"
5
6PR = "r35"
7
8COMPATIBLE_MACHINE = "(omap3|ti814x|ti816x|ti33x)"
9
10X11DEPENDS = "virtual/libx11 libxau libxdmcp libdrm"
11DEPENDS = "${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}"
12
13export SUPPORT_XORG ?= "${@base_contains('DISTRO_FEATURES', 'x11', '1', '0', d)}"
14PVR_INIT ?= "pvrsrvinit"
15
16PROVIDES += "virtual/egl virtual/libgles1 virtual/libgles2"
17
18RREPLACES_${PN} = "libegl libgles1 libgles2"
19RREPLACES_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
20RREPLACES_${PN}-dbg = "libegl-dbg"
21
22SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
23 file://cputype \
24 file://rc.pvr \
25 file://sample.desktop \
26 file://99-bufferclass.rules \
27"
28
29S = "${WORKDIR}/OMAP35x_Graphics_SDK_${SGXPV}"
30
31# Logic to unpack installjammer file
32TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
33require ../../recipes-ti/includes/ti-eula-unpack.inc
34
35export BINLOCATION ?= "${S}/gfx_rel"
36export ES2LOCATION ?= "${S}/gfx_rel_es2.x"
37export ES3LOCATION ?= "${S}/gfx_rel_es3.x"
38export ES5LOCATION ?= "${S}/gfx_rel_es5.x"
39export ES6LOCATION ?= "${S}/gfx_rel_es6.x"
40export ES8LOCATION ?= "${S}/gfx_rel_es8.x"
41
42LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_FRONTWSEGL.so.1"
43
44do_configure() {
45 # Attempt to fix up the worst offenders for file permissions
46 for i in $(find ${S} -name "*.h") $(find ${S} -name "*.c") $(find ${S} -name "Make*") ; do
47 chmod 0644 $i
48 done
49
50 # Attempt to create proper library softlinks
51 for sofile in $(find ${S} -name "lib*Open*.so") $(find ${S} -name "lib*srv*.so") $(find ${S} -name "lib*gl*.so") $(find ${S} -name "libpvr*.so") $(find ${S} -name "lib*GL*.so"); do
52 if [ "$(readlink -n ${sofile})" = "" ] ; then
53 mv $sofile ${sofile}.${IMGPV}
54 ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}
55 ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}$(echo ${IMGPV} | awk -F. '{print "." $1}')
56 ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}$(echo ${IMGPV} | awk -F. '{print "." $1 "." $2}')
57 fi
58 done
59
60 # Due to recursive make PLAT_* isn't always passed down correctly, so use sed to fix those
61 for mak in $(find ${S} -name "*.mak") ; do
62 sed -i -e s:arm-none-linux-gnueabi-:${TARGET_PREFIX}:g $mak
63 done
64
65 # clear out old stuff
66 find Binaries/ | xargs rm -f || true
67}
68
69# Force in GNU_HASH and paths to libs
70TARGET_CC_ARCH += " ${TARGET_LINK_HASH_STYLE} -Wl,-rpath-link,${BINLOCATION} -L${BINLOCATION} \
71-L${STAGING_DIR_TARGET}${libdir} -Wl,-rpath-link,${STAGING_DIR_TARGET}${libdir}"
72PARALLEL_MAKE = ""
73
74PLATFORM ?= "LinuxOMAP3"
75
76do_compile() {
77 export TOOLCHAIN="${TOOLCHAIN_PATH}"
78 export PLAT_CC="${CC}"
79 export PLAT_CPP="${CXX}"
80 export PLAR_AR="${AR}"
81
82 if [ ${SUPPORT_XORG} -eq 1 ] ; then
83 export X11ROOT="${STAGING_DIR_HOST}/usr"
84 mkdir -p ${S}/demos/x11
85 mkdir -p ${S}/trainingcourses/x11
86 fi
87
88 mkdir -p ${S}/demos/raw
89 mkdir -p ${S}/trainingcourses/raw
90
91 # Rebuild demos
92 for X11BUILD in 0 1 ; do
93 # Don't rebuild demos with X11 support for a non X11 distro
94 if [ ${SUPPORT_XORG} -eq 0 -a $X11BUILD -eq 1 ] ; then
95 continue
96 fi
97
98 for demo in ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Demos/* ; do
99 cd $demo/OGLES/Build/LinuxGeneric
100 oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=$X11BUILD
101 rm $demo/OGLES/Build/${PLATFORM}/Release*/*.o
102
103 if [ $X11BUILD -eq 1 ] ; then
104 install -m 0755 $demo/OGLES/Build/${PLATFORM}/ReleaseX11/* ${S}/demos/x11 || true
105 sed -e s:NAME:$(basename $demo): \
106 -e s:EXEC:${bindir}/SGX/demos/X11/$(basename $demo/OGLES/Build/${PLATFORM}/ReleaseX11/*): \
107 ${WORKDIR}/sample.desktop > ${WORKDIR}/$(basename $demo).desktop
108 else
109 install -m 0755 $demo/OGLES/Build/${PLATFORM}/ReleaseRaw/* ${S}/demos/raw || true
110 fi
111 done
112
113 for demo in ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Demos/* ; do
114 cd $demo/OGLES2/Build/LinuxGeneric
115 oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=$X11BUILD
116 rm -f $demo/OGLES2/Build/${PLATFORM}/Release*/*.o
117
118 if [ $X11BUILD -eq 1 ] ; then
119 install -m 0755 $demo/OGLES2/Build/${PLATFORM}/ReleaseX11/* ${S}/demos/x11 || true
120 sed -e s:NAME:$(basename $demo): \
121 -e s:EXEC:${bindir}/SGX/demos/X11/$(basename $demo/OGLES2/Build/${PLATFORM}/ReleaseX11/*): \
122 ${WORKDIR}/sample.desktop > ${WORKDIR}/$(basename $demo).desktop
123 else
124 install -m 0755 $demo/OGLES2/Build/${PLATFORM}/ReleaseRaw/* ${S}/demos/raw || true
125 fi
126 done
127 done
128
129 find ${S} -name "*_org" -delete
130
131 # Build OGLES2 Trainingcourses
132 for X11BUILD in 0 1 ; do
133 # Don't rebuild training courses with X11 support for a non X11 distro
134 if [ ${SUPPORT_XORG} -eq 0 -a $X11BUILD -eq 1 ] ; then
135 continue
136 fi
137
138 for training in ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/TrainingCourse/* ; do
139 if [ -e $training/OGLES2/Build/LinuxGeneric/Makefile ] ; then
140 cd $training/OGLES2/Build/LinuxGeneric
141 fi
142
143 if [ -e $training/OGLES2/Build/${PLATFORM}/Makefile ] ; then
144 cd $training/OGLES2/Build/${PLATFORM}
145 fi
146
147 oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=$X11BUILD
148 rm -f $training/OGLES2/Build/${PLATFORM}/Release*/*.o
149
150 if [ $X11BUILD -eq 1 ] ; then
151 install -m 0755 $training/OGLES2/Build/${PLATFORM}/ReleaseX11/* ${S}/trainingcourses/x11 || true
152 else
153 install -m 0755 $training/OGLES2/Build/${PLATFORM}/ReleaseRaw/* ${S}/trainingcourses/raw || true
154 fi
155 done
156 done
157
158}
159
160do_install () {
161 install -d ${D}${libdir}
162 cp -pPR ${BINLOCATION}/*.so* ${D}${libdir}
163 install -m 0644 ${BINLOCATION}/*.a ${D}${libdir}
164
165 install -d ${D}${bindir}/
166 install -m 0755 ${WORKDIR}/cputype ${D}${bindir}/
167
168 install -m 0755 ${BINLOCATION}/*_test ${D}${bindir}/
169 install -m 0755 ${BINLOCATION}/gl* ${D}${bindir}/
170 install -m 0755 ${BINLOCATION}/${PVR_INIT} ${D}${bindir}/
171
172 if [ ${SUPPORT_XORG} -eq 1 ] ; then
173 install -m 0755 ${BINLOCATION}/xgles1test1 ${D}${bindir}/
174 install -m 0755 ${BINLOCATION}/freedesktop/kdrive/usr/X11R6_SGX/bin/Xsgx ${D}${bindir}/|| true
175 cp -pPR ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/${PLATFORM}/lib/*X11WS* ${D}${libdir} || true
176 fi
177
178 install -d ${D}${includedir}
179 cp -pPR ${S}/GFX_Linux_KM/include4 ${D}${includedir}/
180 cp -pPR ${S}/GFX_Linux_KM/services4 ${D}${includedir}/
181
182 cp -pPR ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/Include/* ${D}${includedir}/
183 cp -pPR ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/* ${D}${includedir}/
184 cp -pPR ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/${PLATFORM}/Include/GLES/* ${D}${includedir}/GLES/ 2>/dev/null || true
185 cp -pPr ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/${PLATFORM}/Include/GLES/* ${D}${includedir}/GLES2/ 2>/dev/null || true
186 cp -pPr ${S}/GFX_Linux_SDK/OVG/SDKPackage/Builds/OVG/Include/v* ${D}${includedir}/ 2>/dev/null || true
187 cp -pPr ${S}/GFX_Linux_SDK/OVG/SDKPackage/Builds/OVG/Include/V* ${D}${includedir}/ 2>/dev/null || true
188 cp -pPr ${S}/include/*.h ${D}${includedir} || true
189 cp -pPr ${S}/include/wsegl/*.h ${D}${includedir} || true
190
191 install -d ${D}${sysconfdir}/init.d/
192 cp -pP ${WORKDIR}/rc.pvr ${D}${sysconfdir}/init.d/pvr-init
193
194 install -d ${D}${sysconfdir}
195 echo "[default]" > ${D}${sysconfdir}/powervr.ini
196 echo "WindowSystem=${LIBGLESWINDOWSYSTEM}" >> ${D}${sysconfdir}/powervr.ini
197
198 # The ES2.x, ES3.x, ES5.x and ES6.x CPUs have different SGX hardware, so we need to install multiple sets of userspace
199
200 install -d ${D}${libdir}/ES8.0
201 install -d ${D}${libdir}/ES6.0
202 install -d ${D}${libdir}/ES5.0
203 install -d ${D}${libdir}/ES3.0
204 install -d ${D}${libdir}/ES2.0
205
206 install -d ${D}${bindir}/ES8.0
207 install -d ${D}${bindir}/ES6.0
208 install -d ${D}${bindir}/ES5.0
209 install -d ${D}${bindir}/ES3.0
210 install -d ${D}${bindir}/ES2.0
211
212 shared_prog="eglinfo pvr2d_test ${PVR_INIT} services_test sgx_blit_test sgx_clipblit_test sgx_flip_test sgx_init_test sgx_render_flip_test"
213 raw_prog="gles1test1 gles2test1 ovg_unit_test"
214 x11_prog="eglinfo_x xgles1test1 xgles2test1 xmultiegltest xovg_unit_test"
215
216 for esrev in 2 3 5 6 8 ; do
217 ESLOCATION=$(eval echo $(echo \$\{ES${esrev}LOCATION\}))
218 if [ -e ${ESLOCATION} ] ; then
219 cp -pPR ${ESLOCATION}/lib*${IMGPV} ${ESLOCATION}/pvr_drv.so ${ESLOCATION}/*.a ${D}${libdir}/ES${esrev}.0/
220 for esprog in $shared_prog $raw_prog ${@base_contains('DISTRO_FEATURES', 'x11',"$x11_prog","",d)} ; do
221 install -m 0755 ${ESLOCATION}/$esprog ${D}${bindir}/ES${esrev}.0/ 2>/dev/null || true
222 done
223 fi
224 done
225
226 rm ${D}${bindir}/ES*/*.h ${D}${bindir}/ES*/pdsasm ${D}${bindir}/pdsasm -f || true
227
228 install -d ${D}${prefix}/share/applications
229 cp ${WORKDIR}/*.desktop ${D}${prefix}/share/applications
230 rm ${D}${prefix}/share/applications/sample.desktop
231
232 if [ ${SUPPORT_XORG} -eq 1 ] ; then
233 install -d ${D}${bindir}/SGX/demos/X11/
234 install -m 0755 ${S}/demos/x11/* ${D}${bindir}/SGX/demos/X11/
235 install -d ${D}${bindir}/SGX/trainingcourses/X11 2>/dev/null || true
236 install -m 0755 ${S}/trainingcourses/x11/* ${D}${bindir}/SGX/trainingcourses/X11/ 2>/dev/null || true
237 fi
238
239 install -d ${D}${bindir}/SGX/demos/Raw/
240 install -m 0755 ${S}/demos/raw/* ${D}${bindir}/SGX/demos/Raw/
241 install -d ${D}${bindir}/SGX/trainingcourses/Raw 2>/dev/null || true
242 install -m 0755 ${S}/trainingcourses/raw/* ${D}${bindir}/SGX/trainingcourses/Raw/ 2>/dev/null || true
243
244
245 # Delete objects and linker scripts hidden between the headers
246 find ${D} -name "*.o" -delete
247 find ${D} -name "*.o.cmd" -delete
248
249 install -d ${D}${sysconfdir}/udev/rules.d
250 install -m 0644 ${WORKDIR}/99-bufferclass.rules ${D}${sysconfdir}/udev/rules.d/
251
252}
253
254PACKAGES =+ "${@base_contains('DISTRO_FEATURES', 'x11',"${PN}-x11demos ${PN}-x11trainingcourses xserver-kdrive-powervrsgx" ,"", d)} \
255 ${PN}-rawdemos ${PN}-rawtrainingcourses ${PN}-tests"
256# Package the base libraries per silicon revision
257PACKAGES =+ "${PN}-es2 ${PN}-es3 ${PN}-es5 ${PN}-es6 ${PN}-es8"
258RRECOMMENDS_${PN} += "${PN}-es2 ${PN}-es3 ${PN}-es5 ${PN}-es6 ${PN}-es8"
259FILES_${PN}-es2 = "${libdir}/ES2*/* ${bindir}/ES2*/*"
260FILES_${PN}-es3 = "${libdir}/ES3*/* ${bindir}/ES3*/*"
261FILES_${PN}-es5 = "${libdir}/ES5*/* ${bindir}/ES5*/*"
262FILES_${PN}-es6 = "${libdir}/ES6*/* ${bindir}/ES6*/*"
263FILES_${PN}-es8 = "${libdir}/ES8*/* ${bindir}/ES8*/*"
264
265# Stop shlib code from picking a subpackage
266PRIVATE_LIBS_${PN}-es2 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
267PRIVATE_LIBS_${PN}-es3 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
268PRIVATE_LIBS_${PN}-es5 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
269PRIVATE_LIBS_${PN}-es6 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
270PRIVATE_LIBS_${PN}-es8 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
271
272
273PACKAGES =+ "${PN}-blitwsegl ${PN}-flipwsegl ${PN}-frontwsegl ${PN}-linuxfbwsegl"
274PACKAGES =+ "${@base_contains('DISTRO_FEATURES', 'x11',"${PN}-x11wsegl ${PN}-driwsegl" ,"", d)}"
275FILES_${PN}-blitwsegl = "${libdir}/libpvrPVR2D_BLITWSEGL.so.*"
276FILES_${PN}-flipwsegl = "${libdir}/libpvrPVR2D_FLIPWSEGL.so.*"
277FILES_${PN}-frontwsegl = "${libdir}/libpvrPVR2D_FRONTWSEGL.so.*"
278FILES_${PN}-linuxfbwsegl = "${libdir}/libpvrPVR2D_LINUXFBWSEGL.so.*"
279FILES_${PN}-x11wsegl = "${libdir}/libpvrPVR2D_X11WSEGL.so* ${bindir}/x* ${bindir}/*x"
280FILES_${PN}-driwsegl = "${libdir}/libpvrPVR2D_DRIWSEGL.so* ${libdir}/libsrv_um_dri*"
281
282PACKAGES =+ "${PN}-blitwsegl-es2 ${PN}-blitwsegl-es3 ${PN}-blitwsegl-es5 ${PN}-blitwsegl-es6 ${PN}-blitwsegl-es8 ${PN}-flipwsegl-es2 ${PN}-flipwsegl-es3 ${PN}-flipwsegl-es5 ${PN}-flipwsegl-es6 ${PN}-flipwsegl-es8 ${PN}-frontwsegl-es2 ${PN}-frontwsegl-es3 ${PN}-frontwsegl-es5 ${PN}-frontwsegl-es6 ${PN}-frontwsegl-es8 ${PN}-linuxfbwsegl-es2 ${PN}-linuxfbwsegl-es3 ${PN}-linuxfbwsegl-es5 ${PN}-linuxfbwsegl-es6 ${PN}-linuxfbwsegl-es8"
283
284X11_SEGL = " ${PN}-x11wsegl-es2 ${PN}-x11wsegl-es3 ${PN}-x11wsegl-es5 ${PN}-x11wsegl-es6 ${PN}-x11wsegl-es8 ${PN}-driwsegl-es2 ${PN}-driwsegl-es3 ${PN}-driwsegl-es5 ${PN}-driwsegl-es6 ${PN}-driwsegl-es8 "
285PACKAGES =+ "${@base_contains('DISTRO_FEATURES', 'x11',"${X11_SEGL}" ,"", d)}"
286FILES_${PN}-blitwsegl-es2 = "${libdir}/ES2*/libpvrPVR2D_BLITWSEGL.so.*"
287FILES_${PN}-blitwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_BLITWSEGL.so.*"
288FILES_${PN}-blitwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_BLITWSEGL.so.*"
289FILES_${PN}-blitwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_BLITWSEGL.so.*"
290FILES_${PN}-blitwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_BLITWSEGL.so.*"
291RRECOMMENDS_${PN}-blitwsegl = " ${PN}-blitwsegl-es2 ${PN}-blitwsegl-es3 ${PN}-blitwsegl-es5 ${PN}-blitwsegl-es6 ${PN}-blitwsegl-es8"
292
293FILES_${PN}-flipwsegl-es2 = "${libdir}/ES2*/libpvrPVR2D_FLIPWSEGL.so.*"
294FILES_${PN}-flipwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_FLIPWSEGL.so.*"
295FILES_${PN}-flipwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_FLIPWSEGL.so.*"
296FILES_${PN}-flipwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_FLIPWSEGL.so.*"
297FILES_${PN}-flipwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_FLIPWSEGL.so.*"
298RRECOMMENDS_${PN}-flipwsegl = " ${PN}-flipwsegl-es2 ${PN}-flipwsegl-es3 ${PN}-flipwsegl-es5 ${PN}-flipwsegl-es6 ${PN}-flipwsegl-es8"
299
300FILES_${PN}-frontwsegl-es2 = "${libdir}/ES2*/libpvrPVR2D_FRONTWSEGL.so.*"
301FILES_${PN}-frontwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_FRONTWSEGL.so.*"
302FILES_${PN}-frontwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_FRONTWSEGL.so.*"
303FILES_${PN}-frontwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_FRONTWSEGL.so.*"
304FILES_${PN}-frontwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_FRONTWSEGL.so.*"
305RRECOMMENDS_${PN}-frontwsegl = " ${PN}-frontwsegl-es2 ${PN}-frontwsegl-es3 ${PN}-frontwsegl-es5 ${PN}-frontwsegl-es6 ${PN}-frontwsegl-es8"
306
307FILES_${PN}-linuxfbwsegl-es2 = "${libdir}/ES2*/libpvrPVR2D_LINUXFBWSEGL.so.*"
308FILES_${PN}-linuxfbwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_LINUXFBWSEGL.so.*"
309FILES_${PN}-linuxfbwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_LINUXFBWSEGL.so.*"
310FILES_${PN}-linuxfbwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_LINUXFBWSEGL.so.*"
311FILES_${PN}-linuxfbwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_LINUXFBWSEGL.so.*"
312RRECOMMENDS_${PN}-linuxfbwsegl = " ${PN}-linuxfbwsegl-es2 ${PN}-linuxfbwsegl-es3 ${PN}-linuxfbwsegl-es5 ${PN}-linuxfbwsegl-es6 ${PN}-linuxfbwsegl-es8"
313
314FILES_${PN}-x11wsegl-es2 = "${libdir}/ES2*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES2*/x* ${bindir}/ES2*/*x"
315FILES_${PN}-x11wsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES3*/x* ${bindir}/ES3*/*x"
316FILES_${PN}-x11wsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES5*/x* ${bindir}/ES5*/*x"
317FILES_${PN}-x11wsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES6*/x* ${bindir}/ES6*/*x"
318FILES_${PN}-x11wsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES8*/x* ${bindir}/ES8*/*x"
319RRECOMMENDS_${PN}-x11wsegl = " ${PN}-x11wsegl-es2 ${PN}-x11wsegl-es3 ${PN}-x11wsegl-es5 ${PN}-x11wsegl-es6 ${PN}-x11wsegl-es8"
320
321FILES_${PN}-driwsegl-es2 = "${libdir}/ES2*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES2*/libsrv_um_dri*"
322FILES_${PN}-driwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES3*/libsrv_um_dri*"
323FILES_${PN}-driwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES5*/libsrv_um_dri*"
324FILES_${PN}-driwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES6*/libsrv_um_dri*"
325FILES_${PN}-driwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES8*/libsrv_um_dri*"
326RRECOMMENDS_${PN}-driwsegl = " ${PN}-driwsegl-es2 ${PN}-driwsegl-es3 ${PN}-driwsegl-es5 ${PN}-driwsegl-es6 ${PN}-driwsegl-es8"
327
328CONFFILES_${PN} = "${sysconfdir}/powervr.ini"
329
330FILES_${PN} = "${sysconfdir} ${libdir}/*.so* ${bindir}/${PVR_INIT} ${bindir}/cputype ${bindir}/*"
331
332FILES_xserver-kdrive-powervrsgx = "${bindir}/Xsgx"
333FILES_${PN}-tests = "${bindir}/*test*"
334FILES_${PN}-dbg = "${libdir}/.debug/* ${bindir}/.debug/* \
335 ${libdir}/ES*/.debug ${bindir}/*/.debug\
336 ${bindir}/SGX/demos/*/.debug/* \
337 ${bindir}/SGX/trainingcourses/*/.debug/* \
338 "
339
340FILES_${PN}-rawdemos = "${bindir}/SGX/demos/Raw/*"
341FILES_${PN}-x11demos = "${bindir}/SGX/demos/X11/* ${prefix}/share/applications "
342RRECOMMENDS_${PN}-x11demos = "${PN}-x11wsegl"
343
344FILES_${PN}-rawtrainingcourses = "${bindir}/SGX/trainingcourses/Raw/*"
345FILES_${PN}-x11trainingcourses = "${bindir}/SGX/trainingcourses/X11/*"
346RRECOMMENDS_${PN}-x11trainingcourses = "${PN}-x11wsegl"
347
348# The libs need the kernel-modules
349RRECOMMENDS_${PN} += "omap3-sgx-modules"
350
351# The initscript calls fbset, cputype calls devmem2
352RDEPENDS_${PN} += "fbset devmem2"
353
354#HACK! These are binaries, so we can't guarantee that LDFLAGS match :(
355INSANE_SKIP_${PN} = "ldflags dev-so already-stripped"
356INSANE_SKIP_${PN}-es3 = "ldflags dev-so staticdev already-stripped"
357INSANE_SKIP_${PN}-es5 = "ldflags dev-so staticdev already-stripped"
358INSANE_SKIP_${PN}-es6 = "ldflags dev-so staticdev already-stripped"
359INSANE_SKIP_${PN}-es8 = "ldflags dev-so staticdev already-stripped"
360INSANE_SKIP_${PN}-rawdemos = "ldflags dev-so useless-rpaths already-stripped"
361INSANE_SKIP_${PN}-x11demos = "ldflags dev-so useless-rpaths already-stripped"
362INSANE_SKIP_${PN}-blitwsegl = "ldflags already-stripped"
363INSANE_SKIP_${PN}-blitwsegl-es3 = "ldflags already-stripped"
364INSANE_SKIP_${PN}-blitwsegl-es5 = "ldflags already-stripped"
365INSANE_SKIP_${PN}-blitwsegl-es6 = "ldflags already-stripped"
366INSANE_SKIP_${PN}-blitwsegl-es8 = "ldflags already-stripped"
367INSANE_SKIP_${PN}-flipwsegl = "ldflags already-stripped"
368INSANE_SKIP_${PN}-flipwsegl-es3 = "ldflags already-stripped"
369INSANE_SKIP_${PN}-flipwsegl-es5 = "ldflags already-stripped"
370INSANE_SKIP_${PN}-flipwsegl-es6 = "ldflags already-stripped"
371INSANE_SKIP_${PN}-flipwsegl-es8 = "ldflags already-stripped"
372INSANE_SKIP_${PN}-frontwsegl = "ldflags already-stripped"
373INSANE_SKIP_${PN}-frontwsegl-es3 = "ldflags already-stripped"
374INSANE_SKIP_${PN}-frontwsegl-es5 = "ldflags already-stripped"
375INSANE_SKIP_${PN}-frontwsegl-es6 = "ldflags already-stripped"
376INSANE_SKIP_${PN}-frontwsegl-es8 = "ldflags already-stripped"
377INSANE_SKIP_${PN}-linuxfbwsegl = "ldflags already-stripped"
378INSANE_SKIP_${PN}-linuxfbwsegl-es3 = "ldflags already-stripped"
379INSANE_SKIP_${PN}-linuxfbwsegl-es5 = "ldflags already-stripped"
380INSANE_SKIP_${PN}-linuxfbwsegl-es6 = "ldflags already-stripped"
381INSANE_SKIP_${PN}-linuxfbwsegl-es8 = "ldflags already-stripped"
382INSANE_SKIP_${PN}-x11wsegl = "ldflags dev-so already-stripped"
383INSANE_SKIP_${PN}-x11wsegl-es3 = "ldflags dev-so already-stripped"
384INSANE_SKIP_${PN}-x11wsegl-es5 = "ldflags dev-so already-stripped"
385INSANE_SKIP_${PN}-x11wsegl-es6 = "ldflags dev-so already-stripped"
386INSANE_SKIP_${PN}-x11wsegl-es8 = "ldflags dev-so already-stripped"
387INSANE_SKIP_${PN}-driwsegl = "ldflags dev-so already-stripped"
388INSANE_SKIP_${PN}-driwsegl-es3 = "ldflags dev-so already-stripped"
389INSANE_SKIP_${PN}-driwsegl-es5 = "ldflags dev-so already-stripped"
390INSANE_SKIP_${PN}-driwsegl-es6 = "ldflags dev-so already-stripped"
391INSANE_SKIP_${PN}-driwsegl-es8 = "ldflags dev-so already-stripped"
392INSANE_SKIP_${PN}-tests = "ldflags already-stripped"
393INSANE_SKIP_xserver-kdrive-powervrsgx = "ldflags already-stripped"
394
395# Quality control is really poor on these SDKs, so hack around the latest madness:
396FILES_${PN} += "${libdir}/*.so "
397FILES_${PN}-dev = "${includedir}"
398
399inherit update-rc.d
400
401INITSCRIPT_NAME = "pvr-init"
402INITSCRIPT_PARAMS = "start 30 5 2 . stop 40 0 1 6 ."
403
404# Append to update-rc.d postinst
405pkg_postinst_${PN}_append() {
406rm -f $D${sysconfdir}/powervr-esrev
407
408if [ ${SUPPORT_XORG} -eq 1 ] ; then
409 ln -sf /usr/lib/libXdmcp.so.6.0.0 /usr/lib/libXdmcp.so.0
410 ln -sf /usr/lib/libXau.so.6.0.0 /usr/lib/libXau.so.0
411fi
412
413}
414
415pkg_postinst_${PN}-blitwsegl() {
416rm -f $D${sysconfdir}/powervr-esrev
417}
418
419pkg_postinst_${PN}-flipwsegl() {
420rm -f $D${sysconfdir}/powervr-esrev
421}
422
423pkg_postinst_${PN}-frontwsegl() {
424rm -f $D${sysconfdir}/powervr-esrev
425}
426pkg_postinst_${PN}-linuxfbwsegl() {
427rm -f $D${sysconfdir}/powervr-esrev
428}
429
430pkg_postinst_${PN}-x11wsegl() {
431rm -f $D${sysconfdir}/powervr-esrev
432
433echo "[default]" > $D${sysconfdir}/powervr.ini
434echo "WindowSystem=libpvrPVR2D_X11WSEGL.so.1" >> $D${sysconfdir}/powervr.ini
435}
436
437pkg_postinst_${PN}-driwsegl() {
438rm -f $D${sysconfdir}/powervr-esrev
439}
diff --git a/recipes-graphics/libgles/libgles-omap3/99-bufferclass.rules b/recipes-graphics/libgles/libgles-omap3/99-bufferclass.rules
deleted file mode 100644
index 780423b9..00000000
--- a/recipes-graphics/libgles/libgles-omap3/99-bufferclass.rules
+++ /dev/null
@@ -1,7 +0,0 @@
1# Give everyone access to bufferclass nodes and make a compatibility symlink for the first one
2SUBSYSTEM=="bccat", MODE="0666"
3KERNEL=="bccat0", SYMLINK+="bc_cat", MODE="0666"
4
5# Give everyone access to v4l nodes
6SUBSYSTEM=="video4linux", MODE="0666"
7
diff --git a/recipes-graphics/libgles/libgles-omap3/cputype b/recipes-graphics/libgles/libgles-omap3/cputype
deleted file mode 100755
index 35268a80..00000000
--- a/recipes-graphics/libgles/libgles-omap3/cputype
+++ /dev/null
@@ -1,25 +0,0 @@
1#!/bin/sh
2
3legacy_machine_id() { # return the machine ID
4 awk 'BEGIN { FS=": " } /Hardware/ \
5 { gsub(" ", "_", $2); print tolower($2) } ' </proc/cpuinfo
6}
7
8machine_id() { # return the machine ID
9 cat /proc/cpuinfo | grep Hardware | awk -F" " '{ print $4 }'
10}
11
12if [ "$(machine_id)" = "ti8168evm" -o "$(legacy_machine_id)" = "ti8168evm" ] ; then
13 echo TI816x
14elif [ "$(machine_id)" = "AM33XX" -o "$(legacy_machine_id)" = "am335xevm" ] ; then
15 echo TI33XX
16elif [ "$(machine_id)" = "AM43" ] ; then
17 echo TI43XX
18else
19 devmem2 0x4800244c | \
20 grep 'Read at address' | \
21 sed -e 's/.*): //' | \
22 sed -e 's/0x00005C00/OMAP3503/' -e 's/0x00001C00/OMAP3515/' -e 's/0x00004C00/OMAP3525/' -e 's/0x00000C00/OMAP3530/' \
23 -e 's/0x00005E00/OMAP3503/' -e 's/0x00001E00/OMAP3515/' -e 's/0x00004E00/OMAP3525/' -e 's/0x00000E00/OMAP3530/' \
24 -e 's/0x00000CC0/OMAP3530/'
25fi
diff --git a/recipes-graphics/libgles/libgles-omap3/rc.pvr b/recipes-graphics/libgles/libgles-omap3/rc.pvr
deleted file mode 100755
index e5a4cd1e..00000000
--- a/recipes-graphics/libgles/libgles-omap3/rc.pvr
+++ /dev/null
@@ -1,124 +0,0 @@
1#!/bin/sh
2PATH=$PATH:/usr/sbin
3
4# Check if an fb device is available. If not then just go ahead and
5# exit because we have no display.
6fbset > /dev/null 2>&1
7if [ "$?" == "1" ]
8then
9 # looks like there is no display, so let's exit
10 exit 0
11fi
12
13BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
14YRES="$(fbset | grep geom | awk '{print $3}')"
15
16CPUTYPE="$(cputype)"
17
18if [ "$1" = "" ]; then
19 echo PVR-INIT: Please use start, stop, or restart.
20 exit 1
21fi
22
23if [ "$1" = "stop" -o "$1" = "restart" ]; then
24 echo Stopping PVR
25 rmmod bufferclass_ti
26 rmmod omaplfb 2>/dev/null
27 rmmod pvrsrvkm 2>/dev/null
28fi
29
30if [ "$1" = "stop" ]; then
31 exit 0
32fi
33
34# Set RGBA ordering to something the drivers like
35if [ "$BITSPERPIXEL" = "32" ] ; then
36 fbset -rgba 8/16,8/8,8/0,8/24
37fi
38
39# Try to enable triple buffering when there's enough VRAM
40fbset -vyres $(expr $YRES \* 3)
41
42sgxprepare () {
43 echo Starting PVR
44 insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
45
46 if [ "$?" != "0" ]
47 then
48 echo "Could not find pvrsrvkm driver"
49 exit 1
50 fi
51
52 modprobe omaplfb
53 modprobe bufferclass_ti
54
55 pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
56 bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
57
58 if [ -e /dev/pvrsrvkm ] ; then
59 rm -f /dev/pvrsrvkm
60 fi
61
62 mknod /dev/pvrsrvkm c $pvr_maj 0
63 chmod 666 /dev/pvrsrvkm
64
65 touch /etc/powervr-esrev
66
67 SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
68}
69
70sgxfinish () {
71 # Fix up a bug in opkg
72 if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
73 cd /usr/lib
74 ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
75 fi
76
77 if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
78 echo -n "Starting SGX fixup for"
79 echo " ES${ES_REVISION}.x"
80 cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
81 cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
82 echo "${ES_REVISION}" > /etc/powervr-esrev
83 fi
84
85 /usr/bin/pvrsrvinit
86}
87
88case $CPUTYPE in
89"OMAP3530")
90 sgxprepare
91
92 devmem2 0x48004B48 w 0x2 > /dev/null
93 devmem2 0x48004B10 w 0x1 > /dev/null
94 devmem2 0x48004B00 w 0x2 > /dev/null
95
96 ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
97
98 sgxfinish
99 ;;
100"TI33XX")
101 sgxprepare
102
103 devmem2 0x44e01104 w 0x0 > /dev/null
104 devmem2 0x44e00904 w 0x2 > /dev/null
105
106 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
107
108 sgxfinish
109 ;;
110"TI816x")
111 sgxprepare
112
113 devmem2 0x48180F04 w 0x0 > /dev/null
114 devmem2 0x48180900 w 0x2 > /dev/null
115 devmem2 0x48180920 w 0x2 > /dev/null
116
117 ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
118
119 sgxfinish
120 ;;
121*)
122 echo No SGX hardware, not starting PVR
123 ;;
124esac
diff --git a/recipes-graphics/libgles/libgles-omap3/sample.desktop b/recipes-graphics/libgles/libgles-omap3/sample.desktop
deleted file mode 100644
index 6bacac92..00000000
--- a/recipes-graphics/libgles/libgles-omap3/sample.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
1[Desktop Entry]
2Name=NAME Demo
3Comment=OGLES Demo
4Exec=EXEC
5Icon=star
6Type=Application
7Categories=Graphics;
8
diff --git a/recipes-graphics/libgles/libgles-omap3_4.05.00.03.bb b/recipes-graphics/libgles/libgles-omap3_4.05.00.03.bb
deleted file mode 100644
index 33836fb3..00000000
--- a/recipes-graphics/libgles/libgles-omap3_4.05.00.03.bb
+++ /dev/null
@@ -1,29 +0,0 @@
1BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
2BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
3BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
4BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
5
6require libgles-omap3.inc
7
8DEFAULT_PREFERENCE_omap3 = "99"
9
10# download required binary distribution from:
11# http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html
12# see libgles-omap3.inc for detailed installation instructions
13
14SGXPV = "4_05_00_03"
15IMGPV = "1.6.16.4117"
16BINFILE := "Graphics_SDK_setuplinux_${SGXPV}.bin"
17TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
18
19SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
20 file://cputype \
21 file://rc.pvr \
22 file://sample.desktop \
23 file://99-bufferclass.rules \
24"
25
26SRC_URI[md5sum] = "0e651eaa92bb91760f0b40a17697a7dc"
27SRC_URI[sha256sum] = "bfe764a8959556195545d6fff76f63a489642f345c105bbbc309a3f243c2dd0e"
28
29S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
diff --git a/recipes-graphics/libgles/libgles-omap3_4.09.00.01.bb b/recipes-graphics/libgles/libgles-omap3_4.09.00.01.bb
deleted file mode 100644
index 373dd9d2..00000000
--- a/recipes-graphics/libgles/libgles-omap3_4.09.00.01.bb
+++ /dev/null
@@ -1,46 +0,0 @@
1require libgles-omap3-no-x.inc
2
3LICENSE = "TI-TSPA"
4
5PR = "${INC_PR}.3"
6
7BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
8BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
9BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
10BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
11
12PLATFORM = "LinuxARMV7"
13PVR_INIT = "pvrsrvctl"
14
15# download required binary distribution from:
16# http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html
17# see libgles-omap3.inc for detailed installation instructions
18
19SGXPV = "4_09_00_01"
20IMGPV = "1.9.2188537"
21
22TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
23
24# Select the corresponding hardfp/softfp filename and checksums based on tune flags
25BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
26MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d"
27SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
28
29BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin"
30MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67"
31SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b"
32
33BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}"
34
35SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
36 file://cputype \
37 file://rc.pvr \
38 file://99-bufferclass.rules \
39"
40
41SRC_URI[md5sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}"
42SRC_URI[sha256sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}"
43
44S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
45
46LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_FRONTWSEGL.so.1"
diff --git a/recipes-graphics/libgles/libgles-omap3_5.01.01.01.bb b/recipes-graphics/libgles/libgles-omap3_5.01.01.01.bb
deleted file mode 100644
index 0b1b8ca6..00000000
--- a/recipes-graphics/libgles/libgles-omap3_5.01.01.01.bb
+++ /dev/null
@@ -1,50 +0,0 @@
1require libgles-omap3-no-x.inc
2
3LICENSE = "TI-TSPA"
4
5PR = "${INC_PR}.1"
6
7BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
8BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
9BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
10BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
11BINLOCATION_ti43x = "${S}/gfx_rel_es9.x"
12
13PLATFORM = "LinuxARMV7"
14PVR_INIT = "pvrsrvctl"
15
16SGXPV = "5_01_01_01"
17IMGPV = "1.10.2359475"
18
19TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
20
21BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin"
22MD5SUM_HARDFP = "94acdbd20152c905939c2448d5e80a72"
23SHA256SUM_HARDFP = "7f647bf45a5ce8ba9aaa28c4afe85fced4275f9a4567a1886d4460b76c9051ae"
24
25# For now we only have hardfp version
26python __anonymous() {
27 tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
28 if not tunes:
29 return
30 pkgn = bb.data.getVar("PN", d, 1)
31 pkgv = bb.data.getVar("PV", d, 1)
32 if "callconvention-hard" not in tunes:
33 bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
34 raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
35}
36
37BINFILE := "${BINFILE_HARDFP}"
38
39SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE} \
40 file://cputype \
41 file://rc.pvr \
42 file://99-bufferclass.rules \
43"
44
45SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
46SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
47
48S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
49
50LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_FRONTWSEGL.so.1"
diff --git a/recipes-graphics/libgles/libgles-omap3_5.01.01.02.bb b/recipes-graphics/libgles/libgles-omap3_5.01.01.02.bb
deleted file mode 100644
index 61a33954..00000000
--- a/recipes-graphics/libgles/libgles-omap3_5.01.01.02.bb
+++ /dev/null
@@ -1,50 +0,0 @@
1require libgles-omap3-no-x.inc
2
3LICENSE = "TI-TSPA"
4
5PR = "${INC_PR}.1"
6
7BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
8BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
9BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
10BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
11BINLOCATION_ti43x = "${S}/gfx_rel_es9.x"
12
13PLATFORM = "LinuxARMV7"
14PVR_INIT = "pvrsrvctl"
15
16SGXPV = "5_01_01_02"
17IMGPV = "1.10.2359475"
18
19TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
20
21BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin"
22MD5SUM_HARDFP = "94bcb31ea7eb50df1dfa4037055b638e"
23SHA256SUM_HARDFP = "54641222cdb49b03f996cbd6412de227198d9e084f5647d706bbf4217e8cdb07"
24
25# For now we only have hardfp version
26python __anonymous() {
27 tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
28 if not tunes:
29 return
30 pkgn = bb.data.getVar("PN", d, 1)
31 pkgv = bb.data.getVar("PV", d, 1)
32 if "callconvention-hard" not in tunes:
33 bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
34 raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
35}
36
37BINFILE := "${BINFILE_HARDFP}"
38
39SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE} \
40 file://cputype \
41 file://rc.pvr \
42 file://99-bufferclass.rules \
43"
44
45SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
46SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
47
48S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
49
50LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_FRONTWSEGL.so.1"