1
0
mirror of https://git.yoctoproject.org/meta-ti synced 2026-01-12 01:20:20 +00:00

Compare commits

...

201 Commits
dylan ... dora

Author SHA1 Message Date
Franklin S. Cooper Jr
d1578c08bd u-boot-ti-staging:_2013.10: Update to pull in critical fixes
* Critical fixes have been added to the ti-u-boot-2013.10 branch for AM4x.
* Update commit id to point to this new commit.
* For all other platforms nothing should have changed.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-06-23 12:23:53 -04:00
Hao Zhang
eb3821432d keystone: config: fix K2L boot monitor build target name error
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-06-16 18:23:18 -04:00
Denys Dmytriyenko
7eb568bda9 am180x-evm: don't request ubi FS w/o setting MKUBIFS and UBINIZE vars
It was ignored previously, but now it breaks the build.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-06-16 18:18:23 -04:00
Denys Dmytriyenko
4c4f7e1d12 Revert "dra7xx-evm: Add sgx to MACHINE_FEATURES"
Since sgx support is broken for newer kernels and Qt4, disable it for now
until Qt5 becomes default and kernel drivers are updated.

This reverts commit f9253dc88f.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-06-13 10:43:47 -04:00
Hao Zhang
72138932ea keystone: linux: add K2L and K2E DTB for RT build
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-06-10 22:12:10 -04:00
Hao Zhang
92effbbcad keystone: linux: add K2E and K2L DTB build support
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-06-10 22:12:03 -04:00
Denys Dmytriyenko
72def59ce0 linux-ti-staging: lower the preference for 3.15 recipe for now
* It breaks libgles/SGX due to missing omafb/omafb.h header
* Will be switching to 3.14 instead for LTS

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2014-05-29 14:56:37 -04:00
Hao Zhang
882c2acca7 keystone: u-boot: add build support for EMIF16 NAND gph image
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-29 14:56:22 -04:00
Denys Dmytriyenko
afabec7ba3 linux-ti-staging: fix _append/_prepend logic in prev changes
* Add a missing space to KERNEL_CONFIG_FRAGMENTS_append
* Use FILESEXTRAPATHS_prepend instead of _append version

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-23 23:13:47 -04:00
Maupin, Chase
5548cad9ff linux-ti-staging: Add version 3.15 of TI integration kernel
* Add version 3.15 of the TI integration kernel.  Major changes
  from previous version are:
    * Config fragments now come primarily from the integration
      tree.  Removed baseport and connectivity fragments for now
      and the others can be removed as they are added to the
      integration tree.
    * Added a non-smp.cfg config to disable SMP for single core
      devices instead of using a patch to the defconfig file as
      we did in the past.
* Use the right SRCREV

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-23 15:01:27 -04:00
Maupin, Chase
901b6c2b24 setup-defconfig: allow use of in-kernel config fragments
* Allow the use of in-kernel config fragments instead of only
  pulling config fragments from the OE meta data.
* The absolute path to the config fragment is used to allow
  pointing to different fragment locations.
* Update the linux-ti-staging_3.12 recipe which uses config
  fragments to specify the absolute path

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-23 15:01:21 -04:00
Maupin, Chase
803c7f96b7 linux-ti-staging: Make files directory version specific
* As we add the next version of the linux-ti-staging kernel there
  will be a different list of config fragments, removed patches,
  etc.  For this reason it makes sense to have the file directory
  be version specific

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-23 15:01:15 -04:00
Maupin, Chase
091a44e838 linux-ti-staging: Remove old 3.8 version
* The 3.8 version is replaced with v3.12 which has full support
  for all devices.
* As part of adding a v3.15 version cleanup the v3.8 version to
  reduce the number of kernels to latest and last stable.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-23 15:01:10 -04:00
Denys Dmytriyenko
aac938b153 linux-ti-staging: bump to 3.12.20 stable release
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-23 15:01:04 -04:00
Denys Dmytriyenko
86f7e559ac omap5-sgx-ddk-um-linux: remove version 1.9.0.10 as replaced by 1.9.0.12
Also version 1.9.0.10 of the recipe doesn't have necessary PROVIDES and
results in conflicts with mesa and other gl/gles providers.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-23 15:00:57 -04:00
Mrinmayee Hingolikar
f79abadb2b omap5-sgx-ddk-um-linux: Add version 1.9.0.12
* Pulled in latest version 1.9.0.12 from meta-ti-gsldk and
  preserved authorship for Mrinmayee
* Mark this recipe as providing the gles1, gles2, and egl
  libraries so that it doesn't conflict with other recipes like
  mesa and will be pulled in to satisfy those dependencies

Signed-off-by: Mrinmayee Hingolikar <mrinmayee@ti.com>
Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-21 16:23:41 -04:00
Maupin, Chase
f9253dc88f dra7xx-evm: Add sgx to MACHINE_FEATURES
* Add sgx to the MACHINE_FEATURES so that the dra7xx-evm can
  start including sgx libraries.  NOTE: currently there are
  no driver modules that work with v3.12 of the Linux kernel
  but this does work with version 3.8.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-21 15:40:19 -04:00
Mrinmayee Hingolikar
c5c384d009 bltsville: Add TI BLTsville library
* Migrated from meta-ti-glsdk and preserved authorship for
  Mrinmayee
* This library allows use of the GC320 2D blitter
* Modified for upstream:
    * LICENSE was changed to BSD-3-Clause but the TI-TSPA license
      is still present as well so modified this to be a dual
      license package.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-21 15:40:15 -04:00
Karthik Ramanan
d607e15547 vis: Add radio application firmware
* Migrated from meta-ti-glsdk and preserved authorship for
  Karthik
* Modified for upstream:
    * Made PACKAGE_ARCH machine specific
    * Removed bogus HOMEPAGE setting
    * Separated the firmware into a ${PN}-fw package and left the
      ARM side RadioApp in the base package.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-21 15:40:13 -04:00
Mrinmayee Hingolikar
445007a3e3 dspdce-fw: Add DSP firmware recipe
* Migrated the dspdce-fw recipe from meta-ti-glsdk and
  preserved authorship for Mrinmayee.
* Cleaned up for upstream:
    * Removed the MACHINE name from the recipe name
    * Used MACHINE variable in SRC_URI
    * Update to use default variables such as base_libdir

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-21 15:40:10 -04:00
Mrinmayee Hingolikar
4f1c668dc9 ipumm-fw: Add MM accelerator firmware recipe
* Based on recipes from meta-ti-glsdk and preserved authorship
  for Mrinmayee
* Modified for upstreaming:
    * Combined the dra7xx-evm and omap5-evm versions into a
      shared recipe.  This changes the recipe name to just
      ipumm-fw.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-21 15:39:55 -04:00
Maupin, Chase
7bfd7b5d15 ti-ipc: Consolidate IPC recipes with include file
* Update the 3.00.00 and 3.21.00.07 versions of ti-ipc to use
  a common ti-ipc.inc file which combines the configuration and
  installation steps for both to be common.
* Modify the tiiipclad-daemon.sh script to have a replacement
  variable so that it can be used for more than a single device.
* Move the tiipclad-daemon script to the ti-ipc directory with
  the rest of the files used by this recipe.
* Fix the permissions for the tiipclad-daemon script

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-21 15:39:43 -04:00
Mrinmayee Hingolikar
5e740e406e ti-ipc: Add version 3.21.00.07
* Added version 3.21.00.07 from the meta-ti-glsdk layer.
  Preserved authorship by Mrinmayee
* Cleaned up the recipe for upstream by removing the sed lines
  in do_configure and instead using EXTRA_OEMAKE values passed
  into the make process.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-21 15:39:34 -04:00
Maupin, Chase
983dd84d53 ti-ipc: Consolidate include file and old recipe
* The ti-ipc.inc file was for the legacy 1.24.00.16 version of
  ti-ipc.  So consolidate these files together since there is
  only one version of the ti-ipc recipe that needs that .inc
  file and there are no updates planned for it.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-21 15:39:25 -04:00
Hao Zhang
2f587a46d7 keystone: k2e-evm config: add k2e-evm machine config
Add a new k2e-evm machine config for Keystone II SoC family.

Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-21 15:13:23 -04:00
Hao Zhang
f6c89f01b7 keystone: k2l-evm conf: add k2l-evm machine config
k2l-evm machine config shares the same Keystone SoC family, it has K2L EVM
specific machine configuration for UBI image, boot monitor, U-boot, etc.

Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-21 15:13:15 -04:00
Hao Zhang
0f4c436a04 keystone: machine config: change machine config name from keystone-evm to k2hk-evm
Keystone II SOC family has multiple devices and EVMs: k2hk, k2l
and k2e, each EVM should have a separate machine config, and share
the common keystone SOC family.

Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-21 15:13:06 -04:00
Hao Zhang
e16b3f5c49 keystone: u-boot: rename tci6638 to k2hk evm config
Rename U-boot "tci6638_evm_config" to "k2hk_evm_config" to align
with DTB device name.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-21 15:12:51 -04:00
Denys Dmytriyenko
990d8f6225 linux-keystone: update to the latest tag 03.10.10_14.03_03
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-09 13:40:58 -04:00
Denys Dmytriyenko
6cdd462232 u-boot-keystone: update to the latest version
Modified version of the original patch from Sam Nelson

* Update source URL/REV
* Added SPI NOR binaries and deployed images

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-05-09 13:40:48 -04:00
Denys Dmytriyenko
323a782a84 linux-ti-staging: add baseport, connectivity, ipc and systest config fragments
Do not apply systest fragment by default on the production build.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Chase Maupin <chase.maupin@ti.com>
2014-05-06 18:09:16 -04:00
Denys Dmytriyenko
11cef2ccb3 setup-defconfig.inc: implement config fragments by using in-kernel script
* Use in-kernel merge_config.sh script and KERNEL_CONFIG_FRAGMENTS list
* Move copying provided defconfig from own task to do_configure() for atomicity
* Don't use curly brackets for shell variables to avoid conflict with Bitbake

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Chase Maupin <chase.maupin@ti.com>
2014-05-06 18:08:09 -04:00
Denys Dmytriyenko
ceb91a69d1 am437x-evm: increase LEB count to fit full rootfs
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2014-04-24 13:32:37 -04:00
Denys Dmytriyenko
97067d97d3 recipes: use proper TI-TSPA license name instead of TSPA
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-04-24 13:32:32 -04:00
Denys Dmytriyenko
758b4becfc am33x-cm3, ti-msp430: update license from TI-BSD to BSD-3-Clause
Per recommendation from OSRB and Legal.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-04-24 13:32:13 -04:00
Denys Dmytriyenko
7860fdf1e0 licenses: add standard TI licenses
The new Texas Instruments Text File License (TI-TFL) is now replacing the
old Technology and Software Publicly Available (TSPA) license. But there are
older versions of the components previously released under TI-TSPA license.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
Acked-by: Franklin Cooper Jr. <fcooper@ti.com>
2014-04-24 13:32:00 -04:00
Denys Dmytriyenko
ebc910f016 linux-ti-staging: update to the latest stable 3.12.17 version
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-04-11 15:44:18 -04:00
Denys Dmytriyenko
b5d21cb2f4 linux-mainline: add 3.14 mainline recipe
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-03-26 15:43:26 -04:00
Sam Nelson
6534ddcc6c keystone-evm: Update NAND size to 512 MB
- The keystone-evm actually has 512 MB Nand
   ( Changing from previous size of 128 MB)
- LEB calculated with reserved 10 MB for boot and 20 MB
  for receovery image

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-03-25 17:06:55 -04:00
Samuli Piippo
2c7119bfab libgles-omap3: create ESx.0 folders only if they exist
Instead of creating all folders, only create those that exist
in the Graphics SDK. This fixes QA issue with unshipped ES9.0
folder which does not exists in 4.09.00.01.

Signed-off-by: Samuli Piippo <samuli.piippo@digia.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-03-25 16:57:06 -04:00
Denys Dmytriyenko
d343e3021c u-boot-ti-staging: update with QSPI fixes
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-03-06 13:50:01 -05:00
Denys Dmytriyenko
df3e392464 linux-ti-staging: update with musb, QSPI and touchscreen fixes
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-03-06 13:49:58 -05:00
Sam Nelson
2c3d72b181 ti-ipc: Add recipe for ti-ipc version 3.0.x
- Supports communication between processors in TI keystone architecture

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-03-04 23:40:53 -05:00
Denys Dmytriyenko
2d2af9cd29 linux-ti-staging: rebase patch to disable SMP to apply cleanly
No PR bump is needed.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-27 14:08:28 -05:00
Denys Dmytriyenko
4acd58e753 linux-ti-staging: latest performance, connectivity, audio and PM fixes
Most patches were merged in the kernel, remove locally

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-27 13:43:39 -05:00
Sam Nelson
12905c6428 linux-keystone: Update latest tag
Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-26 16:33:32 -05:00
Denys Dmytriyenko
ff8c391fdb linux-ti-staging: ARM_SCU patch got merged, add PREEMPT_VOLUNTARY patch, reshuffle
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-24 20:53:40 -05:00
Denys Dmytriyenko
29de82b1b5 linux-ti-staging: add latest critical fixes locally for now
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-21 12:05:16 -05:00
Franklin S. Cooper Jr
a5616a99d2 Graphics SDK: Add version 05.01.01.01
* Add latest version of the Graphics SDK that includes bug fixes.
* Fixed Suspend and Resume issue on AM43x.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-21 10:55:09 -05:00
Denys Dmytriyenko
8ec2048cfb linux-omap-psp: specify branch for bitbake to find SRCREV
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-21 10:46:16 -05:00
Denys Dmytriyenko
8626009864 linux-ti-staging: remove local patches that got merged to kernel tree
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-18 11:47:13 -05:00
Denys Dmytriyenko
ec8544247c linux-ti-staging: drop SMP-disabling patch that breaks suspend/resume
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-17 10:29:12 -05:00
Denys Dmytriyenko
58140ec4f4 linux-ti-staging: update with QSPI partition fixes and properly list LCD patches
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-14 17:31:08 -05:00
Denys Dmytriyenko
ce2c6835ca linux-ti-staging: update with v2 of LCD resume fixes
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-14 16:45:33 -05:00
Denys Dmytriyenko
9d9cee21c5 am33x-cm3: update with I2C clock rate calculation fixes
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-13 17:58:57 -05:00
Denys Dmytriyenko
12482f8f91 linux-ti-staging: apply network performance and LCD fixes locally for now
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-13 17:58:57 -05:00
Denys Dmytriyenko
2506f037aa linux-ti-staging: update with PM, connectivity and Display/Audio fixes
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-11 16:54:44 -05:00
Denys Dmytriyenko
4c7332752c u-boot-ti-staging: update with QSPI partition size changes
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-11 16:54:44 -05:00
Denys Dmytriyenko
1923b5f921 u-boot-ti-staging: update with fixes for NAND partition names and sizes
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-06 22:17:03 -05:00
Denys Dmytriyenko
cb01c93702 linux-ti-staging: update to 3.12.10, merge Audio/Display fixed
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-06 22:17:00 -05:00
Denys Dmytriyenko
e786a9e186 am33x-cm3: update md5 for license reformat, fix CC unset issue
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-06 01:01:26 -05:00
Denys Dmytriyenko
53703700b3 u-boot-ti-staging: update with many fixes for the upcoming release
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-05 21:39:04 -05:00
Denys Dmytriyenko
466e558617 linux-ti-staging: update with many fixes for the upcoming release
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-05 21:39:04 -05:00
Denys Dmytriyenko
fe1f2777d0 am33x-cm3: update with FW version 0x185 aka 05.00.00.02
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-05 21:39:04 -05:00
Baptiste DURAND
499b62588b linux-omap4 3.4: Fix random segfaults and boot issues seen with gcc 4.8
Based on work
87efc663c4

Signed-off-by: Baptiste DURAND <baptiste.durand@gmail.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-05 18:35:49 -05:00
Sam Nelson
0bc3d9bb11 linux-keystone-rt: Add new recipe for build rt-kernel
- Builds kernel tree with RT patches

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-05 18:30:11 -05:00
Sam Nelson
467cfb121e linux-keystone: Update to linux kernel version 3.10
- Updated Source URL & version
- Added device tree file
- Added LOADADDR extra args
- Added PV 3.10.10

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-05 17:59:50 -05:00
Sam Nelson
c5e7cb5109 keystone: Add pci feature to MACHINE Keystone
- Device support pci interface

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-02-05 17:59:50 -05:00
Denys Dmytriyenko
2b524321a2 sdcard_image: remove deprecated class
This class has been deprecated for a while. The recommended replacement is
to use Yocto Project's new "wic" tool.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-01-29 16:06:58 -05:00
Sam Nelson
bb88de3462 boot-monitor: keystone-evm: update to latest version
- Update SRC URL
- Update Revision string
- Update SRCREV commit id

Signed-off-by: Sam Nelson <sam.nelson@ti.com>

-----
Updated Revision numbers
-----
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-01-27 20:00:13 -05:00
Sam Nelson
b17cf2d6f1 cmem: adding new recipe for cmem
cmem module provides user space contiguous memory allocation

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-01-27 16:21:20 -05:00
Denys Dmytriyenko
02410a889e linux-ti-staging: update to stable 3.12.9, other bugfixes
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-01-27 14:38:50 -05:00
Denys Dmytriyenko
280c88666f linux-ti-staging: update to stable 3.12.8, other bugfixes
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-01-23 13:53:24 -05:00
Chase Maupin
21d21908c8 linux-ti-staging: remove initscript dependency
* Remove the RDEPENDS for the am33x-cm3-initscript package since
  the latest kernel source use the hotplug functionality to load
  the firmware.
* Updated the SRCREV to the latest kernel sources which include
  the hotplug fix.
* Bump the MACHINE_KERNEL_PR for the am335x and am437x devices
  which are affected.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-01-17 12:34:22 -05:00
Chase Maupin
31fc390ec5 am33x-cm3: clarify when initscripts are needed
Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-01-17 12:34:22 -05:00
Chase Maupin
04166046ed omap-a15: set the UBI_VOLNAME to match u-boot default
* By setting the UBI_VOLNAME variable the default name for the
  UBI rootfs will match the default used by u-boot so images
  built through OpenEmbedded will work with out-of-box u-boot.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-01-17 12:34:22 -05:00
Samuli Piippo
f9411677f9 libgles-omap3: add missing INSANE_SKIP for es9
es9 package was missing INSANE_SKIP used for other esX packages.

Signed-off-by: Samuli Piippo <samuli.piippo@digia.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-01-17 12:34:22 -05:00
Denys Dmytriyenko
1305132ed6 vpe-vpdma: update SRCREV and pass CROSS_COMPILE
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-01-17 12:34:22 -05:00
Chase Maupin
327187973e Graphics SDK: Add 5.01.00.01 version
* Add the 5.01.00.01 version of the graphics SDK which supports
  suspend/resume operations for the v3.12 and later kernels.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-01-14 15:29:55 -05:00
Chase Maupin
c7df1eec2b linux-ti-staging: Add dependency for VPE firmware
* The VPE firmware should only be added for the dra7xx-evm
  machine type since that is the device with the VPE IP.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-01-14 15:29:44 -05:00
Chase Maupin
5253225aaa vpe-vpdma: Package for VPE DMA FW and test app
* This recipe will create the firmware and test application
  packages.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2014-01-14 15:29:30 -05:00
Denys Dmytriyenko
85c3554110 linux-ti-staging: update with fix for remoteproc/DT conflict
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-12-18 12:54:57 -05:00
Denys Dmytriyenko
27b1d08a4e u-boot-ti-staging: update with am43x dtb relocation fix
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-12-17 21:40:11 -05:00
Denys Dmytriyenko
0d5b0cab9d linux-ti-staging: update with fixes for platform and connectivity
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-12-17 21:40:11 -05:00
Chase Maupin
be7a5b8c57 am33x-cm3: Add support for ti43x devices
* The ti43x devices use the same firmware image but load it
  slightly differently.
* Add a different init script to load the firmware image for
  ti43x devices.
* Because there are different init script make the package
  machine specific.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-12-14 02:29:59 -05:00
Denys Dmytriyenko
05bbc5ff52 u-boot-ti-staging: update with omap5 clock fix
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-12-14 02:24:02 -05:00
Denys Dmytriyenko
abc894ec7f linux-ti-staging: update with fixes for audio-display and connectivity
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-12-14 02:24:02 -05:00
Denys Dmytriyenko
e22a920b73 u-boot-ti-staging: update with more fixes for release
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-12-11 18:37:42 -05:00
Denys Dmytriyenko
e705228ff3 linux-ti-staging: update to 3.12.4 with more fixes for release
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-12-11 18:37:42 -05:00
Denys Dmytriyenko
ea8dc988e3 am33x-cm3: update to v05.00.00.01 version
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-12-11 18:37:42 -05:00
Denys Dmytriyenko
5cde1e9e09 am437x-evm.conf: update UBI values specific to AM437x NAND
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-12-11 18:37:42 -05:00
Denys Dmytriyenko
24e01a7268 linux-ti-staging: update to 3.12.2 plus fixes in connectivity, pm, rpmsg etc.
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-12-07 16:29:27 -05:00
Denys Dmytriyenko
e95731b49d libgles-omap3, omap3-sgx-modules: swap around DEFAULT_PREFERENCE setting
This way the default for am335x and am437x will be the new 5.00.00.01 Graphics
SDK release, that matches the default 3.12 kernel.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Franklin Cooper Jr. <fcooper@ti.com>
2013-12-04 14:52:36 -05:00
Denys Dmytriyenko
fa822379ad omapdrm-pvr: fix the license definition
From the README file:

You may use, distribute and copy this software under the terms of the MIT
license.  Details of this license can be found in the file "MIT-COPYING".

Alternatively, you may use, distribute and copy this software under the terms
of the GNU General Public License version 2.  The full GNU General Public
License version 2 can be found in the file "GPL-COPYING".

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-11-25 09:35:02 -05:00
Franklin S. Cooper Jr
6f1ab0fe37 ti43x.inc: Add SGX as MACHINE_FEATURES
* New Graphics SDK with am43x support has been added.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-11-22 13:57:11 -05:00
Denys Dmytriyenko
d6dc5d7bd1 linux-ti-staging: 3.12.1, SGX DT, fixes in audio/display, connectivity, pm, etc.
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-11-22 13:54:11 -05:00
Denys Dmytriyenko
fe468b0dd5 linux-ti-glsdk: omap5-sevm DTB no longer exists
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-11-22 02:38:12 -05:00
Denys Dmytriyenko
3c401ae6d9 recipes-bsp: add recipe for PowerVR SGX544MP2 kernel drivers
* The PowerVR SGX544MP2 is found on omap5 and dra7xx devices. This
  recipe adds support for the PowerVR graphics subsystem.

Signed-off-by: Mrinmayee Hingolikar <mrinmayee@ti.com>
Signed-off-by: Siddharth Heroor <heroor@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-11-22 02:38:12 -05:00
Mrinmayee Hingolikar
8ade2a489a libgles: added OMAP5 libs for graphics acceleration
These libraries are not distributable in source and hence
are available only as binary. They implement OpenGLES 1.x and
OpenGLES 2.x accelerated using SGX 544-MP2 found in OMAP5
class of devices.

Signed-off-by: Mrinmayee Hingolikar <mrinmayee@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-11-21 23:18:17 -05:00
Mrinmayee Hingolikar
46e020df8e abefw: firmware for OMAP4 and OMAP5 ABE
The OMAP5 Audio Backend requires a 'firmware' to enable
  sound. This recipe installs a prebuilt firmware. This
  part is a hack, as in the current form, the firmware
  cannot be cross-compiled. There is a plan to fix this
  and hopefully, this recipe is short-lived. Once the code
  is fixed, we should have new recipes that build the firmware
  and clean up this recipe.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-11-21 23:18:17 -05:00
Mrinmayee Hingolikar
5d0302db82 u-boot-glsdk: update to latest fixes
* Migration of u-boot code to omapzoom.org. The development tree is shared
  between the Linux and Android teams.This enables a common u-boot development
  platform for both the teams for better alignment.
* Enable UART boot mode for dra7xx
* Add VIP,VPE and Ethernet crossbar setting for dra7xx
* Add SPL API, QSPI, and serial flash support of dra7xx

Signed-off-by: Mrinmayee Hingolikar <mrinmayee@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-11-21 23:18:17 -05:00
Denys Dmytriyenko
cc4221a100 libgles-omap3: update cputype to support 3.12 and AM43x device
Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-11-21 21:52:02 -05:00
Denys Dmytriyenko
e1351fa799 omap3-sgx-modules: add new Graphics SDK 05.00.00.01 alpha release
* Initial support for AM43x platform
* 3.12 kernel support for AM335x & AM43x

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-11-21 21:51:57 -05:00
Denys Dmytriyenko
afcfeba4e6 libgles-omap3: add new Graphics SDK 5.00.00.01 alpha release
* Adds initial support for AM43x platform
* Supports 3.12 kernel for AM335x and AM43x

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-11-21 21:51:49 -05:00
Franklin S. Cooper Jr
767fd6ec40 libgles-omap3: Add support for AM43x in common libgles-omap3 include files
Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-11-21 21:51:39 -05:00
Denys Dmytriyenko
a226182089 layer.conf: revert previous prepending to BBPATH change
This reverts commit 35234fa937.

This was mainly needed for DTB fix that is specific to dylan branch and
is not required for master, plus it complicates life for other layers.

There is still a problem with Poky when manually adding layers and not
thinking about the correct order...

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-11-12 00:52:48 -05:00
Denys Dmytriyenko
80a55c8937 linux-ti-staging: update with the final 3.12 release
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-11-04 19:29:32 -05:00
Denys Dmytriyenko
35234fa937 layer.conf: prepend instead of append to sort before oe-core in BBPATH
This helps avoid bblayers.conf ordering issues, when temporarily overriding
files from oe-core in meta-ti.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-11-04 15:00:32 -05:00
Denys Dmytriyenko
d3a24f40b9 mesa: remove local bbappends, as now mesa-gl provides virtual/libgl
With the recent introduction of mesa-gl, there is no longer a need to override
main mesa PROVIDES list to avoid conflicts with libgles-omap3, remove bbappends

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-11-04 14:36:09 -05:00
Mrinmayee Hingolikar
15243e8ec3 linux-ti-glsdk: Update to latest fixes
* Kernel source migration from git.ti.com to omapzoom.org. The development
  tree is shared between the Linux and Android teams.This enables a common
  kernel development platform for both the teams for better alignment.
* Add support for VIP and VPE
* Add wilink/wlan support
* Enable rpmsg/remoteproc driver for multimedia

Signed-off-by: Mrinmayee Hingolikar <mrinmayee@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-11-01 16:14:12 -04:00
Denys Dmytriyenko
058a386cd1 am33x-cm3: update to specify correct tag and branch
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-11-01 11:56:10 -04:00
Denys Dmytriyenko
2035209f3e linux-ti-staging: update to 3.12-rc7 and latest merges of feature trees
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-10-30 10:42:04 -04:00
Denys Dmytriyenko
693b976e2b am33x-cm3: update PM firmware for AM335x to 05.00.00.00
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Dave Gerlach <d-gerlach@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
Cc: Carlos Hernandez <ceh@ti.com>
Cc: Russ Dill <Russ.Dill@ti.com>
2013-10-29 13:44:53 -04:00
Chase Maupin
466c2ab71c linux-ti-staging: Update for AM437x GP EVM DTB
Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-10-25 17:58:53 -04:00
Chase Maupin
fe3eb57f58 dra7xx-evm: remove u-boot preferred provider
* Now the DRA7xx support is fully merged into upstream u-boot
  then we can remove setting the PREFERRED_PROVIDER for
  u-boot and virtual/bootloader to u-boot-dra7xx and instead
  pick up the default setting from the omap-a15.inc file.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-10-22 16:26:27 -04:00
Denys Dmytriyenko
c115046649 linux-ti-staging: update to 3.12-rc5 and latest merges of feature trees
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-10-18 12:43:25 -04:00
Chase Maupin
3f3bad8889 u-boot-ti-staging: update to 2013.10 release
* Update the U-Boot LICENSE md5sum for the new release.
* Update the PV for the new U-Boot release
* Add the SRCREV that points to the 2013.10 release
* Use the ti-u-boot-2013.10 branch

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-10-18 12:21:30 -04:00
Denys Dmytriyenko
b3df09902d recipes: cruft removal and seasonal cleanup
* Eliminate need for BBMASK - remove images requiring systemd/angstrom dependency
* Move ti-test packagegroup to proper location and update from latest Arago
* Move BoneScript and Bone GSG recipes to recipes-ti/beagleboard
* README in recipes-ti warns about unsupported nature of those packages

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-10-14 12:32:52 -04:00
Franklin S. Cooper Jr
466575a7e7 machine conf: Set correct default ubi volume name for 335x and 437x
* For am335x and am437x, the kernel and  u-boot expects the ubifs volume name
  to be set to "rootfs".
* Set UBI_VOLNAME variable to "rootfs" so that the ubifs files generated by OE
  will work.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-10-13 17:56:28 -04:00
Franklin S. Cooper Jr
5a74c8a01b linux-ti-staging: Switch DTB from using machine name to soc family name
* Use SOC family value for am437x instead of machine name for DTB files.
* This mimics the current approach taken for am335x.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-10-10 18:47:36 -04:00
Denys Dmytriyenko
6903f2aba8 ti33x: switch KERNEL_IMAGETYPE to zImage by default
To be used with latest u-boot that prefers zImage over uImage

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2013-10-10 12:18:16 -04:00
Denys Dmytriyenko
acdd0cba6d linux-ti-staging: merged PM, platform & connectivity, install boneblack DTB
* The PM for TI parts was merged in
* Platform and connectivity got updated
* Since we now have separate DTB for BeagleBone Black, install it too

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-10-09 13:27:13 -04:00
Denys Dmytriyenko
b4f33a5a40 linux-ti-staging: bump to 3.12-rc4 with latest merges
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-10-08 12:18:49 -04:00
Denys Dmytriyenko
b739286d69 linux-ti-kernel: update with more merges, get devtree files in to rootfs
Set up the run-time dependency on the package with devicetree files to be
installed in /boot directory of the rootfs. The new U-boot prefers to load
them from /boot directory of the rootfs instead of the separate boot partition.
Also, there are some specific requirements for naming DTB files in /boot
directory (like no extra prefixes), but that should be addressed separately.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-10-04 14:41:37 -04:00
Denys Dmytriyenko
2b089a561d u-boot-ti-staging: update to the latest 2013.10-rc4, README changed slightly
* Bump the SRCREV for 2013.10-rc4 pre-release
* The Licenses/README file has been changed with new licenses added, but the
  general license hasn't changed from GPLv2, so re-hash the file

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Cc: Tom Rini <trini@ti.com>
2013-10-04 14:41:33 -04:00
Denys Dmytriyenko
9c36e6c757 linux: set PR from MACHINE_KERNEL_PR, bypass machine_kernel_pr.bbclass from meta-oe
Essentially, machine_kernel_pr.bbclass does this one line assignment, but
introduces a new unnecessary dependency on meta-openembedded/meta-oe layer.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-09-30 16:36:56 -04:00
Denys Dmytriyenko
c92678ad4d linux-ti-staging: update to 3.12-rc3 with rpmsg, connectivity, audio and display merged
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-09-30 16:36:48 -04:00
Denys Dmytriyenko
a44d61576a linux-keystone: update from 3.6.6 to 3.8.4
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-09-30 16:36:40 -04:00
Denys Dmytriyenko
b742bb4375 linux-omap-psp-2.6.32: remove old linux-omap3 PSP kernel
* Many machines are supported by newer 3.x kernel recipes
* Few old platforms are still supported by 2.6.37 recipes
* Some platforms are not supported in meta-ti, like Crane, Touchbook, Overo
* For any platform still requiring this outdated kernel, the recipe can be picked
  up from Danny or Denzil

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-09-30 16:36:31 -04:00
Denys Dmytriyenko
9f4e9c44f4 linux-davinci 2.6.32: remove old hawkboard-specific kernel
* Hawkboard platform is not supported in meta-ti.
* Since there no new revs of the kernel, the old recipe can be picked up from
  Danny or Denzil.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Franklin Cooper Jr. <fcooper@ti.com>
2013-09-30 16:36:24 -04:00
Denys Dmytriyenko
c08098f04d linux-omap4-3.1.0: remove old pandaboard-specific kernel
Pandaboard is supported by newer 3.4+ kernel recipes.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-09-30 16:36:15 -04:00
Denys Dmytriyenko
c168b9dca4 linux-3.0: remove old beagleboard-specific 3.0 and 3.1rc kernel recipes
Beagleboard is supported by newer 3.2 and 3.3.7 kernel recipes.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Franklin Cooper Jr. <fcooper@ti.com>
2013-09-30 16:36:04 -04:00
Denys Dmytriyenko
8c96f41ba6 linux-omap-2.6.39: remove old beagleboard-specific and not supported kernel
Beagleboard is supported by newer 3.x kernel recipes.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Franklin Cooper Jr. <fcooper@ti.com>
2013-09-30 16:35:52 -04:00
Denys Dmytriyenko
4b78ad59df Revert "linux: Inherit new machine_kernel_pr class"
This adds a new mandatory dependency on meta-openembedded layer. While we are
still trying to resolve an existing optional dependency, not bring a new one.
The MACHINE_KERNEL_PR requirement will need to be handled differently.

This reverts commit 1450f19380.
2013-09-26 12:35:40 -04:00
Franklin S. Cooper Jr
1450f19380 linux: Inherit new machine_kernel_pr class
* MACHINE_KERNEL_PR was originally defined in the kernel class located in
  meta-oe which overrode the version of the class in oe-core.
* Some time ago kernel.bbclass was removed from meta-oe and a separate class
  machine_kernel_pr was created to add support for MACHINE_KERNEL_PR.
* Since this variable is used significantly in both meta-ti and meta-arago make
  sure all the kernel recipes directly or indirectly inherit this new class.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-09-25 18:50:18 -04:00
Denys Dmytriyenko
7b4870a30d linux-ti-staging: fix missing kernel image in /boot
We rely on kernel-base having run-time dependency on kernel-image, which
normally would pull uImage/zImage into /boot directory of rootfs.
Thanks to Chase for pointing me in the right direction by noticing that our
addition of cm3 firmware breaks that dependency for ti33x.
The reason for that is RDEPENDS is being conditionally assigned with ?=
in kernel.bbclass and using += with machine-override clears that value due
to the order of processing. Hence _append should be used instead of += to
process it after the machine-override takes place.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
Acked-by: Franklin Cooper Jr. <fcooper@ti.com>
2013-09-25 16:57:08 -04:00
Denys Dmytriyenko
ccc9b8c50c ti43x, omap-a15: switch KERNEL_IMAGETYPE to zImage by default
* To be used with latest u-boot, that prefers zImage over uImage
* ti33x will follow as soon as u-boot changes its default for that platform

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Cc: Tom Rini <trini@ti.com>
2013-09-25 16:57:04 -04:00
Denys Dmytriyenko
f472c8dca1 linux-ti-staging: make 3.12-rc the default for supported platforms, drop omap5-sevm.dtb
* DTB for OMAP5 sEVM was removed upstream, drop it from the recipe
* Don't mask the default preference to be picked up normally by supported machines

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Franklin Cooper Jr. <fcooper@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2013-09-25 16:56:58 -04:00
Denys Dmytriyenko
48887f4327 u-boot-ti-staging: update to the latest 2013.10-rc2 and make it the default
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Franklin Cooper Jr. <fcooper@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2013-09-25 16:56:53 -04:00
Denys Dmytriyenko
2173296d12 linux*: don't force KERNEL_IMAGETYPE from recipes, let machine config set it
Some kernel versions (and corresponding u-boot) may still need to set uImage,
as preferred image type, since the machine config changes preference to zImage
for newer kernels - keep that for ti33x and omap-a15 stuck on 3.2 and 3.8.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Franklin Cooper Jr. <fcooper@ti.com>
2013-09-25 16:56:48 -04:00
Denys Dmytriyenko
69723eef85 linux-ti-staging: bump to 3.12-rc1 with platform-base and PMIC merged
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Cc: Dan Murphy <DMurphy@ti.com>
2013-09-23 13:56:40 -04:00
Denys Dmytriyenko
384f3c57d3 ligles-omap3, omap3-sgx-modules: correct checksum assignment
Checksums are handled as var attributes and require immediate expansion,
so use := operation as in the original patches, that got lost in the update.
Otherwise do_fetch will fail to validate the checksums.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-09-16 18:04:39 -04:00
Denys Dmytriyenko
499fba5e6c libgles-omap3: add automatic selection between softfp and hardfp binaries
This is based on the work by Franklin Cooper, with following changes:
* Cleanup and simplify the logic
* Reduce the number of Python calls
* Expand support from Raw to X11 variant

The original description:
* The Graphics SDK includes some binaries that are prebuilt.
* These prebuilt binaries come in two versions of the Graphics SDK. By default
  the prebuilt binaries are built using a softfp toolchain. A separate hardfp
  Graphics SDK exist that contains binaries that are prebuilt with a hardfp
  toolchain.
* Add support for both by checking to see if the toolchain used in the OE build
  is using a hardfp or softfp toolchain.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Cc: Franklin S. Cooper Jr <fcooper@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2013-09-13 12:07:52 -04:00
Denys Dmytriyenko
bb8ab63ea9 omap3-sgx-modules: add automatic selection between softfp and hardfp binaries
This is based on the work by Franklin Cooper, with following changes:
* Cleanup and simplify the logic
* Reduce the number of Python calls
* Expand support from Raw to X11 variant

The original description:
* The Graphics SDK includes some binaries that are prebuilt.
* These prebuilt binaries come in two versions of the Graphics SDK. By default
  the prebuilt binaries are built using a softfp toolchain. A separate hardfp
  Graphics SDK exist that contains binaries that are prebuilt with a hardfp
  toolchain.
* Add support for both by checking to see if the toolchain used in the OE build
  is using a hardfp or softfp toolchain.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Cc: Franklin S. Cooper Jr <fcooper@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2013-09-13 12:07:48 -04:00
Denys Dmytriyenko
ed4ebd0b7c ti-pru-sw-edma-driver: let module.bbclass package modules automatically
The new method is to automatically package modules into kernel-module-<modname>
and make the custom name depend on the standard unified one. Messing with
FILES_${PN} usually causes problems, so avoid it and let module.bbclass do
it's magic.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-09-12 11:24:53 -04:00
Denys Dmytriyenko
f3c7afb5a3 ti-ocf-crypto-module: let module.bbclass package modules automatically
The new method is to automatically package modules into kernel-module-<modname>
and make the custom name depend on the standard unified one. Messing with
FILES_${PN} usually causes problems, so avoid it and let module.bbclass do
it's magic.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-09-10 13:41:31 -04:00
Denys Dmytriyenko
cb6f542fe8 libgles-omap3, omap3-sgx-modules: remove old 4.03.00.02 version
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-09-03 13:07:49 -04:00
Denys Dmytriyenko
9e07040a0b libgles-omap3: introduce INC_PR
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2013-09-03 13:07:45 -04:00
Denys Dmytriyenko
2b3f2c2939 libgles-omap3-x11: do not fail if pvr-init is not yet installed
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2013-09-03 13:07:41 -04:00
Denys Dmytriyenko
dc3f0f5c74 ompa3-sgx-modules-x11: fix some build failures with latest versions
* Do not hardcode kernel source location and name.
* Fix some discrepancies between GFX SDK versions as related to DRM.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2013-09-03 13:07:36 -04:00
Denys Dmytriyenko
338c5373aa libgles-omap3: fix some conflicts between X11 and Raw versions
* Properly define all PROVIDES, RPROVIDES, RCONFLICTS and RREPLACES variables.
* Skip X11 recipe altogether in non-X11 distros to avoid broken dependencies
  for missing X libraries.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2013-09-03 13:07:27 -04:00
Denys Dmytriyenko
a378dd0edc ti43x: disable sgx for now
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-08-28 10:52:49 -04:00
Denys Dmytriyenko
5a5d98c1ad linux-ti-staging/linux-ti-glsdk: adjust DTB handling to new syntax
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-08-27 21:27:54 -04:00
Denys Dmytriyenko
7144d488e7 am437x-evm: add machine config for Sitara AM437x EVM
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2013-08-26 10:35:54 -04:00
Denys Dmytriyenko
e75aa7f022 ti43x: add new SOC family for Sitara AM43xx Cortex-A9 processors
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2013-08-26 10:35:44 -04:00
Denys Dmytriyenko
66df71869c u-boot-ti-staging: add the latest integration tree in prep for 2013.10 release
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2013-08-26 10:35:41 -04:00
Denys Dmytriyenko
2550014973 linux-ti-staging: add the latest integration tree in prep for 3.12 release
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2013-08-26 10:35:37 -04:00
Denys Dmytriyenko
c3f7e586d5 boot-monitor: use commit ID instead of tag, update to latest release
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-08-23 15:44:14 -04:00
Valentin Cobelea
eb33051707 recipes-ti: fix warning "variable key FILES_${PN}-dev replaces original key"
Use properly FILES_${PN}-dev to avoid warning about replacing value with default.

Signed-off-by: Valentin Cobelea <valentin.cobelea@enea.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-08-19 19:21:21 -04:00
Ian Reinhart Geiser
bb82b0b279 xserver-xf86-config: Fix filespath usage
The old way of setting THISDIR in a bbappend clobbers THISDIR for
other layers.  This change makes it use the new way that is done
in dylan.

Signed-off-by: Ian Reinhart Geiser <igeiser@devonit.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-08-19 19:15:18 -04:00
Ian Reinhart Geiser
09d3398e80 formfactor: Fix filespath usage
The old way of setting THISDIR in a bbappend clobbers THISDIR for
other layers.  This change makes it use the new way that is done
in dylan.

Signed-off-by: Ian Reinhart Geiser <igeiser@devonit.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-08-19 19:15:18 -04:00
Denys Dmytriyenko
ed417f659a libdrm: restore libdrm-tests package that got missed with TI version
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-08-10 16:56:08 -04:00
Denys Dmytriyenko
8fc6ff04ff mesa: bump the version again to match oe-core
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-08-10 13:20:47 -04:00
Denys Dmytriyenko
3f3f05eea3 mesa: update bbappend to the latest version from oe-core
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-07-30 17:43:47 -04:00
Franklin S. Cooper Jr
41a214e8f6 u-boot: Add memory alignment fix for armv7 for am37x and am3517
* On am335x a memory alignment issue was found when using the Linaro toolchain.
* A similar patch was applied for am335x that fixed this well documented issue.
* Add a similar fix to am37x and am3517 since this is a generic armv7 issue.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-07-11 13:58:28 -04:00
Franklin S. Cooper Jr
f7b8ea2398 u-boot-am33x: Update am335x to use latest u-boot for 3.2 kernel
Latest commit includes the following:
* Add support for Beaglebone Black
* Add fix for Linaro toolchain to insure NOR and RNDIS works.
* Add workaround for Errata 1.0.24
* Enable DDR3 power down for BBB and GP evm.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-07-11 13:58:23 -04:00
Franklin S. Cooper Jr
29dc2a79e0 linux-am335x-psp: Add 1 GHZ Support for BBB
Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-07-02 12:00:49 -04:00
Franklin S. Cooper Jr
0bd76f05cd linux-am335x-psp: Add Beaglebone Black support
Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-07-02 12:00:43 -04:00
Franklin S. Cooper Jr
5649700b66 am33x-cm3: Add support for PG 2.1 silicon.
Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-07-02 12:00:37 -04:00
Franklin S. Cooper Jr
2a0dbeb5ae linux-am335x-psp: Add patch to enable SR on PG 2.x boards.
* Add patch that enables Smart Reflex on new PG 2.x boards.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-07-02 12:00:30 -04:00
Franklin S. Cooper Jr
c6f0b8c57f linux-am335x-psp: Enable USB with DMA by default
* Patches have been added to fix some USB with DMA.
* Enable support for this by default by removing the patch that disabled it.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-07-02 12:00:25 -04:00
Franklin S. Cooper Jr
a8bc4effa7 linux-am335x-psp: Update to PSP release 04.06.00.11
Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-07-02 12:00:20 -04:00
Siddharth Heroor
2eeba6ed4d u-boot-glsdk: add GLSDK Staging tree
* The GLSDK u-boot staging tree is based off the Core SDK 2013.04.02
  release. This tree will be used to stage patches and fixes on
  top of the Core SDK U-Boot. The GLSDK release will use this tree
  for product development.
* Includes fix to OMAP5 so that QSPI is not enabled.

Signed-off-by: Siddharth Heroor <heroor@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-07-02 11:39:19 -04:00
Siddharth Heroor
3075e00497 linux-ti-glsdk: update to latest fixes
* Fixes for USB, SATA and enables GPU (omapdrm).
* Fix OMAP5 LDO1 value.

Signed-off-by: Siddharth Heroor <heroor@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-07-02 11:39:10 -04:00
Siddharth Heroor
2144ae369a libdrm: Add GLSDK specific staging tree for omap-a15
* Override SRC_URI to use TI's tree at https://git.ti.com/glsdk/libdrm
  This tree includes patches on top of the upstream libdrm for
  omap5 and dra7xx class of devices.

v2 :
* Change PR to "${INC_PR}.0" instead of using the SRCREV as per comments
  received in v1.
* Add missing configure options to get Kernel Mode Setting (KMS) as
  well. This was missing in the original patch.

Signed-off-by: Mrinmayee Hingolikar <mrinmayee@ti.com>
Signed-off-by: Siddharth Heroor <heroor@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-07-01 00:55:01 -04:00
Siddharth Heroor
8ba1f54665 recipes-kernel: Add GLSDK specific kernel tree for omap-a15
* Machine compatible with only omap-a15 devices.
* The TI Staging tree will not be used to maintain K3.8. Instead,
  this new tree is set up as a production tree. Pending features
  for 3.8 will be implemented on this tree.
  - Backported features from linux mainline
  - Backported bug-fixes from linux mainline and linux-stable.
  - Features implemented by the GLSDK team which maybe product
    specific.
  This is the tree on which GLSDK kernel releases will be made.
* This recipe is based off the Core SDK 2013.04.02 released kernel
  recipe - recipes-kernel/linux/linux-ti-staging_3.8.bb

Signed-off-by: Siddharth Heroor <heroor@ti.com>
cc: Mrinmayee Hingolikar <mrinmayee@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-28 13:16:17 -04:00
Denys Dmytriyenko
32ec4417ad u-boot: add support for SPL UART variant
This is an adaptation of a patch by Carlos Hernandez

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-25 14:12:25 -04:00
Denys Dmytriyenko
bc80eb2756 init-ifupdown: move interfaces file from netbase to new init-ifupdown
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-21 16:06:15 -04:00
Denys Dmytriyenko
b122c64469 omap3-sgx-modules: remove unnecessary patches for x11, cleanup old patch
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-21 14:50:15 -04:00
Denys Dmytriyenko
139669f04a libgles-omap3-x11: add missing X11 version of the recipe, after it got split
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-21 14:43:25 -04:00
Denys Dmytriyenko
b02c0284fb libgles-omap3: don't RCONFLICT/RREPLACE no-x version with x11 as it breaks non-X distros
* Enables building/installing both X11 and RAW libs/demos. Plus otherwise the
  build is broken for non-X distros, as it pulls in X11 deps due to RREPLACES...
* Fix broken DEPENDS copy/paste typo.
* Also, clean up after the previous changes - extra empty lines, indentation, etc.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-21 14:43:25 -04:00
Prabindh Sundareson
df2d999252 omap3-sgx-modules-x11: Separate X11 SGX driver package into new recipe
omap3-sgx-modules now contains only non-X11 drivers. The X11 driver is
available in the omap3-sgx-modules-x11 package.

Signed-off-by: Prabindh Sundareson <prabu at ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-21 14:43:24 -04:00
Prabindh Sundareson
086be90ce8 libgles-omap3-x11: Separate X11 SGX driver package into new recipe
libgles-omap3 now contains only non-X11 drivers. The X11 driver is
available in the libgles-omap3-x11 package. This package has
dependency on specific kernel versions for DRM builds.

Signed-off-by: Prabindh Sundareson <prabu at ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-21 14:43:24 -04:00
Prabindh Sundareson
fb3742c11d libgles-omap3: Package files with right permission
This patch adds correct permissions for startup script pvr-init.

This is part of a clean up of the Graphics recipe starting from
4.09.00.01 version of the Graphics SDK.

Signed-off-by: Prabindh Sundareson <prabu at ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-21 14:43:24 -04:00
Prabindh Sundareson
0783a113fa libgles-omap3: Add missing RPROVIDES
RPROVIDES specifies the libraries that are dynamically loaded
at runtime. This patch fixes "no package provides libGLESv2.so" and
similar errors that occur when including packages like qtbase.

Signed-off-by: Prabindh Sundareson <prabu at ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-21 14:43:24 -04:00
Prabindh Sundareson
c4fa819032 libgles-omap3: Remove copying of unused header files
Current recipe copies lot of headers that are unused, including
unsupported files for OpenVG. This patch removes copying of such files.

Signed-off-by: Prabindh Sundareson <prabu at ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-21 14:43:24 -04:00
Prabindh Sundareson
91b307e78a libgles-omap3: Remove OpenVG references
OpenVG API is no longer supported in the SGX Graphics SDK.
Customers are encouraged to move to OpenGL ES2.x.

Signed-off-by: Prabindh Sundareson <prabu at ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-21 14:43:24 -04:00
Prabindh Sundareson
074ad8ecf2 libgles-omap3: Remove unsupported core build option ES2.0
ES2.0 build option for SGX user binaries is deprecated as the
corresponding SOC is no longer in production

Signed-off-by: Prabindh Sundareson <prabu at ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-21 14:43:24 -04:00
Prabindh Sundareson
b9d459af62 omap3-sgx-modules: Remove X11 related build and packaging
SGX530 driver for X11 is only buildable and testable standalone
with the pre-built X11 package provided with the Graphics SDK.
This patch removes X11 build from the default kernel module recipe,
to enable moving X11 build to a separate recipe.

This is part of a clean up of the Graphics recipe starting from
4.09.00.01 version of the Graphics SDK.

Signed-off-by: Prabindh Sundareson <prabu at ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-21 14:43:24 -04:00
Prabindh Sundareson
adb1681db7 libgles-omap3: Remove X11 related build and packaging
SGX530 driver for X11 is only buildable and testable standalone
with the pre-built X11 package provided with the Graphics SDK.
This patch removes X11 build from the default recipe, to enable
moving X11 build to a separate recipe.

This is part of a clean up of the Graphics recipe starting from
4.09.00.01 version of the Graphics SDK.

Signed-off-by: Prabindh Sundareson <prabu at ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-21 14:43:24 -04:00
Denys Dmytriyenko
a8c949d455 linux-ti-staging: update to ti2013.04.02 release
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-12 12:24:32 -04:00
Chase Maupin
bfe66bdca1 u-boot-dra7xx: update to latest sources
* Update to latest sources which pulls in the QSPI patches

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-10 11:37:56 -04:00
Denys Dmytriyenko
7b1623b581 mesa: update bbappend to the latest version from or-core
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-07 21:51:14 -04:00
Chase Maupin
ed54827bdd linux-ti-staging: update kernel SRCREV
* Update the kernel SRCREV to pickup DSS fixes for the dra7xx
  devices.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-05 14:31:09 -04:00
Denys Dmytriyenko
88bdf2e3d9 u-boot-dra7xx: add latest u-boot from the integration branch
While the code is being pulled from ti-u-boot integration tree, J6/DRA7xx bring up
is being done from a separate branch that does not include all the commits made
for am335x. Hence, until those branches are merged with the mainline and unified
in a single recipe, a separate recipe just for DRA7xx makes more sense. This
recipe should eventually go away and unified under u-boot-ti-staging one.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2013-06-05 11:55:22 -04:00
Chase Maupin
64b76e0915 dra7xx-evm: Update serial console
* Updated the serial console to use ttyO0 which is what the
  evm uses.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-04 16:39:56 -04:00
Chase Maupin
b0eb4888a4 linux-ti-staging: Add dra7xx-evm support
* Add the DTB entries for the dra7xx-evm machine type
* Update to the latest git sources which have dra7xx-evm support.
* Update the PV to match the latest source version

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-04 16:35:15 -04:00
Denys Dmytriyenko
37f543f618 am-sysinfo: remove an old outdated svn version
The recipe has been moved to meta-arago-extras long time ago. Moreover, SCM has
changed from svn to git, so this recipe is quite outdated.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-05-07 11:59:07 -04:00
Franklin S. Cooper Jr
dca9b52adc am33x-cm3: Split init script into its own package
* 3.8+ kernels use an init script to load the cm3 firmware.
* 3.2 kernel require the cm3 firmware during compile time therefore no init
  script is needed.
* Separate the init script from the main package and place it in its own
  package.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-05-07 11:43:05 -04:00
Denys Dmytriyenko
11e989cd26 linux-ti-staging: add package-specifier for RDEPENDS variable
Run-time variables are package-specific, not recipe.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-05-06 18:45:33 -04:00
Denys Dmytriyenko
de8061b927 netbase: bump the version to follow oe-core
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-05-06 15:16:43 -04:00
660 changed files with 6414 additions and 417909 deletions

7
README
View File

@@ -11,12 +11,6 @@ layers: meta
branch: master
When not depending on meta-openembedded and not using systemd, you may need to
mask few miscellaneous recipes requiring systemd, by adding this to local.conf:
BBMASK = "meta-ti/recipes-misc"
The base BSP part of meta-ti should work with different OpenEmbedded/Yocto
distributions and layer stacks, such as:
distro-less (only with OE-Core), with Yocto/Poky, with Angstrom or Arago.
@@ -27,4 +21,3 @@ Please follow the recommended setup procedures of your OE distribution.
Send pull requests, patches, comments or questions to meta-ti@yoctoproject.org
Maintainers: Denys Dmytriyenko <denys@ti.com>
Koen Kooi <koen@dominion.thruhere.net>

View File

@@ -1,156 +0,0 @@
inherit image
# Add the fstypes we need
IMAGE_FSTYPES_append = " tar.bz2 sdimg"
# Ensure required utilities are present
IMAGE_DEPENDS_sdimg = "genext2fs-native e2fsprogs-native"
# Change this to match your host distro
LOSETUP ?= "/sbin/losetup"
# Since these need to go in /etc/fstab we can hardcode them
# Since the vars are weakly assigned, you can override them from your local.conf
LOOPDEV ?= "/dev/loop1"
LOOPDEV_BOOT ?= "/dev/loop2"
LOOPDEV_FS ?= "/dev/loop3"
# Default to 4GiB images
SDIMG_SIZE ?= "444"
# FS type for rootfs
ROOTFSTYPE ?= "ext4"
BOOTPARTNAME_beaglebone = "BEAGLE_BONE"
BOOTPARTNAME ?= "${MACHINE}"
IMAGEDATESTAMP = "${@time.strftime('%Y.%m.%d',time.gmtime())}"
# Files and/or directories to be copied into the vfat partition
FATPAYLOAD ?= ""
IMAGE_CMD_sdimg () {
SDIMG=${WORKDIR}/sd.img
# sanity check fstab entry for boot partition mounting
if [ "x$(cat /etc/fstab | grep ${LOOPDEV_BOOT} | grep ${WORKDIR}/tmp-mnt-boot | grep user || true)" = "x" ]; then
echo "/etc/fstab entries need to be created with the user flag for the loop devices like:"
echo "${LOOPDEV_BOOT} ${WORKDIR}/tmp-mnt-boot vfat user 0 0"
false
fi
# cleanup loops
for loop in ${LOOPDEV} ${LOOPDEV_BOOT} ${LOOPDEV_FS} ; do
${LOSETUP} -d $loop || true
done
# If an SD image is already present, reuse and reformat it
if [ ! -e ${SDIMG} ] ; then
dd if=/dev/zero of=${SDIMG} bs=$(echo '255 * 63 * 512' | bc) count=${SDIMG_SIZE}
fi
${LOSETUP} ${LOOPDEV} ${SDIMG}
# Create partition table
dd if=/dev/zero of=${LOOPDEV} bs=1024 count=1024
SIZE=$(/sbin/fdisk -l ${LOOPDEV} | grep Disk | grep bytes | awk '{print $5}')
CYLINDERS=$(echo $SIZE/255/63/512 | bc)
{
echo ,9,0x0C,*
echo ,,,-
} | /sbin/sfdisk -D -H 255 -S 63 -C ${CYLINDERS} ${LOOPDEV}
# Prepare loop devices for boot and filesystem partitions
BOOT_OFFSET=32256
FS_OFFSET_SECT=$(/sbin/fdisk -l -u ${LOOPDEV} 2>&1 | grep Linux | perl -p -i -e "s/\s+/ /"|cut -d " " -f 2)
FS_OFFSET=$(echo "$FS_OFFSET_SECT * 512" | bc)
FS_SIZE_BLOCKS=$(/sbin/fdisk -l -u ${LOOPDEV} 2>&1 | grep Linux | perl -p -i -e "s/\s+/ /g" \
|cut -d " " -f 4 | cut -d "+" -f 1)
LOOPDEV_BLOCKS=$(/sbin/fdisk -l -u ${LOOPDEV} 2>&1 | grep FAT | perl -p -i -e "s/\s+/ /g"|cut -d " " -f 5)
LOOPDEV_BYTES=$(echo "$LOOPDEV_BLOCKS * 1024" | bc)
${LOSETUP} -d ${LOOPDEV}
${LOSETUP} ${LOOPDEV_BOOT} ${SDIMG} -o ${BOOT_OFFSET}
/sbin/mkfs.vfat ${LOOPDEV_BOOT} -n ${BOOTPARTNAME} $LOOPDEV_BLOCKS
# Prepare filesystem partition
# Copy ubi used by flashing scripts
if [ -e ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ubi ] ; then
echo "Copying UBIFS image to file system"
cp ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ubi ${IMAGE_ROOTFS}/boot/fs.ubi
fi
# Prepare boot partion. First mount the boot partition, and copy the boot loader and supporting files
# from the root filesystem
mkdir -p ${WORKDIR}/tmp-mnt-boot
mount $LOOPDEV_BOOT ${WORKDIR}/tmp-mnt-boot
echo "Copying bootloaders into the boot partition"
if [ -e ${IMAGE_ROOTFS}/boot/MLO ] ; then
cp -v ${IMAGE_ROOTFS}/boot/MLO ${WORKDIR}/tmp-mnt-boot
else
cp -v ${DEPLOY_DIR_IMAGE}/MLO ${WORKDIR}/tmp-mnt-boot
fi
# Check for u-boot SPL
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.img ] ; then
suffix=img
else
suffix=bin
fi
cp -v ${IMAGE_ROOTFS}/boot/uEnv.txt ${WORKDIR}/tmp-mnt-boot || true
cp -v ${IMAGE_ROOTFS}/boot/user.txt ${WORKDIR}/tmp-mnt-boot || true
cp -v ${IMAGE_ROOTFS}/boot/uImage ${WORKDIR}/tmp-mnt-boot || true
if [ -e ${IMAGE_ROOTFS}/boot/u-boot.$suffix ] ; then
cp -v ${IMAGE_ROOTFS}/boot/{u-boot.$suffix} ${WORKDIR}/tmp-mnt-boot || true
else
cp -v ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.$suffix ${WORKDIR}/tmp-mnt-boot/u-boot.$suffix
fi
if [ -n ${FATPAYLOAD} ] ; then
echo "Copying payload into VFAT"
for entry in ${FATPAYLOAD} ; do
# add the || true to stop aborting on vfat issues like not supporting .~lock files
cp -av ${IMAGE_ROOTFS}$entry ${WORKDIR}/tmp-mnt-boot || true
done
fi
echo "${IMAGE_NAME}-${IMAGEDATESTAMP}" > ${IMAGE_ROOTFS}/etc/image-version-info
# Cleanup VFAT mount
echo "Cleaning up VFAT mount"
umount ${WORKDIR}/tmp-mnt-boot
${LOSETUP} -d ${LOOPDEV_BOOT} || true
# Prepare rootfs parition
echo "Creating rootfs loopback"
${LOSETUP} ${LOOPDEV_FS} ${SDIMG} -o ${FS_OFFSET}
FS_NUM_INODES=$(echo $FS_SIZE_BLOCKS / 4 | bc)
case "${ROOTFSTYPE}" in
ext3)
genext2fs -z -N $FS_NUM_INODES -b $FS_SIZE_BLOCKS -d ${IMAGE_ROOTFS} ${LOOPDEV_FS}
tune2fs -L ${IMAGE_NAME} -j ${LOOPDEV_FS}
;;
ext4)
genext2fs -z -N $FS_NUM_INODES -b $FS_SIZE_BLOCKS -d ${IMAGE_ROOTFS} ${LOOPDEV_FS}
tune2fs -L ${IMAGE_NAME} -j -O extents,uninit_bg,dir_index ${LOOPDEV_FS}
;;
*)
echo "Please set ROOTFSTYPE to something supported"
exit 1
;;
esac
${LOSETUP} -d ${LOOPDEV_FS} || true
gzip -c ${WORKDIR}/sd.img > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-${IMAGEDATESTAMP}.img.gz
rm -f ${WORKDIR}/sd.img
}

View File

@@ -7,3 +7,5 @@ BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
BBFILE_COLLECTIONS += "meta-ti"
BBFILE_PATTERN_meta-ti := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-ti = "6"
LICENSE_PATH += "${LAYERDIR}/licenses"

View File

@@ -9,7 +9,7 @@ UBOOT_MACHINE = "da850evm_config"
UBOOT_ENTRYPOINT = "0xc0008000"
UBOOT_LOADADDRESS = "0xc0008000"
IMAGE_FSTYPES += "tar.gz ubi"
IMAGE_FSTYPES += "tar.gz"
SERIAL_CONSOLE = "115200 ttyS2"

View File

@@ -0,0 +1,35 @@
#@TYPE: Machine
#@NAME: AM437x EVM
#@DESCRIPTION: Machine configuration for the TI AM437x EVM
require conf/machine/include/ti43x.inc
# Use built-in LCD by default
XSERVER += "xf86-input-tslib"
GUI_MACHINE_CLASS = "smallscreen"
MACHINE_FEATURES += "touchscreen"
IMAGE_FSTYPES += "ubi tar.gz"
SERIAL_CONSOLE = "115200 ttyO0"
# UBI information. Note that this is board and kernel specific. Changes
# in your kernel port may require changes in these variables. For more
# details about this board please see
# http://processors.wiki.ti.com/index.php/UBIFS_Support
# do ubiattach /dev/ubi_ctrl -m 11 -O 4096
# From dmesg:
# UBI: smallest flash I/O unit: 4096
# UBI: logical eraseblock size: 253952 bytes
# from ubiattach stdout:
# UBI device number 0, total 994 LEBs
MKUBIFS_ARGS = "-F -m 4096 -e 253952 -c 1918"
# do ubiattach /dev/ubi_ctrl -m 11 -O 4096
# from dmesg:
# UBI: smallest flash I/O unit: 4096
# UBI: physical eraseblock size: 262144 bytes (256 KiB)
# UBI: sub-page size: 4096
# UBI: VID header offset: 4096 (aligned 4096)
UBINIZE_ARGS = "-m 4096 -p 256KiB -s 4096 -O 4096"

View File

@@ -6,7 +6,9 @@ require conf/machine/include/omap-a15.inc
IMAGE_FSTYPES += "ubi tar.gz"
SERIAL_CONSOLE = "115200 ttyO2"
SERIAL_CONSOLE = "115200 ttyO0"
UBOOT_MACHINE = "dra7xx_evm_config"
# UBI information. Note that this is board and kernel specific. Changes
# in your kernel port may require changes in these variables. For more
@@ -29,8 +31,6 @@ MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 3836"
# UBI: VID header offset: 2048 (aligned 2048)
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512 -O 2048"
UBOOT_MACHINE = "dra7xx_evm_config"
# Currently removing the sgx machine feature because there is no SGX package
# available for omap5
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen touchscreen"

View File

@@ -8,16 +8,14 @@ PREFERRED_PROVIDER_virtual/bootloader = "u-boot-keystone"
PREFERRED_PROVIDER_u-boot = "u-boot-keystone"
# Increase this everytime you change something in the kernel
MACHINE_KERNEL_PR = "r6"
MACHINE_KERNEL_PR = "r7"
KERNEL_IMAGETYPE = "uImage"
UBOOT_MACHINE = "tci6638_evm_config"
UBOOT_ENTRYPOINT = "0x80008000"
UBOOT_LOADADDRESS = "0x80008000"
EXTRA_IMAGEDEPENDS += "u-boot"
EXTRA_IMAGEDEPENDS += "boot-monitor"
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat"
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat pci"

View File

@@ -4,13 +4,13 @@ require conf/machine/include/soc-family.inc
require conf/machine/include/tune-cortexa15.inc
# Increase this everytime you change something in the kernel
MACHINE_KERNEL_PR = "r1"
MACHINE_KERNEL_PR = "r3"
PREFERRED_PROVIDER_virtual/kernel = "linux-ti-staging"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging"
PREFERRED_PROVIDER_u-boot = "u-boot-ti-staging"
KERNEL_IMAGETYPE = "uImage"
KERNEL_IMAGETYPE = "zImage"
UBOOT_ARCH = "arm"
UBOOT_ENTRYPOINT = "0x80008000"
@@ -24,3 +24,7 @@ XSERVER = "xserver-xorg \
xf86-video-fbdev"
GUI_MACHINE_CLASS = "smallscreen"
# Use the expected value of the ubifs filesystem's volume name in the kernel
# and u-boot.
UBI_VOLNAME = "rootfs"

View File

@@ -16,14 +16,14 @@ XSERVER = "xserver-xorg \
GUI_MACHINE_CLASS = "bigscreen"
# Increase this everytime you change something in the kernel
MACHINE_KERNEL_PR = "r19"
MACHINE_KERNEL_PR = "r21"
# Default providers, may need to override for specific machines
PREFERRED_PROVIDER_virtual/kernel = "linux-ti-staging"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging"
PREFERRED_PROVIDER_u-boot = "u-boot-ti-staging"
KERNEL_IMAGETYPE = "uImage"
KERNEL_IMAGETYPE = "zImage"
UBOOT_ARCH = "arm"
UBOOT_MACHINE = "am335x_evm_config"
@@ -31,6 +31,10 @@ UBOOT_MACHINE = "am335x_evm_config"
UBOOT_ENTRYPOINT = "0x80008000"
UBOOT_LOADADDRESS = "0x80008000"
# Use the expected value of the ubifs filesystem's volume name in the kernel
# and u-boot.
UBI_VOLNAME = "rootfs"
EXTRA_IMAGEDEPENDS += "u-boot"
# List common SoC features, may need to add touchscreen for specific machines

View File

@@ -0,0 +1,41 @@
SOC_FAMILY = "ti43x"
require conf/machine/include/soc-family.inc
require conf/machine/include/tune-cortexa9.inc
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
# For built-in LCD, add xf86-input-tslib
XSERVER = "xserver-xorg \
xf86-input-evdev \
xf86-input-mouse \
xf86-video-fbdev \
xf86-input-keyboard"
# Default to external video, change to smallscreen for built-in LCD
GUI_MACHINE_CLASS = "bigscreen"
# Increase this everytime you change something in the kernel
MACHINE_KERNEL_PR = "r2"
# Default providers, may need to override for specific machines
PREFERRED_PROVIDER_virtual/kernel = "linux-ti-staging"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging"
PREFERRED_PROVIDER_u-boot = "u-boot-ti-staging"
KERNEL_IMAGETYPE = "zImage"
UBOOT_ARCH = "arm"
UBOOT_MACHINE = "am43xx_evm_config"
UBOOT_ENTRYPOINT = "0x80008000"
UBOOT_LOADADDRESS = "0x80008000"
# Use the expected value of the ubifs filesystem's volume name in the kernel
# and u-boot.
UBI_VOLNAME = "rootfs"
EXTRA_IMAGEDEPENDS += "u-boot"
# List common SoC features, may need to add touchscreen for specific machines
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa ethernet sgx"

View File

@@ -1,9 +1,13 @@
#@TYPE: Machine
#@NAME: Keystone 2 machine
#@DESCRIPTION: Machine configuration for the TI Keystone 2
#@NAME: Keystone 2 K2E machine
#@DESCRIPTION: Machine configuration for the TI Keystone 2 K2E EVM
require conf/machine/include/keystone.inc
UBOOT_MACHINE = "k2e_evm_config"
BOOT_MONITOR_MAKE_TARGET = "k2e"
IMAGE_FSTYPES += "ubi tar.gz cpio"
SERIAL_CONSOLE = "115200 ttyS0"
@@ -15,9 +19,8 @@ SYSVINIT_ENABLED_GETTYS = ""
# UBI: smallest flash I/O unit: 2048
# UBI: logical eraseblock size: 126976 bytes
# from ubiattach stdout:
# UBI device number 0, total 857 LEBs
# MKUBIFS_ARGS = "-m 2048 -e 129024 -c 857"
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 857"
# UBI device number 0, total 3856 LEBs
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 3856"
# do ubiattach /dev/ubi_ctrl -m 4
# from dmesg:

View File

@@ -0,0 +1,30 @@
#@TYPE: Machine
#@NAME: Keystone 2 K2HK machine
#@DESCRIPTION: Machine configuration for the TI Keystone 2 K2HK EVM
require conf/machine/include/keystone.inc
UBOOT_MACHINE = "k2hk_evm_config"
BOOT_MONITOR_MAKE_TARGET = "k2hk"
IMAGE_FSTYPES += "ubi tar.gz cpio"
SERIAL_CONSOLE = "115200 ttyS0"
SYSVINIT_ENABLED_GETTYS = ""
# do ubiattach /dev/ubi_ctrl -m 4
# From dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: logical eraseblock size: 126976 bytes
# from ubiattach stdout:
# UBI device number 0, total 3856 LEBs
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 3856"
# do ubiattach /dev/ubi_ctrl -m 4
# from dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
# UBI: sub-page size: 2048
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 2048 -O 2048"

30
conf/machine/k2l-evm.conf Normal file
View File

@@ -0,0 +1,30 @@
#@TYPE: Machine
#@NAME: Keystone 2 K2L machine
#@DESCRIPTION: Machine configuration for the TI Keystone 2 K2L EVM
require conf/machine/include/keystone.inc
UBOOT_MACHINE = "k2l_evm_config"
BOOT_MONITOR_MAKE_TARGET = "k2l"
IMAGE_FSTYPES += "ubi tar.gz cpio"
SERIAL_CONSOLE = "115200 ttyS0"
SYSVINIT_ENABLED_GETTYS = ""
# do ubiattach /dev/ubi_ctrl -m 4
# From dmesg:
# UBI: smallest flash I/O unit: 4096
# UBI: logical eraseblock size: 253952 bytes
# from ubiattach stdout:
# UBI device number 0, total 1926 LEBs
MKUBIFS_ARGS = "-F -m 4096 -e 253952 -c 1926"
# do ubiattach /dev/ubi_ctrl -m 4
# from dmesg:
# UBI: smallest flash I/O unit: 4096
# UBI: physical eraseblock size: 256 KiB
# UBI: sub-page size: 4096
UBINIZE_ARGS = "-m 4096 -p 256KiB -s 4096 -O 4096"

62
licenses/TI-TFL Normal file
View File

@@ -0,0 +1,62 @@
TEXAS INSTRUMENTS TEXT FILE LICENSE
Copyright (c) [earliest year] - [latest year] Texas Instruments Incorporated
All rights reserved not granted herein.
Limited License.
Texas Instruments Incorporated grants a world-wide, royalty-free,
non-exclusive license under copyrights and patents it now or hereafter owns
or controls to make, have made, use, import, offer to sell and sell
("Utilize") this software subject to the terms herein. With respect to the
foregoing patent license, such license is granted solely to the extent that
any such patent is necessary to Utilize the software alone. The patent
license shall not apply to any combinations which include this software,
other than combinations with devices manufactured by or for TI ("TI
Devices"). No hardware patent is licensed hereunder.
Redistributions must preserve existing copyright notices and reproduce this
license (including the above copyright notice and the disclaimer and (if
applicable) source code license limitations below) in the documentation
and/or other materials provided with the distribution
Redistribution and use in binary form, without modification, are permitted
provided that the following conditions are met:
* No reverse engineering, decompilation, or disassembly of this software is
permitted with respect to any software provided in binary form.
* any redistribution and use are licensed by TI for use only with TI
Devices.
* Nothing shall obligate TI to provide you with source code for the software
licensed and provided to you in object code.
If software source code is provided to you, modification and redistribution
of the source code are permitted provided that the following conditions are
met:
* any redistribution and use of the source code, including any resulting
derivative works, are licensed by TI for use only with TI Devices.
* any redistribution and use of any object code compiled from the source
code and any resulting derivative works, are licensed by TI for use only
with TI Devices.
Neither the name of Texas Instruments Incorporated nor the names of its
suppliers may be used to endorse or promote products derived from this
software without specific prior written permission.
DISCLAIMER.
THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

206
licenses/TI-TSPA Normal file
View File

@@ -0,0 +1,206 @@
Texas Instruments Incorporated
Technology and Software Publicly Available
Software License Agreement
Important - Please read the following license agreement carefully. This is
a legally binding agreement. Do not click "i have read and agree" or use
(as applicable) the Licensed Materials unless: (1) you are authorized to
accept and agree to the terms of this license agreement on behalf of
yourself or your company (as applicable) and (2) you intend to be bound by
the terms of this license agreement on behalf of yourself or your company
(as applicable).
This Software License Agreement ("Agreement") is a legal agreement between
you (either an individual or entity) and Texas Instruments Incorporated
("TI"), 12500 TI Boulevard, Dallas, Texas 75243. The "Licensed Materials"
subject to this Agreement include the software programs (in whole or in
part), that accompany this Agreement and set forth in the applicable
software manifest and which you access "on-line" and/or electronic
documentation (in whole or in part) associated and provided with these
software programs. By installing, copying or otherwise using the Licensed
Materials you agree to abide by the terms of this Agreement. If you choose
not to accept or agree with these terms, do not download or install the
Licensed Materials.
Note Regarding Possible Access to Open Source Software: The Licensed
Materials may be bundled with Open Source Software. "Open Source Software"
means any software licensed under terms requiring that (A) other software
("Proprietary Software") incorporated, combined or distributed with such
software or developed using such software: (i) be disclosed or distributed
in source code form; or (ii) otherwise be licensed on terms inconsistent
with the terms of this Agreement, including but not limited to permitting
use of the Proprietary Software on or with devices other than TI Devices, or
(B) require the owner of Proprietary Software to license any of its patents
to users of the Open Source Software and/or Proprietary Software
incorporated, combined or distributed with such Open Source Software or
developed using such Open Source Software.
You may gain access to Open Source Software, in which case such Open Source
Software will be listed in the applicable software manifest (in whole or in
part, the "Open Source Materials"). Your use of the Open Source Materials
is subject to the separate licensing terms applicable to such Open Source
Materials as specified in the applicable software manifest. For
clarification, this Agreement does not limit your rights under, or grant you
rights that supersede, the license terms of any applicable Open Source
Materials license agreement. If any of the Open Source Materials have been
provided to you in object code only, TI will provide to you or show you
where can access the source code versions of such Open Source Materials if
you contact TI at Texas Instruments Incorporated, 12500 TI Boulevard, Mail
Station 8638, Dallas, Texas 75243, Attention: Contracts Manager. You may
terminate this Agreement in the event you choose not to accept or agree with
the terms in any applicable Open Source Materials license agreement,
provided that such termination occurs within five (5) calendar days of
acceptance of this Agreement and you abide by all applicable license terms
in this Agreement until such termination.
1. License.
a. Source Code License. For the Licensed Materials provided in source code
format, TI hereby grants to you a limited, non-exclusive license to
reproduce, use, and create modified or derivative works of the Licensed
Materials provided to you in source code format and to distribute an
unlimited number of copies of such source code Licensed Materials, or any
derivatives thereof, in any format.
b. Object Code License. For the Licensed Materials provided in object code
format, TI hereby grants to you a limited, non-exclusive license to
reproduce and use the Licensed Materials provided to you in object code
format and to distribute an unlimited number of object or executable copies
of such object code Licensed Materials.
2. Termination. This Agreement is effective until terminated. Without
prejudice to any other rights, TI may terminate your right to use the
Licensed Materials under this Agreement if you fail to comply with the terms
of this Agreement. In such event, you shall destroy all copies of the
Licensed Materials, including all portions and derivatives thereof.
3. Intellectual Property Rights.
a. The Licensed Materials being provided to you hereunder are being made
publicly available by TI, even though they contain copyrighted material of
TI and its licensors, if applicable. In no event may you alter, remove or
destroy any copyright notice included in the Licensed Materials. To the
extent that any of the Licensed Materials are provided in binary or object
code only, you may not unlock, decompile, reverse engineer, disassemble or
otherwise translate such binary or object code to human-perceivable form.
The source code of such reverse engineered code may contain TI trade secret
and other proprietary information. TI reserves all rights not specifically
granted under this Agreement.
b. Certain Licensed Materials may (i) require patent licenses from third
parties claiming patent rights covering implementation of the Licensed
Materials or (ii) be based on industry recognized standards or software
programs published by industry recognized standards bodies and certain third
parties may claim to own patents or copyrights that cover implementation of
those standards. You acknowledge and agree that this Agreement does not
convey a license to any such third party patents and copyrights.
c. YOU ACKNOWLEDGE AND AGREE THAT TI SHALL NOT BE LIABLE FOR AND SHALL NOT
DEFEND OR INDEMNIFY YOU AGAINST ANY THIRD PARTY INFRINGEMENT CLAIM THAT
RELATES TO OR IS BASED ON YOUR MANUFACTURE, USE, OR DISTRIBUTION OF THE
LICENSED MATERIALS OR YOUR MANUFACTURE, USE, OFFER FOR SALE, SALE,
IMPORTATION OR DISTRIBUTION OF YOUR PRODUCTS THAT INCLUDE OR INCORPORATE THE
LICENSED MATERIALS.
d. You acknowledge and agree that you are responsible for any fees or
royalties that may be payable to any third party based on such third party's
interests in the Licensed Materials described in Section 3(b) above (the
"Third Party Payment Obligations"). You agree to indemnify TI against any
Third Party Payment Obligations and will defend any claim, suit or
proceeding brought against TI insofar as such claim, suit or proceeding is
based on your failure to pay any Third Party Payment Obligations.
4. Warranties and Limitations. THE LICENSED MATERIALS ARE PROVIDED "AS IS".
TI AND ITS LICENSORS MAKE NO WARRANTY OR REPRESENTATION, EXPRESS, IMPLIED OR
STATUTORY, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTIBILITY, FITNESS FOR
A PARTICULAR PURPOSE, LACK OF VIRUSES, ACCURACY OR COMPLETENESS OF
RESPONSES, RESULTS AND LACK OF NEGLIGENCE. TI DISCLAIMS ANY WARRANTY OF
TITLE, QUIET ENJOYMENT, QUIET POSESSION, AND NON-INFRINGEMENT OF ANY THIRD
PARTY INTELLECTUAL PROPERTY RIGHTS WITH REGARD TO THE LICENSED MATERIALS OR
USE OF THOSE MATERIALS.
YOU ACKNOWLEDGE AND AGREE THAT THE LICENSED MATERIALS MAY NOT BE INTENDED
FOR PRODUCTION APPLICATIONS AND MAY CONTAIN IRREGULARITIES AND DEFECTS NOT
FOUND IN PRODUCTION SOFTWARE. FURTHERMORE, YOU ACKNOWLEDGE AND AGREE THAT
THE LICENSED MATERIALS HAVE NOT BEEN TESTED OR CERTIFIED BY ANY GOVERNMENT
AGENCY OR INDUSTRY REGULATORY ORGANIZATION OR ANY OTHER THIRD PARTY
ORGANIZATION. YOU AGREE THAT PRIOR TO USING, INCORPORATING OR DISTRIBUTING
THE LICENSED MATERIALS IN OR WITH ANY COMMERCIAL PRODUCT THAT YOU WILL
THOROUGHLY TEST THE PRODUCT AND THE FUNCTIONALITY OF THE LICENSED MATERIALS
IN OR WITH THAT PRODUCT AND BE SOLELY RESPONSIBLE FOR ANY PROBLEMS OR
FAILURES.
IN NO EVENT SHALL TI OR ITS LICENSORS BE LIABLE FOR ANY SPECIAL, INDIRECT,
INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED ON ANY THEORY
OF LIABILITY, ARISING IN ANY WAY OUT OF THIS AGREEMENT, OR YOUR USE OF THE
LICENSED MATERIALS, WHETHER OR NOT TI HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES. EXCLUDED DAMAGES INCLUDE, BUT ARE NOT LIMITED TO, COST OF
REMOVAL OR REINSTALLATION, OUTSIDE COMPUTER TIME, LABOR COSTS, LOSS OR
CORRUPTION OF DATA, LOSS OF GOODWILL, LOSS OF PROFITS, LOSS OF SAVINGS, OR
LOSS OF USE OR INTERRUPTION OF BUSINESS OR ANY OTHER ECONOMIC LOSS. IN NO
EVENT WILL TI'S AGGREGATE LIABILITY UNDER THIS AGREEMENT OR ARISING OUT OF
YOUR USE OF THE LICENSED MATERIALS EXCEED FIVE HUNDRED U.S. DOLLARS
(US$500).
Because some jurisdictions do not allow the exclusion or limitation of
incidental or consequential damages or limitation on how long an implied
warranty lasts, the above limitations or exclusions may not apply to you.
5. Export Control. The Licensed Materials may be subject to the export or
import regulations of certain countries. You agree to comply with all such
regulations and acknowledge that you have the responsibility to obtain any
licenses or other authorizations that may be required to export, re-export
or import the Licensed Materials.
6. Governing Law, Jurisdiction and Severability. This Agreement will be
governed by and interpreted in accordance with the laws of the State of
Texas, without reference to conflict of laws principles. If for any reason
a court of competent jurisdiction finds any provision of the Agreement to be
unenforceable, that provision will be enforced to the maximum extent
possible to effectuate the intent of the parties and the remainder of the
Agreement shall continue in full force and effect. This Agreement shall not
be governed by the United Nations Convention on Contracts for the
International Sale of Goods, or by the Uniform Computer Information
Transactions Act (UCITA). The parties agree that non-exclusive jurisdiction
for any dispute arising out of or relating to this Agreement lies within the
courts located in the State of Texas. Notwithstanding the foregoing, any
judgment may be enforced in any United States or foreign court, and either
party may seek injunctive relief in any United States or foreign court.
Failure by TI to enforce any provision of this Agreement shall not be deemed
a waiver of future enforcement of that or any other provision in this
Agreement or any other agreement that may be in place between the parties.
7. PRC Provisions. If you are located in the People's Republic of China
("PRC") or if the Licensed Materials will be sent to the PRC, the following
provisions shall apply:
a. Registration Requirements. You shall be solely responsible for
performing all acts and obtaining all approvals that may be required in
connection with this Agreement by the government of the PRC, including but
not limited to registering pursuant to, and otherwise complying with, the
PRC Measures on the Administration of Software Products, Management
Regulations on Technology Import-Export, and Technology Import and Export
Contract Registration Management Rules. Upon receipt of such approvals from
the government authorities, you shall forward evidence of all such approvals
to TI for its records. In the event that you fail to obtain any such
approval or registration, you shall be solely responsible for any and all
losses, damages or costs resulting therefrom, and shall indemnify TI for all
such losses, damages or costs.
b. Governing Language. This Agreement is written and executed in the
English language. If a translation of this Agreement is required for any
purpose, including but not limited to registration of the Agreement pursuant
to any governmental laws, regulations or rules, you shall be solely
responsible for creating such translation. Any translation of this
Agreement into a language other than English is intended solely in order to
comply with such laws or for reference purposes, and the English language
version shall be authoritative and controlling.
8. Entire Agreement. This is the entire agreement between you and TI and
supersedes any prior agreement between the parties related to the subject
matter of this Agreement. No amendment or modification of this Agreement
will be effective unless in writing and signed by a duly authorized
representative of TI. You hereby warrant and represent that you have
obtained all authorizations and other applicable consents required
empowering you to enter into this Agreement.

View File

@@ -0,0 +1,23 @@
SUMMARY = "Firmware for OMAP4 and OMAP5 ABE"
HOMEPAGE = "http://git.ti.com"
LICENSE = "BSD | GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=923db086ed9463ab3215b24d87e05ec5"
PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "pandaboard|omap5-evm"
SRC_URI = "git://git.ti.com/glsdk/abefw-omap4plus.git;protocol=git"
S = "${WORKDIR}/git"
SRCREV = "ceccc0332264e39bdc51e54f80ea7256a3886c58"
PR = "r0"
do_install() {
mkdir -p ${D}/lib/firmware
cp ${S}/firmware/omap4_abe_new ${D}/lib/firmware/
}
FILES_${PN} += "/lib/firmware/omap4_abe_new"

View File

@@ -5,22 +5,22 @@ LICENSE = "BSD"
BOOT_MONITOR_BINARY ?= "skern.bin"
BOOT_MONITOR_IMAGE ?= "skern-${MACHINE}.bin"
BOOT_MONITOR_MAKE_TARGET ?= "all"
LIC_FILES_CHKSUM = "file://COPYING;md5=25fe219a6febf6e5bb45beda1b2eb315"
COMPATIBLE_MACHINE = "keystone-evm"
COMPATIBLE_MACHINE = "keystone"
SRC_URI = "git://arago-project.org/git/projects/boot-monitor.git;protocol=git;branch=${BRANCH}"
SRC_URI = "git://git.ti.com/keystone-linux/boot-monitor.git;protocol=git;branch=${BRANCH}"
PV = "1.0"
PV = "2.0"
PR = "r1+gitr${SRCPV}"
BRANCH = "master"
S = "${WORKDIR}/git"
SRCREV = "DEV.MCSDK-03.00.00.07"
#Tag "K2_BM_14.05"
SRCREV = "0e3ffe1ea4a0cee38ae2406901b7cf4d5324b5e9"
do_compile () {
unset LDFLAGS

View File

@@ -0,0 +1,12 @@
DESCRIPTION = "Kernel module for contiguous memory allocation from userspace"
include cmem.inc
# This package builds a kernel module, use kernel PR as base and append a local
MACHINE_KERNEL_PR_append = "a+gitr${SRCPV}"
PR = "${MACHINE_KERNEL_PR}"
inherit module
EXTRA_OEMAKE += '-f lu.mak KERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" TOOLCHAIN_PREFIX="${TOOLCHAIN_PREFIX}" EXEC_DIR="${D}/lib/modules/${KERNEL_VERSION}/extra"'
MAKE_TARGETS = "module"

12
recipes-bsp/cmem/cmem.inc Normal file
View File

@@ -0,0 +1,12 @@
HOMEPAGE = "http://processors.wiki.ti.com/index.php/Category:CMEM"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://include/ti/cmem.h;beginline=1;endline=30;md5=b86138d4028fb8310b3b983024edc620"
BRANCH ?= "master"
# This corresponds to version 4.00.01.08
SRCREV = "0b68dfe9f155a1978cdb2178e052dc0d6f1e705b"
SRC_URI = "git://git.ti.com/ipc/ludev.git;protocol=git;branch=${BRANCH}"
S = "${WORKDIR}/git"

View File

@@ -0,0 +1,13 @@
DESCRIPTION = "The cmem component supports contiguous memory allocation from userspace"
include cmem.inc
RDEPENDS_${PN} = "cmem-mod"
PR = "r0+gitr${SRCPV}"
PACKAGES =+ "${PN}-test"
FILES_${PN}-test = "${bindir}/*"
inherit autotools

View File

@@ -1,3 +1,2 @@
THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}"
FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}"], d)}:"
PRINC := "${@int(PRINC) + 1}"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"

View File

@@ -0,0 +1,81 @@
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs (for X11)"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=ea5743acf520dd81ca172e69f818a3d4"
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
require ../../recipes-ti/includes/ti-eula-unpack.inc
SGXPV = "4_09_00_01"
IMGPV = "1.9.2188537"
inherit module
MACHINE_KERNEL_PR_append = "d"
PR = "${MACHINE_KERNEL_PR}"
# Select the corresponding hardfp/softfp filename and checksums based on tune flags
BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d"
SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin"
MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67"
SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b"
BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE}"
SRC_URI[md5sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}"
SRC_URI[sha256sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}"
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
PVRBUILD = "release"
export KERNELDIR = "${STAGING_KERNEL_DIR}"
INHIBIT_PACKAGE_STRIP = "1"
TI_PLATFORM_omap3 = "omap3630"
TI_PLATFORM_ti814x = "ti81xx"
TI_PLATFORM_ti816x = "ti81xx"
TI_PLATFORM_ti33x = "ti335x"
MODULESLOCATION_omap3 = "dc_omapfb3_linux"
MODULESLOCATION_ti814x = "dc_ti81xx_linux"
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
MODULESLOCATION_ti33x = "dc_ti335x_linux"
export SUPPORT_XORG ?= "1"
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
do_compile() {
export TOOLCHAIN="${TOOLCHAIN_PATH}"
export PLAT_CC="${CC}"
export PLAT_CPP="${CXX}"
export PLAR_AR="${AR}"
for kernelver in ${WORKDIR}/../../${PREFERRED_PROVIDER_virtual/kernel}/* ; do
cp -f $kernelver/git/drivers/gpu/drm/*.c ${S}/services4/3rdparty/linux_drm/
done
if [ $(echo -e "${KERNEL_VERSION}\n3.3" | sort --version-sort | head -1) = "3.3" ] ; then
cp -f ${S}/services4/3rdparty/linux_drm/Kbuild_3.3 \
${S}/services4/3rdparty/linux_drm/Kbuild || true
else
if [ $(echo -e "${KERNEL_VERSION}\n3.2" | sort --version-sort | head -1) = "3.2" ] ; then
cp -f ${S}/services4/3rdparty/linux_drm/Kbuild_3.2 \
${S}/services4/3rdparty/linux_drm/Kbuild || true
fi
fi
oe_runmake BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}
}
do_install() {
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
cp ${S}/pvrsrvkm.ko \
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
cp ${S}/services4/3rdparty/linux_drm/drm.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
}

View File

@@ -1,38 +1,38 @@
From: Steve Sakoman
Subject: omap3-sgx-modules: Fix build for Linux 3.0
This patch implements the header change from plat/display.h to video/omapdss.h
Signed-off-by: Steve Sakoman <steve@sakoman.com>
--- GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c-orig 2011-08-01 07:21:45.000000000 -0700
+++ GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c 2011-08-01 07:29:32.000000000 -0700
@@ -47,12 +47,12 @@
#if defined (SUPPORT_TI_DSS_FW)
#include <asm/io.h>
-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,26))
-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,31))
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,39)))
+#include <video/omapdss.h>
+#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,31))
#include <plat/display.h>
-#else
+#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,26))
#include <mach/display.h>
-#endif
#else
#include <asm/arch-omap/display.h>
#endif
@@ -64,7 +64,11 @@ extern int omap_dispc_request_irq(unsign
extern void omap_dispc_free_irq(unsigned long, void (*)(void *), void *);
extern void omap_dispc_set_plane_base(int plane, IMG_UINT32 phys_addr);
#else
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,39))
+#include <video/omapdss.h>
+#else
#include <plat/display.h>
+#endif
#include <linux/console.h>
#include <linux/fb.h>
static omap_dispc_isr_t *pOMAPLFBVSyncISRHandle = NULL;
From: Steve Sakoman
Subject: omap3-sgx-modules: Fix build for Linux 3.0
This patch implements the header change from plat/display.h to video/omapdss.h
Signed-off-by: Steve Sakoman <steve at sakoman.com>
--- GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c-orig 2011-08-01 07:21:45.000000000 -0700
+++ GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c 2011-08-01 07:29:32.000000000 -0700
@@ -47,12 +47,12 @@
#if defined (SUPPORT_TI_DSS_FW)
#include <asm/io.h>
-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,26))
-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,31))
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,39)))
+#include <video/omapdss.h>
+#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,31))
#include <plat/display.h>
-#else
+#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,26))
#include <mach/display.h>
-#endif
#else
#include <asm/arch-omap/display.h>
#endif
@@ -64,7 +64,11 @@ extern int omap_dispc_request_irq(unsign
extern void omap_dispc_free_irq(unsigned long, void (*)(void *), void *);
extern void omap_dispc_set_plane_base(int plane, IMG_UINT32 phys_addr);
#else
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,39))
+#include <video/omapdss.h>
+#else
#include <plat/display.h>
+#endif
#include <linux/console.h>
#include <linux/fb.h>
static omap_dispc_isr_t *pOMAPLFBVSyncISRHandle = NULL;

View File

@@ -1,45 +0,0 @@
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=21228a42e27d1d104b31a83f7c9da935"
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
require ../../recipes-ti/includes/ti-eula-unpack.inc
SGXPV = "4_03_00_02"
IMGPV = "1.6.16.3977"
BINFILE := "Graphics_SDK_setuplinux_${SGXPV}.bin"
inherit module
MACHINE_KERNEL_PR_append = "b"
PR = "${MACHINE_KERNEL_PR}"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
file://Compile-fixes-for-38-kernel.patch \
file://kernel-30.patch \
"
SRC_URI[md5sum] = "ff8c1f2b8e4cb42f4ced6a613b081ada"
SRC_URI[sha256sum] = "cdb0bd3964e107733d632aa8224e0537b05c1ffac34befc036423458c8d75255"
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
PVRBUILD = "release"
export KERNELDIR = "${STAGING_KERNEL_DIR}"
INHIBIT_PACKAGE_STRIP = "1"
TI_PLATFORM_omap3 = "omap3630"
TI_PLATFORM_ti816x = "ti81xx"
MODULESLOCATION_omap3 = "dc_omap3430_linux"
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM}"
do_install() {
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
cp ${S}/pvrsrvkm.ko \
${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko \
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
}

View File

@@ -13,6 +13,8 @@ inherit module
MACHINE_KERNEL_PR_append = "b"
PR = "${MACHINE_KERNEL_PR}"
DEFAULT_PREFERENCE_omap3 = "99"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/Graphics_SDK_setuplinux_${SGXPV}.bin \
"
SRC_URI[md5sum] = "0e651eaa92bb91760f0b40a17697a7dc"

View File

@@ -14,8 +14,6 @@ inherit module
MACHINE_KERNEL_PR_append = "a"
PR = "${MACHINE_KERNEL_PR}"
DEFAULT_PREFERENCE = "-1"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE}"
SRC_URI[md5sum] = "dd0d994a48ecc4293f272a1fddddf159"

View File

@@ -14,8 +14,6 @@ inherit module
MACHINE_KERNEL_PR_append = "a"
PR = "${MACHINE_KERNEL_PR}"
DEFAULT_PREFERENCE = "-1"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE}"
SRC_URI[md5sum] = "0efa3a38266e6f41f8cc4fad0187f0d6"

View File

@@ -7,19 +7,29 @@ require ../../recipes-ti/includes/ti-eula-unpack.inc
SGXPV = "4_09_00_01"
IMGPV = "1.9.2188537"
BINFILE = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
inherit module
MACHINE_KERNEL_PR_append = "a"
MACHINE_KERNEL_PR_append = "c"
PR = "${MACHINE_KERNEL_PR}"
DEFAULT_PREFERENCE = "-1"
# Select the corresponding hardfp/softfp filename and checksums based on tune flags
BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d"
SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin"
MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67"
SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b"
BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE}"
SRC_URI[md5sum] = "bd35e9d8843aff3a2aca9d41e7db1c7d"
SRC_URI[sha256sum] = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
SRC_URI[md5sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}"
SRC_URI[sha256sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}"
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
@@ -39,9 +49,9 @@ MODULESLOCATION_ti814x = "dc_ti81xx_linux"
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
MODULESLOCATION_ti33x = "dc_ti335x_linux"
export SUPPORT_XORG ?= "${@base_contains('DISTRO_FEATURES', 'x11', '1', '0', d)}"
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=0"
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
MAKE_TARGETS_append_ti33x = " PM_RUNTIME=1"
do_install() {
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
@@ -49,8 +59,4 @@ do_install() {
${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko \
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
if [ "${SUPPORT_XORG}" = "1" ]; then
cp ${S}/services4/3rdparty/linux_drm/drm.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
fi
}

View File

@@ -0,0 +1,67 @@
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://GPL-COPYING;md5=60422928ba677faaa13d6ab5f5baaa1e"
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
require ../../recipes-ti/includes/ti-eula-unpack.inc
SGXPV = "5_00_00_01"
IMGPV = "1.10.2359475"
inherit module
MACHINE_KERNEL_PR_append = "a"
PR = "${MACHINE_KERNEL_PR}"
BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_alpha_hardfp_minimal_demos.bin"
MD5SUM_HARDFP = "ae6125d7f8a313ea5c02afded893052d"
SHA256SUM_HARDFP = "c2782a2f85024741722b936ec9dca66b858ae8561aa71b693f11e12d8c0385e0"
# For now we only have hardfp version
python __anonymous() {
tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
if not tunes:
return
pkgn = bb.data.getVar("PN", d, 1)
pkgv = bb.data.getVar("PV", d, 1)
if "callconvention-hard" not in tunes:
bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
}
BINFILE := "${BINFILE_HARDFP}"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE}"
SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
PVRBUILD = "release"
export KERNELDIR = "${STAGING_KERNEL_DIR}"
INHIBIT_PACKAGE_STRIP = "1"
TI_PLATFORM_omap3 = "omap3630"
TI_PLATFORM_ti814x = "ti81xx"
TI_PLATFORM_ti816x = "ti81xx"
TI_PLATFORM_ti33x = "ti335x"
TI_PLATFORM_ti43x = "ti43xx"
MODULESLOCATION_omap3 = "dc_omapfb3_linux"
MODULESLOCATION_ti814x = "dc_ti81xx_linux"
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
MODULESLOCATION_ti33x = "dc_ti335x_linux"
MODULESLOCATION_ti43x = "dc_ti43xx_linux"
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
do_install() {
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
cp ${S}/pvrsrvkm.ko \
${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko \
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
}

View File

@@ -0,0 +1,67 @@
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://GPL-COPYING;md5=60422928ba677faaa13d6ab5f5baaa1e"
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
require ../../recipes-ti/includes/ti-eula-unpack.inc
SGXPV = "5_01_00_01"
IMGPV = "1.10.2359475"
inherit module
MACHINE_KERNEL_PR_append = "a"
PR = "${MACHINE_KERNEL_PR}"
BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin"
MD5SUM_HARDFP = "0ee7d59808330d442a51c0990c2cb30e"
SHA256SUM_HARDFP = "769daae439677a7a85bbbced14cee4f85b19823e0b99560078d0a864c525c128"
# For now we only have hardfp version
python __anonymous() {
tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
if not tunes:
return
pkgn = bb.data.getVar("PN", d, 1)
pkgv = bb.data.getVar("PV", d, 1)
if "callconvention-hard" not in tunes:
bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
}
BINFILE := "${BINFILE_HARDFP}"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE}"
SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
PVRBUILD = "release"
export KERNELDIR = "${STAGING_KERNEL_DIR}"
INHIBIT_PACKAGE_STRIP = "1"
TI_PLATFORM_omap3 = "omap3630"
TI_PLATFORM_ti814x = "ti81xx"
TI_PLATFORM_ti816x = "ti81xx"
TI_PLATFORM_ti33x = "ti335x"
TI_PLATFORM_ti43x = "ti43xx"
MODULESLOCATION_omap3 = "dc_omapfb3_linux"
MODULESLOCATION_ti814x = "dc_ti81xx_linux"
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
MODULESLOCATION_ti33x = "dc_ti335x_linux"
MODULESLOCATION_ti43x = "dc_ti43xx_linux"
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
do_install() {
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
cp ${S}/pvrsrvkm.ko \
${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko \
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
}

View File

@@ -0,0 +1,67 @@
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://GPL-COPYING;md5=60422928ba677faaa13d6ab5f5baaa1e"
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
require ../../recipes-ti/includes/ti-eula-unpack.inc
SGXPV = "5_01_01_01"
IMGPV = "1.10.2359475"
inherit module
MACHINE_KERNEL_PR_append = "a"
PR = "${MACHINE_KERNEL_PR}"
BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin"
MD5SUM_HARDFP = "94acdbd20152c905939c2448d5e80a72"
SHA256SUM_HARDFP = "7f647bf45a5ce8ba9aaa28c4afe85fced4275f9a4567a1886d4460b76c9051ae"
# For now we only have hardfp version
python __anonymous() {
tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
if not tunes:
return
pkgn = bb.data.getVar("PN", d, 1)
pkgv = bb.data.getVar("PV", d, 1)
if "callconvention-hard" not in tunes:
bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
}
BINFILE := "${BINFILE_HARDFP}"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE}"
SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
PVRBUILD = "release"
export KERNELDIR = "${STAGING_KERNEL_DIR}"
INHIBIT_PACKAGE_STRIP = "1"
TI_PLATFORM_omap3 = "omap3630"
TI_PLATFORM_ti814x = "ti81xx"
TI_PLATFORM_ti816x = "ti81xx"
TI_PLATFORM_ti33x = "ti335x"
TI_PLATFORM_ti43x = "ti43xx"
MODULESLOCATION_omap3 = "dc_omapfb3_linux"
MODULESLOCATION_ti814x = "dc_ti81xx_linux"
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
MODULESLOCATION_ti33x = "dc_ti335x_linux"
MODULESLOCATION_ti43x = "dc_ti43xx_linux"
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
do_install() {
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
cp ${S}/pvrsrvkm.ko \
${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko \
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
}

View File

@@ -0,0 +1,26 @@
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap5 SoCs"
HOMEPAGE = "http://git.ti.com"
LICENSE = "MIT | GPLv2"
LIC_FILES_CHKSUM = "file://README;beginline=13;endline=22;md5=74506d9b8e5edbce66c2747c50fcef12"
inherit module
MACHINE_KERNEL_PR_append = "a"
PR = "${MACHINE_KERNEL_PR}"
SRC_URI = "git://git.ti.com/graphics/omap5-sgx-ddk-linux.git;protocol=git"
S = "${WORKDIR}/git"
SRCREV = "86a4ffae3458c51f0a58e44b17b7a4fd92d2b8c6"
EXTRA_OEMAKE += 'KERNELDIR="${STAGING_KERNEL_DIR}"'
do_compile_prepend() {
cd ${S}/eurasiacon/build/linux2/omap5430_linux
}
do_install() {
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/extra/
cp ${S}/eurasiacon/binary2_omap5430_linux_release/target/kbuild/omapdrm_pvr.ko \
${D}/lib/modules/${KERNEL_VERSION}/extra/
}

View File

@@ -7,7 +7,7 @@ COMPATIBLE_MACHINE = "omapl138"
INHIBIT_PACKAGE_STRIP = "1"
MACHINE_KERNEL_PR_append = "a+svnr${SRCPV}"
MACHINE_KERNEL_PR_append = "b+svnr${SRCPV}"
PR = "${MACHINE_KERNEL_PR}"
SRC_URI = "svn://gforge.ti.com/svn/pru_sw/;module=trunk;protocol=https;user=anonymous;pswd=''"
@@ -28,5 +28,3 @@ do_install () {
install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/pru
install -m 0755 ${S}/edmautils.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/pru/
}
FILES_${PN} = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/pru/edmautils.ko"

View File

@@ -19,7 +19,7 @@ S = "${WORKDIR}/trunk"
inherit module
MACHINE_KERNEL_PR_append = "a+svnr${SRCPV}"
MACHINE_KERNEL_PR_append = "b+svnr${SRCPV}"
PR = "${MACHINE_KERNEL_PR}"
EXTRA_OEMAKE += "KERNEL_DIR=${STAGING_KERNEL_DIR}"
@@ -32,5 +32,3 @@ do_install () {
install -d ${D}/lib/modules/${KERNEL_VERSION}/crypto/ocf/
install -m 0755 ${S}/ocf_omap3_cryptok.ko ${D}/lib/modules/${KERNEL_VERSION}/crypto/ocf/
}
FILES_${PN} = "/lib/modules/${KERNEL_VERSION}/crypto/ocf/ocf_omap3_cryptok.ko"

View File

@@ -1,23 +0,0 @@
DESCRIPTION = "AM SysInfo"
HOMEPAGE = "https://gforge.ti.com/gf/project/am_sysinfo/"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://mem_util/mem_util.c;beginline=1;endline=37;md5=8aa8e714ab729cfe8177298af8a5a25d"
SECTION = "system"
SRCREV = "5"
PV = "1.0"
PR = "r1+svnr${SRCPV}"
SRC_URI = "svn://gforge.ti.com/svn/am_sysinfo/;module=trunk;protocol=https;user=anonymous;pswd=''"
S = "${WORKDIR}/trunk"
do_compile() {
${CC} ${CFLAGS} ${LDFLAGS} -o mem_util/mem_util mem_util/mem_util.c
}
do_install() {
install -d ${D}/${bindir}
install -m 0755 ${S}/mem_util/mem_util ${D}/${bindir}
}

View File

@@ -0,0 +1,6 @@
#!/bin/sh
# Load the PM CM3 firmware
echo 1 > /sys/devices/44000000.ocp/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/loading
cat /lib/firmware/am335x-pm-firmware.bin > /sys/devices/44000000.ocp/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/data
echo 0 > /sys/devices/44000000.ocp/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/loading

View File

@@ -1,28 +1,42 @@
DESCRIPTION = "Cortex-M3 binary blob for suspend-resume"
LICENSE = "TI-BSD"
LIC_FILES_CHKSUM = "file://License.txt;md5=858099c817e47ea63559fc6b67ae8d91"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://License.txt;md5=7bdc54a749ab7a7dea999d25d99a41b8"
PV = "04.06.00.10"
PR = "r2"
PV = "05.00.00.03"
PR = "r1"
# SRCREV corresponds to tag "AM335xPSP_04.06.00.10-rc1"
SRCREV = "27ca4643e422245a95723de1df0247a00eada45b"
# Make package machine specific due to different init scripts
PACKAGE_ARCH = "${MACHINE_ARCH}"
# SRCREV corresponds to tag v05.00.00.03
SRCREV = "a0ddffb63147e2079a08944c0e399c75538201a9"
BRANCH ?= "master"
# This init script is only used for older kernels that do not support
# hotplug of the firmware. Newer kernels do not require the initscript
# package.
INITSCRIPT_NAME = "am335x-pm-firmware-load"
INITSCRIPT_PARAMS = "defaults 96"
inherit update-rc.d
UPDATERCPN = "${PN}-initscript"
RDEPENDS_${PN}-initscript = "am33x-cm3"
SRC_URI = "git://arago-project.org/git/projects/am33x-cm3.git;protocol=git;branch=${BRANCH} \
file://init-am33x-cm3 \
file://init-am43x-cm3 \
"
SCRIPT_ti33x = "init-am33x-cm3"
SCRIPT_ti43x = "init-am43x-cm3"
S = "${WORKDIR}/git"
do_compile() {
make CC="${TARGET_CC}" CROSS_COMPILE="${TARGET_PREFIX}"
make CROSS_COMPILE="${TARGET_PREFIX}"
}
do_install() {
@@ -31,8 +45,11 @@ do_install() {
# Install the init script to load the PM firmware at boot
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/init-am33x-cm3 ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
install -m 0755 ${WORKDIR}/${SCRIPT} ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
}
PACKAGES =+ "${PN}-initscript"
FILES_${PN} += "${base_libdir}/firmware"
FILES_${PN}-initscript = "${sysconfdir}/*"

View File

@@ -0,0 +1,29 @@
DESCRIPTION = "VPE VPDMA firmware and test program"
DEPENDS += "virtual/kernel"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=74d2f71d8898c54e3d1c9d0058c484aa"
COMPATIBLE_MACHINE = "dra7xx-evm"
PV = "1b8"
PR = "r1"
SRCREV = "e3d8db1aa935775f9d196ad7428e0cd9864a36ca"
BRANCH ?= "master"
SRC_URI = "git://git.ti.com/vpe_tests/vpe_tests.git;protocol=git;branch=${BRANCH}"
S = "${WORKDIR}/git"
# The test application needs additional include headers from the kernel
EXTRA_OEMAKE = 'CROSS_COMPILE="${TARGET_PREFIX}" KDIR="${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include"'
do_install() {
oe_runmake DESTDIR="${D}" install
}
# Separate the firmware into it's own package.
PACKAGES =+ "${PN}-fw"
FILES_${PN}-fw += "${base_libdir}/firmware"

View File

@@ -6,15 +6,14 @@ COMPATIBLE_MACHINE = "ti33x"
DEFAULT_PREFERENCE = "-1"
PR = "r5+gitr${SRCPV}"
PR = "r6+gitr${SRCPV}"
SRC_URI = "git://git.ti.com/ti-u-boot/ti-u-boot.git;protocol=git;branch=${BRANCH}"
# This version of u-boot is meant for 3.2 kernel which doesn't support device tree.
BRANCH = "ti-u-boot-2013.01.01-amsdk-05.07.00.00"
BRANCH = "ti-u-boot-2013.01.01-amsdk-06.00.00.00"
# Commit corresponds to tag "v2013.01.01_amsdk-05.07.00.00"
SRCREV = "8eb15a787c558fee98b0fa2a66ff0849c732edcc"
SRCREV = "540aa6fbb0c9274bda598f7e8819ed28259cad6b"
# Set the name of the SPL that will built so that it is also packaged with u-boot.
SPL_BINARY = "MLO"

View File

@@ -6,9 +6,11 @@ COMPATIBLE_MACHINE = "omap3"
DEFAULT_PREFERENCE = "-1"
PR = "r0+gitr${SRCPV}"
PR = "r1+gitr${SRCPV}"
SRC_URI = "git://arago-project.org/git/projects/u-boot-am33x.git;protocol=git;branch=${BRANCH}"
SRC_URI = "git://arago-project.org/git/projects/u-boot-am33x.git;protocol=git;branch=${BRANCH} \
file://0001-armv7-Unaligned-access-fix.patch \
"
BRANCH = "AM335XPSP_04.06.00.08"

View File

@@ -6,6 +6,8 @@ COMPATIBLE_MACHINE = "am37x-evm|beagleboard"
BRANCH ?= "master"
PR = "r1+gitr${SRCPV}"
# v2012.04.01
SRCREV = "415d386877df49eb051b85ef74fa59a16dc17c7d"
@@ -33,6 +35,7 @@ SRC_URI += "file://0001-omap3_beagle-add-usbethaddr-setting-to-enable-networ.pat
file://0002-omap3evm-Make-the-board-start-at-800MHz.patch \
file://0003-beagleboard-Make-xM-rev-C-go-to-800MHz.patch \
file://0001-ARM-omap3-Set-SPL-stack-size-to-8KB-image-to-54KB.patch \
file://0001-armv7-Unaligned-access-fix.patch \
"
SPL_BINARY = "MLO"

View File

@@ -0,0 +1,16 @@
require u-boot-ti.inc
DESCRIPTION = "u-boot bootloader for TI devices supported by the GLSDK product"
PR = "r1+gitr${SRCPV}"
DEFAULT_PREFERENCE = "-1"
SRC_URI = "git://git.omapzoom.org/repo/u-boot.git;protocol=git;branch=${BRANCH}"
BRANCH ?= "p-ti-u-boot-2013.04"
SRCREV = "76447484441a4b8e00840a2bde74e66dbac9e631"
SPL_BINARY = "MLO"
SPL_UART_BINARY = "u-boot-spl.bin"

View File

@@ -4,13 +4,67 @@ DESCRIPTION = "u-boot bootloader for Multi-Core BU devices"
COMPATIBLE_MACHINE = "keystone"
PR = "r2+gitr${SRCPV}"
SRC_URI = "git://arago-project.org/git/projects/u-boot-keystone.git;protocol=git;branch=${BRANCH}"
PR = "r5+gitr${SRCPV}"
# Tag "K2_UBOOT_2013_01_14.05_16"
SRCREV = "fee500417b989fc9906d86e377b4d3d96033d54e"
BRANCH = "master"
# DEV.MCSDK-03.00.00.07
SRCREV = "82f40e857d853165310d0753e79235aefb65d7ba"
SRC_URI = "git://git.ti.com/keystone-linux/u-boot.git;protocol=git;branch=${BRANCH}"
S = "${WORKDIR}/git"
UBOOT_SUFFIX = "bin"
UBOOT_MAKE_TARGET = "u-boot-spi.gph u-boot-nand.gph"
# SPI NOR Flash binaries
UBOOT_SPI_SPL_BINARY = "u-boot-spl.bin"
UBOOT_SPI_BINARY = "u-boot.img"
UBOOT_SPI_GPH_BINARY = "u-boot-spi.gph"
UBOOT_NAND_GPH_BINARY = "u-boot-nand.gph"
# SPI NOR Flash deployed images
UBOOT_SPI_SPL_IMAGE = "u-boot-spl-${MACHINE}-${PV}-${PR}.bin"
UBOOT_SPI_SPL_SYMLINK = "u-boot-spl-${MACHINE}.bin"
UBOOT_SPI_IMAGE = "u-boot-${MACHINE}-${PV}-${PR}.img"
UBOOT_SPI_SYMLINK = "u-boot-${MACHINE}.img"
UBOOT_SPI_GPH_IMAGE = "u-boot-spi-${MACHINE}-${PV}-${PR}.gph"
UBOOT_SPI_GPH_SYMLINK = "u-boot-spi-${MACHINE}.gph"
UBOOT_NAND_GPH_IMAGE = "u-boot-nand-${MACHINE}-${PV}-${PR}.gph"
UBOOT_NAND_GPH_SYMLINK = "u-boot-nand-${MACHINE}.gph"
do_install_append () {
install ${S}/spl/${UBOOT_SPI_SPL_BINARY} ${D}/boot/${UBOOT_SPI_SPL_IMAGE}
ln -sf ${UBOOT_SPI_SPL_IMAGE} ${D}/boot/${UBOOT_SPI_SPL_BINARY}
install ${S}/${UBOOT_SPI_BINARY} ${D}/boot/${UBOOT_SPI_IMAGE}
ln -sf ${UBOOT_SPI_IMAGE} ${D}/boot/${UBOOT_SPI_BINARY}
install ${S}/${UBOOT_SPI_GPH_BINARY} ${D}/boot/${UBOOT_SPI_GPH_IMAGE}
ln -sf ${UBOOT_SPI_GPH_IMAGE} ${D}/boot/${UBOOT_SPI_GPH_BINARY}
install ${S}/${UBOOT_NAND_GPH_BINARY} ${D}/boot/${UBOOT_NAND_GPH_IMAGE}
ln -sf ${UBOOT_NAND_GPH_IMAGE} ${D}/boot/${UBOOT_NAND_GPH_BINARY}
}
do_deploy_append () {
install ${S}/spl/${UBOOT_SPI_SPL_BINARY} ${DEPLOYDIR}/${UBOOT_SPI_SPL_IMAGE}
rm -f ${UBOOT_SPI_SPL_BINARY} ${UBOOT_SPI_SPL_SYMLINK}
ln -sf ${UBOOT_SPI_SPL_IMAGE} ${UBOOT_SPI_SPL_SYMLINK}
ln -sf ${UBOOT_SPI_SPL_IMAGE} ${UBOOT_SPI_SPL_BINARY}
install ${S}/${UBOOT_SPI_BINARY} ${DEPLOYDIR}/${UBOOT_SPI_IMAGE}
rm -f ${UBOOT_SPI_BINARY} ${UBOOT_SPI_SYMLINK}
ln -sf ${UBOOT_SPI_IMAGE} ${UBOOT_SPI_SYMLINK}
ln -sf ${UBOOT_SPI_IMAGE} ${UBOOT_SPI_BINARY}
install ${S}/${UBOOT_SPI_GPH_BINARY} ${DEPLOYDIR}/${UBOOT_SPI_GPH_IMAGE}
rm -f ${UBOOT_SPI_GPH_BINARY} ${UBOOT_SPI_GPH_SYMLINK}
ln -sf ${UBOOT_SPI_GPH_IMAGE} ${UBOOT_SPI_GPH_SYMLINK}
ln -sf ${UBOOT_SPI_GPH_IMAGE} ${UBOOT_SPI_GPH_BINARY}
install ${S}/${UBOOT_NAND_GPH_BINARY} ${DEPLOYDIR}/${UBOOT_NAND_GPH_IMAGE}
rm -f ${UBOOT_NAND_GPH_BINARY} ${UBOOT_NAND_GPH_SYMLINK}
ln -sf ${UBOOT_NAND_GPH_IMAGE} ${UBOOT_NAND_GPH_SYMLINK}
ln -sf ${UBOOT_NAND_GPH_IMAGE} ${UBOOT_NAND_GPH_BINARY}
}

View File

@@ -2,7 +2,7 @@ require u-boot-ti.inc
DESCRIPTION = "u-boot bootloader for TI devices"
PR = "r4+gitr${SRCPV}"
PR = "r5+gitr${SRCPV}"
SRC_URI = "git://git.ti.com/ti-u-boot/ti-u-boot.git;protocol=git;branch=${BRANCH}"
@@ -12,3 +12,4 @@ BRANCH ?= "ti-u-boot-2013.01.01"
SRCREV = "7552b4c906b0a50fbc5225dc43ed0192618e9d5d"
SPL_BINARY = "MLO"
SPL_UART_BINARY = "u-boot-spl.bin"

View File

@@ -0,0 +1,18 @@
require u-boot-ti.inc
DESCRIPTION = "u-boot bootloader for TI devices"
LIC_FILES_CHKSUM = "file://Licenses/README;md5=025bf9f768cbcb1a165dbe1a110babfb"
PV = "2013.10"
PR = "r8+gitr${SRCPV}"
SRC_URI = "git://git.ti.com/ti-u-boot/ti-u-boot.git;protocol=git;branch=${BRANCH}"
BRANCH ?= "ti-u-boot-2013.10"
# Corresponds to tag ti2013.12.01_amsdk-07.01
SRCREV = "259ff9a577cc66cb40e3cdff3e41628e466f0fef"
SPL_BINARY = "MLO"
SPL_UART_BINARY = "u-boot-spl.bin"

View File

@@ -15,3 +15,27 @@ PKG_${PN}-dbg = "u-boot-dbg"
S = "${WORKDIR}/git"
UBOOT_SUFFIX = "img"
# SPL (Second Program Loader) to be loaded over UART
SPL_UART_BINARY ?= ""
SPL_UART_IMAGE ?= "${SPL_UART_BINARY}-${MACHINE}-${PV}-${PR}"
SPL_UART_SYMLINK ?= "${SPL_UART_BINARY}-${MACHINE}"
do_install_append () {
if [ "x${SPL_UART_BINARY}" != "x" ]
then
install ${S}/spl/${SPL_UART_BINARY} ${D}/boot/${SPL_UART_IMAGE}
ln -sf ${SPL_UART_IMAGE} ${D}/boot/${SPL_UART_BINARY}
fi
}
do_deploy_append () {
cd ${DEPLOYDIR}
if [ "x${SPL_UART_BINARY}" != "x" ]
then
install ${S}/spl/${SPL_UART_BINARY} ${DEPLOYDIR}/${SPL_UART_IMAGE}
rm -f ${DEPLOYDIR}/${SPL_UART_BINARY} ${DEPLOYDIR}/${SPL_UART_SYMLINK}
ln -sf ${SPL_UART_IMAGE} ${DEPLOYDIR}/${SPL_UART_BINARY}
ln -sf ${SPL_UART_IMAGE} ${DEPLOYDIR}/${SPL_UART_SYMLINK}
fi
}

View File

@@ -0,0 +1,30 @@
From 40f1e7db785f477a2aa145a3b47bd498c48ad52d Mon Sep 17 00:00:00 2001
From: Steve Kipisz <s-kipisz2@ti.com>
Date: Fri, 14 Jun 2013 05:16:52 -0500
Subject: [PATCH] armv7:Unaligned access fix
This fixes an unaligned access data abort introduced when using gcc 4.7
or higher. The Linaro toolchain uses gcc 4.7.3. This is documented in u-boot
doc/README.arm-unaligned-accesses.
Signed-off-by: Steve Kipisz <s-kipisz2@ti.com>
---
arch/arm/cpu/armv7/config.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/cpu/armv7/config.mk b/arch/arm/cpu/armv7/config.mk
index 9c3e2f3..9736da8 100644
--- a/arch/arm/cpu/armv7/config.mk
+++ b/arch/arm/cpu/armv7/config.mk
@@ -20,7 +20,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
# MA 02111-1307 USA
#
-PLATFORM_RELFLAGS += -fno-common -ffixed-r8 -msoft-float
+PLATFORM_RELFLAGS += -fno-common -ffixed-r8 -msoft-float -mno-unaligned-access
# If armv7-a is not supported by GCC fall-back to armv5, which is
# supported by more tool-chains
--
1.7.9.5

View File

@@ -1,8 +1,8 @@
DESCRIPTION = "Extended task to get System Test specific apps"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
PR = "r1"
inherit allarch packagegroup
inherit packagegroup
TEST = "\
bonnie++ \
@@ -11,6 +11,9 @@ TEST = "\
iperf \
lmbench \
rt-tests \
evtest \
bc \
memtester \
"
TI_TEST = "\
@@ -21,4 +24,3 @@ RDEPENDS_${PN} = "\
${TEST} \
${TI_TEST} \
"

View File

@@ -0,0 +1,22 @@
DESCRIPTION = "Userspace libraries and headers for TI BLTsville implementation"
HOMEPAGE = "http://omapzoom.org/?p=platform/external/bltsville.git;a=summary"
LICENSE = "BSD-3-Clause & TI-TSPA"
LIC_FILES_CHKSUM = "file://COPYING;md5=10a9abb9c5bb19edd83a8cf66eef7148 \
file://ticpu/license;md5=0bb831850a0de80e32a63772d89c6562"
PR = "r2"
SRCREV = "016586280ecdae201fd6e340ec8c4f8a9605cc94"
inherit autotools pkgconfig
SRC_URI = "git://git.omapzoom.org/platform/external/bltsville.git;protocol=git"
S = "${WORKDIR}/git"
do_configure() {
chmod +x autogen.sh
./autogen.sh --prefix=${prefix} --with-libtool-sysroot=${STAGING_DIR_TARGET}
}
FILES_${PN} += "${libdir}/libbltsville_ticpu_license.txt"

View File

@@ -0,0 +1,46 @@
tests: also install tests app (adjusted for TI version)
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
diff -uNr git-orig/tests/Makefile.am git/tests/Makefile.am
--- git-orig/tests/Makefile.am 2013-08-10 16:26:30.000000000 -0400
+++ git/tests/Makefile.am 2013-08-10 16:28:53.753855225 -0400
@@ -6,10 +6,11 @@
LDADD = $(top_builddir)/libdrm.la
-check_PROGRAMS = \
+bin_PROGRAMS = \
dristat \
drmstat
+check_PROGRAMS =
dristat_LDADD = $(CLOCK_LIB)
SUBDIRS = modeprint
diff -uNr git-orig/tests/modeprint/Makefile.am git/tests/modeprint/Makefile.am
--- git-orig/tests/modeprint/Makefile.am 2013-08-10 16:26:30.000000000 -0400
+++ git/tests/modeprint/Makefile.am 2013-08-10 16:28:53.753855225 -0400
@@ -2,7 +2,7 @@
-I$(top_srcdir)/include/drm \
-I$(top_srcdir)
-noinst_PROGRAMS = \
+bin_PROGRAMS = \
modeprint
modeprint_SOURCES = \
diff -uNr git-orig/tests/modetest/Makefile.am git/tests/modetest/Makefile.am
--- git-orig/tests/modetest/Makefile.am 2013-08-10 16:26:30.000000000 -0400
+++ git/tests/modetest/Makefile.am 2013-08-10 16:28:53.753855225 -0400
@@ -3,7 +3,7 @@
-I$(top_srcdir)/libkms/ \
-I$(top_srcdir)
-noinst_PROGRAMS = \
+bin_PROGRAMS = \
modetest
modetest_SOURCES = \

View File

@@ -0,0 +1,20 @@
require recipes-graphics/drm/libdrm.inc
FILESEXTRAPATHS_append := ":${COREBASE}/meta/recipes-graphics/drm/libdrm"
COMPATIBLE_MACHINE = "omap-a15"
DEFAULT_PREFERENCE = "-1"
EXTRA_OECONF += "--enable-omap-experimental-api --enable-kms"
SRC_URI = "git://git.ti.com/glsdk/libdrm.git;protocol=git"
SRCREV = "3cb5405084111193cedb8796d259b56560b088f0"
SRC_URI += "file://installtests-ti.patch \
file://GNU_SOURCE_definition.patch \
"
PR = "${INC_PR}.1"
S = "${WORKDIR}/git"

View File

@@ -0,0 +1,134 @@
#!/bin/sh
PATH=$PATH:/usr/sbin
# Check if an fb device is available. If not then just go ahead and
# exit because we have no display.
fbset > /dev/null 2>&1
if [ "$?" == "1" ]
then
# looks like there is no display, so let's exit
exit 0
fi
BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
YRES="$(fbset | grep geom | awk '{print $3}')"
CPUTYPE="$(cputype)"
if [ "$1" = "" ]; then
echo PVR-INIT: Please use start, stop, or restart.
exit 1
fi
if [ "$1" = "stop" -o "$1" = "restart" ]; then
echo Stopping PVR
rmmod bufferclass_ti
rmmod omaplfb 2>/dev/null
rmmod pvrsrvkm 2>/dev/null
fi
if [ "$1" = "stop" ]; then
exit 0
fi
# Set RGBA ordering to something the drivers like
if [ "$BITSPERPIXEL" = "32" ] ; then
fbset -rgba 8/16,8/8,8/0,8/24
fi
# Try to enable triple buffering when there's enough VRAM
fbset -vyres $(expr $YRES \* 3)
sgxprepare () {
echo Starting PVR
lsmod | grep pvrsrvkm > /dev/null
if [ "$?" != "0" ]
then
insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
if [ "$?" != "0" ]
then
echo "Could not find pvrsrvkm driver"
exit 1
fi
fi
modprobe omaplfb
modprobe bufferclass_ti
pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
if [ -e /dev/pvrsrvkm ] ; then
rm -f /dev/pvrsrvkm
fi
mknod /dev/pvrsrvkm c $pvr_maj 0
chmod 666 /dev/pvrsrvkm
touch /etc/powervr-esrev
SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
}
sgxfinish () {
# Fix up a bug in opkg
if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
cd /usr/lib
ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
fi
if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
echo -n "Starting SGX fixup for"
echo " ES${ES_REVISION}.x"
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
echo "${ES_REVISION}" > /etc/powervr-esrev
fi
if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
}
case $CPUTYPE in
"OMAP3530")
sgxprepare
devmem2 0x48004B48 w 0x2 > /dev/null
devmem2 0x48004B10 w 0x1 > /dev/null
devmem2 0x48004B00 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI33XX")
sgxprepare
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI43XX")
sgxprepare
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI816x")
sgxprepare
devmem2 0x48180F04 w 0x0 > /dev/null
devmem2 0x48180900 w 0x2 > /dev/null
devmem2 0x48180920 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
*)
echo No SGX hardware, not starting PVR
;;
esac

View File

@@ -0,0 +1,145 @@
#!/bin/sh
PATH=$PATH:/usr/sbin
# Check if an fb device is available. If not then just go ahead and
# exit because we have no display.
fbset > /dev/null 2>&1
if [ "$?" == "1" ]
then
# looks like there is no display, so let's exit
exit 0
fi
BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
YRES="$(fbset | grep geom | awk '{print $3}')"
CPUTYPE="$(cputype)"
if [ "$1" = "" ]; then
echo PVR-INIT: Please use start, stop, or restart.
exit 1
fi
if [ "$1" = "stop" -o "$1" = "restart" ]; then
echo Stopping PVR
# Stop the X Server.
#
[ -f /tmp/.X0-lock ] && read XPID < /tmp/.X0-lock && [ -n "$XPID" ] && kill $XPID && while [ -e /proc/$XPID ] ; do sleep 1; done
rmmod bufferclass_ti
rmmod pvrsrvkm 2>/dev/null
rmmod drm 2>/dev/null
fi
if [ "$1" = "stop" ]; then
exit 0
fi
# Set RGBA ordering to something the drivers like
if [ "$BITSPERPIXEL" = "32" ] ; then
fbset -rgba 8/16,8/8,8/0,8/24
fi
# Try to enable triple buffering when there's enough VRAM
fbset -vyres $(expr $YRES \* 3)
sgxprepare () {
echo Starting PVR
# Start the X Server.
# The X Server will load the PVR Services module.
#
/usr/local/XSGX/bin/X -verbose -config /usr/local/XSGX/etc/xorg.conf &
modprobe drm
lsmod | grep pvrsrvkm > /dev/null
if [ "$?" != "0" ]
then
insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
if [ "$?" != "0" ]
then
echo "Could not find pvrsrvkm driver"
exit 1
fi
fi
modprobe bufferclass_ti
pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
if [ -e /dev/pvrsrvkm ] ; then
rm -f /dev/pvrsrvkm
fi
mknod /dev/pvrsrvkm c $pvr_maj 0
chmod 666 /dev/pvrsrvkm
touch /etc/powervr-esrev
SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
}
sgxfinish () {
# Fix up a bug in opkg
if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
cd /usr/lib
ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
fi
if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
echo -n "Starting SGX fixup for"
echo " ES${ES_REVISION}.x"
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
echo "${ES_REVISION}" > /etc/powervr-esrev
fi
if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
}
case $CPUTYPE in
"OMAP3530")
sgxprepare
devmem2 0x48004B48 w 0x2 > /dev/null
devmem2 0x48004B10 w 0x1 > /dev/null
devmem2 0x48004B00 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI33XX")
sgxprepare
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI43XX")
sgxprepare
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI816x")
sgxprepare
devmem2 0x48180F04 w 0x0 > /dev/null
devmem2 0x48180900 w 0x2 > /dev/null
devmem2 0x48180920 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
*)
echo No SGX hardware, not starting PVR
;;
esac

View File

@@ -0,0 +1,134 @@
#!/bin/sh
PATH=$PATH:/usr/sbin
# Check if an fb device is available. If not then just go ahead and
# exit because we have no display.
fbset > /dev/null 2>&1
if [ "$?" == "1" ]
then
# looks like there is no display, so let's exit
exit 0
fi
BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
YRES="$(fbset | grep geom | awk '{print $3}')"
CPUTYPE="$(cputype)"
if [ "$1" = "" ]; then
echo PVR-INIT: Please use start, stop, or restart.
exit 1
fi
if [ "$1" = "stop" -o "$1" = "restart" ]; then
echo Stopping PVR
rmmod bufferclass_ti
rmmod omaplfb 2>/dev/null
rmmod pvrsrvkm 2>/dev/null
fi
if [ "$1" = "stop" ]; then
exit 0
fi
# Set RGBA ordering to something the drivers like
if [ "$BITSPERPIXEL" = "32" ] ; then
fbset -rgba 8/16,8/8,8/0,8/24
fi
# Try to enable triple buffering when there's enough VRAM
fbset -vyres $(expr $YRES \* 3)
sgxprepare () {
echo Starting PVR
lsmod | grep pvrsrvkm > /dev/null
if [ "$?" != "0" ]
then
insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
if [ "$?" != "0" ]
then
echo "Could not find pvrsrvkm driver"
exit 1
fi
fi
modprobe omaplfb
modprobe bufferclass_ti
pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
if [ -e /dev/pvrsrvkm ] ; then
rm -f /dev/pvrsrvkm
fi
mknod /dev/pvrsrvkm c $pvr_maj 0
chmod 666 /dev/pvrsrvkm
touch /etc/powervr-esrev
SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
}
sgxfinish () {
# Fix up a bug in opkg
if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
cd /usr/lib
ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
fi
if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
echo -n "Starting SGX fixup for"
echo " ES${ES_REVISION}.x"
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
echo "${ES_REVISION}" > /etc/powervr-esrev
fi
if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
}
case $CPUTYPE in
"OMAP3530")
sgxprepare
devmem2 0x48004B48 w 0x2 > /dev/null
devmem2 0x48004B10 w 0x1 > /dev/null
devmem2 0x48004B00 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI33XX")
sgxprepare
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI43XX")
sgxprepare
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI816x")
sgxprepare
devmem2 0x48180F04 w 0x0 > /dev/null
devmem2 0x48180900 w 0x2 > /dev/null
devmem2 0x48180920 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
*)
echo No SGX hardware, not starting PVR
;;
esac

View File

@@ -0,0 +1,145 @@
#!/bin/sh
PATH=$PATH:/usr/sbin
# Check if an fb device is available. If not then just go ahead and
# exit because we have no display.
fbset > /dev/null 2>&1
if [ "$?" == "1" ]
then
# looks like there is no display, so let's exit
exit 0
fi
BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
YRES="$(fbset | grep geom | awk '{print $3}')"
CPUTYPE="$(cputype)"
if [ "$1" = "" ]; then
echo PVR-INIT: Please use start, stop, or restart.
exit 1
fi
if [ "$1" = "stop" -o "$1" = "restart" ]; then
echo Stopping PVR
# Stop the X Server.
#
[ -f /tmp/.X0-lock ] && read XPID < /tmp/.X0-lock && [ -n "$XPID" ] && kill $XPID && while [ -e /proc/$XPID ] ; do sleep 1; done
rmmod bufferclass_ti
rmmod pvrsrvkm 2>/dev/null
rmmod drm 2>/dev/null
fi
if [ "$1" = "stop" ]; then
exit 0
fi
# Set RGBA ordering to something the drivers like
if [ "$BITSPERPIXEL" = "32" ] ; then
fbset -rgba 8/16,8/8,8/0,8/24
fi
# Try to enable triple buffering when there's enough VRAM
fbset -vyres $(expr $YRES \* 3)
sgxprepare () {
echo Starting PVR
# Start the X Server.
# The X Server will load the PVR Services module.
#
/usr/local/XSGX/bin/X -verbose -config /usr/local/XSGX/etc/xorg.conf &
modprobe drm
lsmod | grep pvrsrvkm > /dev/null
if [ "$?" != "0" ]
then
insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
if [ "$?" != "0" ]
then
echo "Could not find pvrsrvkm driver"
exit 1
fi
fi
modprobe bufferclass_ti
pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
if [ -e /dev/pvrsrvkm ] ; then
rm -f /dev/pvrsrvkm
fi
mknod /dev/pvrsrvkm c $pvr_maj 0
chmod 666 /dev/pvrsrvkm
touch /etc/powervr-esrev
SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
}
sgxfinish () {
# Fix up a bug in opkg
if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
cd /usr/lib
ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
fi
if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
echo -n "Starting SGX fixup for"
echo " ES${ES_REVISION}.x"
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
echo "${ES_REVISION}" > /etc/powervr-esrev
fi
if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
}
case $CPUTYPE in
"OMAP3530")
sgxprepare
devmem2 0x48004B48 w 0x2 > /dev/null
devmem2 0x48004B10 w 0x1 > /dev/null
devmem2 0x48004B00 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI33XX")
sgxprepare
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI43XX")
sgxprepare
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI816x")
sgxprepare
devmem2 0x48180F04 w 0x0 > /dev/null
devmem2 0x48180900 w 0x2 > /dev/null
devmem2 0x48180920 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
*)
echo No SGX hardware, not starting PVR
;;
esac

View File

@@ -0,0 +1,134 @@
#!/bin/sh
PATH=$PATH:/usr/sbin
# Check if an fb device is available. If not then just go ahead and
# exit because we have no display.
fbset > /dev/null 2>&1
if [ "$?" == "1" ]
then
# looks like there is no display, so let's exit
exit 0
fi
BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
YRES="$(fbset | grep geom | awk '{print $3}')"
CPUTYPE="$(cputype)"
if [ "$1" = "" ]; then
echo PVR-INIT: Please use start, stop, or restart.
exit 1
fi
if [ "$1" = "stop" -o "$1" = "restart" ]; then
echo Stopping PVR
rmmod bufferclass_ti
rmmod omaplfb 2>/dev/null
rmmod pvrsrvkm 2>/dev/null
fi
if [ "$1" = "stop" ]; then
exit 0
fi
# Set RGBA ordering to something the drivers like
if [ "$BITSPERPIXEL" = "32" ] ; then
fbset -rgba 8/16,8/8,8/0,8/24
fi
# Try to enable triple buffering when there's enough VRAM
fbset -vyres $(expr $YRES \* 3)
sgxprepare () {
echo Starting PVR
lsmod | grep pvrsrvkm > /dev/null
if [ "$?" != "0" ]
then
insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
if [ "$?" != "0" ]
then
echo "Could not find pvrsrvkm driver"
exit 1
fi
fi
modprobe omaplfb
modprobe bufferclass_ti
pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
if [ -e /dev/pvrsrvkm ] ; then
rm -f /dev/pvrsrvkm
fi
mknod /dev/pvrsrvkm c $pvr_maj 0
chmod 666 /dev/pvrsrvkm
touch /etc/powervr-esrev
SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
}
sgxfinish () {
# Fix up a bug in opkg
if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
cd /usr/lib
ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
fi
if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
echo -n "Starting SGX fixup for"
echo " ES${ES_REVISION}.x"
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
echo "${ES_REVISION}" > /etc/powervr-esrev
fi
if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
}
case $CPUTYPE in
"OMAP3530")
sgxprepare
devmem2 0x48004B48 w 0x2 > /dev/null
devmem2 0x48004B10 w 0x1 > /dev/null
devmem2 0x48004B00 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI33XX")
sgxprepare
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI43XX")
sgxprepare
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI816x")
sgxprepare
devmem2 0x48180F04 w 0x0 > /dev/null
devmem2 0x48180900 w 0x2 > /dev/null
devmem2 0x48180920 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
*)
echo No SGX hardware, not starting PVR
;;
esac

View File

@@ -0,0 +1,145 @@
#!/bin/sh
PATH=$PATH:/usr/sbin
# Check if an fb device is available. If not then just go ahead and
# exit because we have no display.
fbset > /dev/null 2>&1
if [ "$?" == "1" ]
then
# looks like there is no display, so let's exit
exit 0
fi
BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
YRES="$(fbset | grep geom | awk '{print $3}')"
CPUTYPE="$(cputype)"
if [ "$1" = "" ]; then
echo PVR-INIT: Please use start, stop, or restart.
exit 1
fi
if [ "$1" = "stop" -o "$1" = "restart" ]; then
echo Stopping PVR
# Stop the X Server.
#
[ -f /tmp/.X0-lock ] && read XPID < /tmp/.X0-lock && [ -n "$XPID" ] && kill $XPID && while [ -e /proc/$XPID ] ; do sleep 1; done
rmmod bufferclass_ti
rmmod pvrsrvkm 2>/dev/null
rmmod drm 2>/dev/null
fi
if [ "$1" = "stop" ]; then
exit 0
fi
# Set RGBA ordering to something the drivers like
if [ "$BITSPERPIXEL" = "32" ] ; then
fbset -rgba 8/16,8/8,8/0,8/24
fi
# Try to enable triple buffering when there's enough VRAM
fbset -vyres $(expr $YRES \* 3)
sgxprepare () {
echo Starting PVR
# Start the X Server.
# The X Server will load the PVR Services module.
#
/usr/local/XSGX/bin/X -verbose -config /usr/local/XSGX/etc/xorg.conf &
modprobe drm
lsmod | grep pvrsrvkm > /dev/null
if [ "$?" != "0" ]
then
insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
if [ "$?" != "0" ]
then
echo "Could not find pvrsrvkm driver"
exit 1
fi
fi
modprobe bufferclass_ti
pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
if [ -e /dev/pvrsrvkm ] ; then
rm -f /dev/pvrsrvkm
fi
mknod /dev/pvrsrvkm c $pvr_maj 0
chmod 666 /dev/pvrsrvkm
touch /etc/powervr-esrev
SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
}
sgxfinish () {
# Fix up a bug in opkg
if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
cd /usr/lib
ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
fi
if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
echo -n "Starting SGX fixup for"
echo " ES${ES_REVISION}.x"
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
echo "${ES_REVISION}" > /etc/powervr-esrev
fi
if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
}
case $CPUTYPE in
"OMAP3530")
sgxprepare
devmem2 0x48004B48 w 0x2 > /dev/null
devmem2 0x48004B10 w 0x1 > /dev/null
devmem2 0x48004B00 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI33XX")
sgxprepare
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI43XX")
sgxprepare
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI816x")
sgxprepare
devmem2 0x48180F04 w 0x0 > /dev/null
devmem2 0x48180900 w 0x2 > /dev/null
devmem2 0x48180920 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
*)
echo No SGX hardware, not starting PVR
;;
esac

View File

@@ -0,0 +1,332 @@
DESCRIPTION = "libGLES for the omap3"
LICENSE = "proprietary-binary"
# 'TSPA.txt' might not be the best file to md5sum
LIC_FILES_CHKSUM = "file://TSPA.txt;md5=c0d5d9c1e38b41677144c4e24d6ddee1"
INC_PR = "r38"
EXCLUDE_FROM_WORLD = "1"
COMPATIBLE_MACHINE = "(omap3|ti814x|ti816x|ti33x|ti43x)"
PVR_INIT ?= "pvrsrvinit"
PROVIDES += "virtual/egl virtual/libgles1 virtual/libgles2"
RREPLACES_${PN} = "libegl libgles1 libgles2"
RREPLACES_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
RREPLACES_${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
RPROVIDES_${PN} = "libegl libgles1 libgles2"
RPROVIDES_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
RPROVIDES_${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
RCONFLICTS_${PN} = "libegl libgles1 libgles2"
RCONFLICTS_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
RCONFLICTS_${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
file://cputype \
file://rc.pvr \
file://99-bufferclass.rules \
"
S = "${WORKDIR}/OMAP35x_Graphics_SDK_${SGXPV}"
# Logic to unpack installjammer file
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
require ../../recipes-ti/includes/ti-eula-unpack.inc
export BINLOCATION ?= "${S}/gfx_rel"
export ES3LOCATION ?= "${S}/gfx_rel_es3.x"
export ES5LOCATION ?= "${S}/gfx_rel_es5.x"
export ES6LOCATION ?= "${S}/gfx_rel_es6.x"
export ES8LOCATION ?= "${S}/gfx_rel_es8.x"
export ES9LOCATION ?= "${S}/gfx_rel_es9.x"
LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_FRONTWSEGL.so.1"
do_configure() {
# Attempt to fix up the worst offenders for file permissions
for i in $(find ${S} -name "*.h") $(find ${S} -name "*.c") $(find ${S} -name "Make*") ; do
chmod 0644 $i
done
# Attempt to create proper library softlinks
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
if [ "$(readlink -n ${sofile})" = "" ] ; then
mv $sofile ${sofile}.${IMGPV}
ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}
ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}$(echo ${IMGPV} | awk -F. '{print "." $1}')
ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}$(echo ${IMGPV} | awk -F. '{print "." $1 "." $2}')
fi
done
# Due to recursive make PLAT_* isn't always passed down correctly, so use sed to fix those
for mak in $(find ${S} -name "*.mak") ; do
sed -i -e s:arm-none-linux-gnueabi-:${TARGET_PREFIX}:g $mak
done
# clear out old stuff
find Binaries/ | xargs rm -f || true
}
# Force in GNU_HASH and paths to libs
TARGET_CC_ARCH += " ${TARGET_LINK_HASH_STYLE} -Wl,-rpath-link,${BINLOCATION} -L${BINLOCATION} \
-L${STAGING_DIR_TARGET}${libdir} -Wl,-rpath-link,${STAGING_DIR_TARGET}${libdir}"
PARALLEL_MAKE = ""
PLATFORM ?= "LinuxOMAP3"
do_compile() {
export TOOLCHAIN="${TOOLCHAIN_PATH}"
export PLAT_CC="${CC}"
export PLAT_CPP="${CXX}"
export PLAR_AR="${AR}"
mkdir -p ${S}/demos/raw
mkdir -p ${S}/trainingcourses/raw
# Rebuild demos
for demo in ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Demos/* ; do
cd $demo/OGLES/Build/LinuxGeneric
oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=0
rm $demo/OGLES/Build/${PLATFORM}/Release*/*.o
install -m 0755 $demo/OGLES/Build/${PLATFORM}/ReleaseRaw/* ${S}/demos/raw || true
done
for demo in ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Demos/* ; do
cd $demo/OGLES2/Build/LinuxGeneric
oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=0
rm -f $demo/OGLES2/Build/${PLATFORM}/Release*/*.o
install -m 0755 $demo/OGLES2/Build/${PLATFORM}/ReleaseRaw/* ${S}/demos/raw || true
done
find ${S} -name "*_org" -delete
# Build OGLES2 Trainingcourses
for training in ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/TrainingCourse/* ; do
if [ -e $training/OGLES2/Build/LinuxGeneric/Makefile ] ; then
cd $training/OGLES2/Build/LinuxGeneric
fi
if [ -e $training/OGLES2/Build/${PLATFORM}/Makefile ] ; then
cd $training/OGLES2/Build/${PLATFORM}
fi
oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=0
rm -f $training/OGLES2/Build/${PLATFORM}/Release*/*.o
install -m 0755 $training/OGLES2/Build/${PLATFORM}/ReleaseRaw/* ${S}/trainingcourses/raw || true
done
}
do_install () {
install -d ${D}${libdir}
cp -pPR ${BINLOCATION}/*.so* ${D}${libdir}
rm ${D}${libdir}/libpvrPVR2D_DRIWSEGL.so*
rm ${D}${libdir}/libsrv_um_dri.so*
rm ${D}${libdir}/pvr_drv.so*
install -m 0644 ${BINLOCATION}/*.a ${D}${libdir}
install -d ${D}${bindir}/
install -m 0755 ${WORKDIR}/cputype ${D}${bindir}/
install -m 0755 ${BINLOCATION}/*_test ${D}${bindir}/
install -m 0755 ${BINLOCATION}/gl* ${D}${bindir}/
install -m 0755 ${BINLOCATION}/${PVR_INIT} ${D}${bindir}/
install -d ${D}${includedir}
cp -pPR ${S}/GFX_Linux_KM/include4 ${D}${includedir}/
cp -pPR ${S}/GFX_Linux_KM/services4 ${D}${includedir}/
cp -pPr ${S}/include/pvr2d/*.h ${D}${includedir}
cp -pPr ${S}/include/OGLES2/* ${D}${includedir}/
cp -pPr ${S}/include/wsegl/*.h ${D}${includedir}/
install -d ${D}${sysconfdir}/init.d/
cp -pP ${WORKDIR}/rc.pvr ${D}${sysconfdir}/init.d/pvr-init
chmod +x ${D}${sysconfdir}/init.d/pvr-init
install -d ${D}${sysconfdir}
echo "[default]" > ${D}${sysconfdir}/powervr.ini
echo "WindowSystem=${LIBGLESWINDOWSYSTEM}" >> ${D}${sysconfdir}/powervr.ini
#Create different folders for ease of installing into different platforms with different display drivers/ SGX core
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"
raw_prog="gles1test1 gles2test1"
for esrev in 3 5 6 8 9 ; do
ESLOCATION=$(eval echo $(echo \$\{ES${esrev}LOCATION\}))
if [ -e ${ESLOCATION} ] ; then
install -d ${D}${libdir}/ES${esrev}.0
install -d ${D}${bindir}/ES${esrev}.0
cp -pPR ${ESLOCATION}/lib*${IMGPV} ${ESLOCATION}/pvr_drv.so ${ESLOCATION}/*.a ${D}${libdir}/ES${esrev}.0/
for esprog in $shared_prog $raw_prog ; do
install -m 0755 ${ESLOCATION}/$esprog ${D}${bindir}/ES${esrev}.0/ 2>/dev/null || true
done
fi
done
rm ${D}${bindir}/ES*/*.h ${D}${bindir}/ES*/pdsasm ${D}${bindir}/pdsasm -f || true
install -d ${D}${bindir}/SGX/demos/Raw/
install -m 0755 ${S}/demos/raw/* ${D}${bindir}/SGX/demos/Raw/
install -d ${D}${bindir}/SGX/trainingcourses/Raw 2>/dev/null || true
install -m 0755 ${S}/trainingcourses/raw/* ${D}${bindir}/SGX/trainingcourses/Raw/ 2>/dev/null || true
# Delete objects and linker scripts hidden between the headers
find ${D} -name "*.o" -delete
find ${D} -name "*.o.cmd" -delete
install -d ${D}${sysconfdir}/udev/rules.d
install -m 0644 ${WORKDIR}/99-bufferclass.rules ${D}${sysconfdir}/udev/rules.d/
}
PACKAGES =+ "${PN}-rawdemos ${PN}-rawtrainingcourses ${PN}-tests"
# Package the base libraries per silicon revision
PACKAGES =+ "${PN}-es3 ${PN}-es5 ${PN}-es6 ${PN}-es8 ${PN}-es9"
RRECOMMENDS_${PN} += "${PN}-es3 ${PN}-es5 ${PN}-es6 ${PN}-es8 ${PN}-es9"
FILES_${PN}-es3 = "${libdir}/ES3*/* ${bindir}/ES3*/*"
FILES_${PN}-es5 = "${libdir}/ES5*/* ${bindir}/ES5*/*"
FILES_${PN}-es6 = "${libdir}/ES6*/* ${bindir}/ES6*/*"
FILES_${PN}-es8 = "${libdir}/ES8*/* ${bindir}/ES8*/*"
FILES_${PN}-es9 = "${libdir}/ES9*/* ${bindir}/ES9*/*"
# Stop shlib code from picking a subpackage
PRIVATE_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"
PRIVATE_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"
PRIVATE_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"
PRIVATE_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"
PRIVATE_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"
RPROVIDES_${PN} += "libGLESv2.so libEGL.so libGLES_CM.so libpvr2d.so libIMGegl.so libsrv_init.so libsrv_um.so libsrv_um_dri.so libglslcompiler.so"
PACKAGES =+ "${PN}-blitwsegl ${PN}-flipwsegl ${PN}-frontwsegl ${PN}-linuxfbwsegl"
FILES_${PN}-blitwsegl = "${libdir}/libpvrPVR2D_BLITWSEGL.so.*"
FILES_${PN}-flipwsegl = "${libdir}/libpvrPVR2D_FLIPWSEGL.so.*"
FILES_${PN}-frontwsegl = "${libdir}/libpvrPVR2D_FRONTWSEGL.so.*"
FILES_${PN}-linuxfbwsegl = "${libdir}/libpvrPVR2D_LINUXFBWSEGL.so.*"
PACKAGES =+ "${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"
FILES_${PN}-blitwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_BLITWSEGL.so.*"
FILES_${PN}-blitwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_BLITWSEGL.so.*"
FILES_${PN}-blitwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_BLITWSEGL.so.*"
FILES_${PN}-blitwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_BLITWSEGL.so.*"
FILES_${PN}-blitwsegl-es9 = "${libdir}/ES9*/libpvrPVR2D_BLITWSEGL.so.*"
RRECOMMENDS_${PN}-blitwsegl = " ${PN}-blitwsegl-es3 ${PN}-blitwsegl-es5 ${PN}-blitwsegl-es6 ${PN}-blitwsegl-es8 ${PN}-blitwsegl-es9"
FILES_${PN}-flipwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_FLIPWSEGL.so.*"
FILES_${PN}-flipwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_FLIPWSEGL.so.*"
FILES_${PN}-flipwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_FLIPWSEGL.so.*"
FILES_${PN}-flipwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_FLIPWSEGL.so.*"
FILES_${PN}-flipwsegl-es9 = "${libdir}/ES9*/libpvrPVR2D_FLIPWSEGL.so.*"
RRECOMMENDS_${PN}-flipwsegl = " ${PN}-flipwsegl-es3 ${PN}-flipwsegl-es5 ${PN}-flipwsegl-es6 ${PN}-flipwsegl-es8 ${PN}-flipwsegl-es9"
FILES_${PN}-frontwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_FRONTWSEGL.so.*"
FILES_${PN}-frontwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_FRONTWSEGL.so.*"
FILES_${PN}-frontwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_FRONTWSEGL.so.*"
FILES_${PN}-frontwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_FRONTWSEGL.so.*"
FILES_${PN}-frontwsegl-es9 = "${libdir}/ES9*/libpvrPVR2D_FRONTWSEGL.so.*"
RRECOMMENDS_${PN}-frontwsegl = " ${PN}-frontwsegl-es3 ${PN}-frontwsegl-es5 ${PN}-frontwsegl-es6 ${PN}-frontwsegl-es8 ${PN}-frontwsegl-es9"
FILES_${PN}-linuxfbwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_LINUXFBWSEGL.so.*"
FILES_${PN}-linuxfbwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_LINUXFBWSEGL.so.*"
FILES_${PN}-linuxfbwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_LINUXFBWSEGL.so.*"
FILES_${PN}-linuxfbwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_LINUXFBWSEGL.so.*"
FILES_${PN}-linuxfbwsegl-es9 = "${libdir}/ES9*/libpvrPVR2D_LINUXFBWSEGL.so.*"
RRECOMMENDS_${PN}-linuxfbwsegl = " ${PN}-linuxfbwsegl-es3 ${PN}-linuxfbwsegl-es5 ${PN}-linuxfbwsegl-es6 ${PN}-linuxfbwsegl-es8 ${PN}-linuxfbwsegl-es9"
CONFFILES_${PN} = "${sysconfdir}/powervr.ini"
FILES_${PN} = "${sysconfdir} ${libdir}/*.so* ${bindir}/${PVR_INIT} ${bindir}/cputype ${bindir}/*"
FILES_${PN}-tests = "${bindir}/*test*"
FILES_${PN}-dbg = "${libdir}/.debug/* ${bindir}/.debug/* \
${libdir}/ES*/.debug ${bindir}/*/.debug\
${bindir}/SGX/demos/*/.debug/* \
${bindir}/SGX/trainingcourses/*/.debug/* \
"
FILES_${PN}-rawdemos = "${bindir}/SGX/demos/Raw/*"
FILES_${PN}-rawtrainingcourses = "${bindir}/SGX/trainingcourses/Raw/*"
# The libs need the kernel-modules
RRECOMMENDS_${PN} += "omap3-sgx-modules"
# The initscript calls fbset, cputype calls devmem2
RDEPENDS_${PN} += "fbset devmem2"
#HACK! These are binaries, so we can't guarantee that LDFLAGS match :(
INSANE_SKIP_${PN} = "ldflags dev-so"
INSANE_SKIP_${PN}-es3 = "ldflags dev-so staticdev"
INSANE_SKIP_${PN}-es5 = "ldflags dev-so staticdev"
INSANE_SKIP_${PN}-es6 = "ldflags dev-so staticdev"
INSANE_SKIP_${PN}-es8 = "ldflags dev-so staticdev"
INSANE_SKIP_${PN}-es9 = "ldflags dev-so staticdev"
INSANE_SKIP_${PN}-rawdemos = "ldflags dev-so useless-rpaths"
INSANE_SKIP_${PN}-blitwsegl = "ldflags"
INSANE_SKIP_${PN}-blitwsegl-es3 = "ldflags"
INSANE_SKIP_${PN}-blitwsegl-es5 = "ldflags"
INSANE_SKIP_${PN}-blitwsegl-es6 = "ldflags"
INSANE_SKIP_${PN}-blitwsegl-es8 = "ldflags"
INSANE_SKIP_${PN}-blitwsegl-es9 = "ldflags"
INSANE_SKIP_${PN}-flipwsegl = "ldflags"
INSANE_SKIP_${PN}-flipwsegl-es3 = "ldflags"
INSANE_SKIP_${PN}-flipwsegl-es5 = "ldflags"
INSANE_SKIP_${PN}-flipwsegl-es6 = "ldflags"
INSANE_SKIP_${PN}-flipwsegl-es8 = "ldflags"
INSANE_SKIP_${PN}-flipwsegl-es9 = "ldflags"
INSANE_SKIP_${PN}-frontwsegl = "ldflags"
INSANE_SKIP_${PN}-frontwsegl-es3 = "ldflags"
INSANE_SKIP_${PN}-frontwsegl-es5 = "ldflags"
INSANE_SKIP_${PN}-frontwsegl-es6 = "ldflags"
INSANE_SKIP_${PN}-frontwsegl-es8 = "ldflags"
INSANE_SKIP_${PN}-frontwsegl-es9 = "ldflags"
INSANE_SKIP_${PN}-linuxfbwsegl = "ldflags"
INSANE_SKIP_${PN}-linuxfbwsegl-es3 = "ldflags"
INSANE_SKIP_${PN}-linuxfbwsegl-es5 = "ldflags"
INSANE_SKIP_${PN}-linuxfbwsegl-es6 = "ldflags"
INSANE_SKIP_${PN}-linuxfbwsegl-es8 = "ldflags"
INSANE_SKIP_${PN}-linuxfbwsegl-es9 = "ldflags"
INSANE_SKIP_${PN}-tests = "ldflags"
# Quality control is really poor on these SDKs, so hack around the latest madness:
FILES_${PN} += "${libdir}/*.so "
FILES_${PN}-dev = "${includedir}"
inherit update-rc.d
INITSCRIPT_NAME = "pvr-init"
INITSCRIPT_PARAMS = "start 30 5 2 . stop 40 0 1 6 ."
# Append to update-rc.d postinst
pkg_postinst_${PN}_append() {
rm -f $D${sysconfdir}/powervr-esrev
}
pkg_postinst_${PN}-blitwsegl() {
rm -f $D${sysconfdir}/powervr-esrev
}
pkg_postinst_${PN}-flipwsegl() {
rm -f $D${sysconfdir}/powervr-esrev
}
pkg_postinst_${PN}-frontwsegl() {
rm -f $D${sysconfdir}/powervr-esrev
}
pkg_postinst_${PN}-linuxfbwsegl() {
rm -f $D${sysconfdir}/powervr-esrev
}

View File

@@ -0,0 +1,7 @@
# Give everyone access to bufferclass nodes and make a compatibility symlink for the first one
SUBSYSTEM=="bccat", MODE="0666"
KERNEL=="bccat0", SYMLINK+="bc_cat", MODE="0666"
# Give everyone access to v4l nodes
SUBSYSTEM=="video4linux", MODE="0666"

View File

@@ -0,0 +1,17 @@
#!/bin/sh
machine_id() { # return the machine ID
awk 'BEGIN { FS=": " } /Hardware/ \
{ gsub(" ", "_", $2); print tolower($2) } ' </proc/cpuinfo
}
if [ "$(machine_id)" = "ti8168evm" ] ; then
echo TI816x
elif [ "$(machine_id)" = "am335xevm" ] ; then
echo TI33XX
else
devmem2 0x4800244c | \
grep 'Read at address' | \
sed -e 's/.*): //' | \
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/'
fi

View File

@@ -0,0 +1,125 @@
#!/bin/sh
PATH=$PATH:/usr/sbin
# Check if an fb device is available. If not then just go ahead and
# exit because we have no display.
fbset > /dev/null 2>&1
if [ "$?" == "1" ]
then
# looks like there is no display, so let's exit
exit 0
fi
BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
YRES="$(fbset | grep geom | awk '{print $3}')"
CPUTYPE="$(cputype)"
if [ "$1" = "" ]; then
echo PVR-INIT: Please use start, stop, or restart.
exit 1
fi
if [ "$1" = "stop" -o "$1" = "restart" ]; then
echo Stopping PVR
rmmod bufferclass_ti
rmmod omaplfb 2>/dev/null
rmmod pvrsrvkm 2>/dev/null
fi
if [ "$1" = "stop" ]; then
exit 0
fi
# Set RGBA ordering to something the drivers like
if [ "$BITSPERPIXEL" = "32" ] ; then
fbset -rgba 8/16,8/8,8/0,8/24
fi
# Try to enable triple buffering when there's enough VRAM
fbset -vyres $(expr $YRES \* 3)
sgxprepare () {
echo Starting PVR
insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
if [ "$?" != "0" ]
then
echo "Could not find pvrsrvkm driver"
exit 1
fi
modprobe omaplfb
modprobe bufferclass_ti
pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
if [ -e /dev/pvrsrvkm ] ; then
rm -f /dev/pvrsrvkm
fi
mknod /dev/pvrsrvkm c $pvr_maj 0
chmod 666 /dev/pvrsrvkm
touch /etc/powervr-esrev
SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
}
sgxfinish () {
# Fix up a bug in opkg
if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
cd /usr/lib
ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
fi
if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
echo -n "Starting SGX fixup for"
echo " ES${ES_REVISION}.x"
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
echo "${ES_REVISION}" > /etc/powervr-esrev
fi
if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
}
case $CPUTYPE in
"OMAP3530")
sgxprepare
devmem2 0x48004B48 w 0x2 > /dev/null
devmem2 0x48004B10 w 0x1 > /dev/null
devmem2 0x48004B00 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI33XX")
sgxprepare
devmem2 0x44e01104 w 0x0 > /dev/null
devmem2 0x44e00904 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI816x")
sgxprepare
devmem2 0x48180F04 w 0x0 > /dev/null
devmem2 0x48180900 w 0x2 > /dev/null
devmem2 0x48180920 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
*)
echo No SGX hardware, not starting PVR
;;
esac

View File

@@ -0,0 +1,137 @@
#!/bin/sh
PATH=$PATH:/usr/sbin
# Check if an fb device is available. If not then just go ahead and
# exit because we have no display.
fbset > /dev/null 2>&1
if [ "$?" == "1" ]
then
# looks like there is no display, so let's exit
exit 0
fi
BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
YRES="$(fbset | grep geom | awk '{print $3}')"
CPUTYPE="$(cputype)"
if [ "$1" = "" ]; then
echo PVR-INIT: Please use start, stop, or restart.
exit 1
fi
if [ "$1" = "stop" -o "$1" = "restart" ]; then
echo Stopping PVR
# Stop the X Server.
#
[ -f /tmp/.X0-lock ] && read XPID < /tmp/.X0-lock && [ -n "$XPID" ] && kill $XPID && while [ -e /proc/$XPID ] ; do sleep 1; done
rmmod bufferclass_ti
rmmod pvrsrvkm 2>/dev/null
rmmod drm 2>/dev/null
fi
if [ "$1" = "stop" ]; then
exit 0
fi
# Set RGBA ordering to something the drivers like
if [ "$BITSPERPIXEL" = "32" ] ; then
fbset -rgba 8/16,8/8,8/0,8/24
fi
# Try to enable triple buffering when there's enough VRAM
fbset -vyres $(expr $YRES \* 3)
sgxprepare () {
echo Starting PVR
# Start the X Server.
# The X Server will load the PVR Services module.
#
/usr/local/XSGX/bin/X -verbose -config /usr/local/XSGX/etc/xorg.conf &
modprobe drm
insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
if [ "$?" != "0" ]
then
echo "Could not find pvrsrvkm driver"
exit 1
fi
modprobe bufferclass_ti
pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
if [ -e /dev/pvrsrvkm ] ; then
rm -f /dev/pvrsrvkm
fi
mknod /dev/pvrsrvkm c $pvr_maj 0
chmod 666 /dev/pvrsrvkm
touch /etc/powervr-esrev
SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
}
sgxfinish () {
# Fix up a bug in opkg
if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
cd /usr/lib
ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
fi
if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
echo -n "Starting SGX fixup for"
echo " ES${ES_REVISION}.x"
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
echo "${ES_REVISION}" > /etc/powervr-esrev
fi
if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
}
case $CPUTYPE in
"OMAP3530")
sgxprepare
devmem2 0x48004B48 w 0x2 > /dev/null
devmem2 0x48004B10 w 0x1 > /dev/null
devmem2 0x48004B00 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI33XX")
sgxprepare
devmem2 0x44e01104 w 0x0 > /dev/null
devmem2 0x44e00904 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI816x")
sgxprepare
devmem2 0x48180F04 w 0x0 > /dev/null
devmem2 0x48180900 w 0x2 > /dev/null
devmem2 0x48180920 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
*)
echo No SGX hardware, not starting PVR
;;
esac

View File

@@ -0,0 +1,8 @@
[Desktop Entry]
Name=NAME Demo
Comment=OGLES Demo
Exec=EXEC
Icon=star
Type=Application
Categories=Graphics;

View File

@@ -0,0 +1,333 @@
DESCRIPTION = "libGLES for the omap3 (X11)"
LICENSE = "proprietary-binary"
# 'TSPA.txt' might not be the best file to md5sum
LIC_FILES_CHKSUM = "file://TSPA.txt;md5=c0d5d9c1e38b41677144c4e24d6ddee1"
INC_PR = "r38"
EXCLUDE_FROM_WORLD = "1"
COMPATIBLE_MACHINE = "(omap3|ti814x|ti816x|ti33x|ti43x)"
DEPENDS = "virtual/libx11 libxau libxdmcp libdrm"
export SUPPORT_XORG ?= "1"
PVR_INIT ?= "pvrsrvinit"
PROVIDES += "libgles-omap3 virtual/egl virtual/libgles1 virtual/libgles2"
RREPLACES_${PN} = "libegl libgles1 libgles2"
RREPLACES_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
RREPLACES_${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
RPROVIDES_${PN} = "libegl libgles1 libgles2"
RPROVIDES_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
RPROVIDES_${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
RCONFLICTS_${PN} = "libegl libgles1 libgles2"
RCONFLICTS_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
RCONFLICTS_${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
file://cputype \
file://rc_dri.pvr \
file://sample.desktop \
file://99-bufferclass.rules \
"
S = "${WORKDIR}/OMAP35x_Graphics_SDK_${SGXPV}"
# Logic to unpack installjammer file
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
require ../../recipes-ti/includes/ti-eula-unpack.inc
export BINLOCATION ?= "${S}/gfx_rel"
export ES3LOCATION ?= "${S}/gfx_rel_es3.x"
export ES5LOCATION ?= "${S}/gfx_rel_es5.x"
export ES6LOCATION ?= "${S}/gfx_rel_es6.x"
export ES8LOCATION ?= "${S}/gfx_rel_es8.x"
export ES9LOCATION ?= "${S}/gfx_rel_es9.x"
LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_DRIWSEGL.so"
python __anonymous() {
if "x11" not in d.getVar("DISTRO_FEATURES", True).split():
raise bb.parse.SkipPackage("Recipe is x11-specific, skipping")
}
do_configure() {
# Attempt to fix up the worst offenders for file permissions
for i in $(find ${S} -name "*.h") $(find ${S} -name "*.c") $(find ${S} -name "Make*") ; do
chmod 0644 $i
done
# Attempt to create proper library softlinks
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
if [ "$(readlink -n ${sofile})" = "" ] ; then
mv $sofile ${sofile}.${IMGPV}
ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}
ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}$(echo ${IMGPV} | awk -F. '{print "." $1}')
ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}$(echo ${IMGPV} | awk -F. '{print "." $1 "." $2}')
fi
done
# Due to recursive make PLAT_* isn't always passed down correctly, so use sed to fix those
for mak in $(find ${S} -name "*.mak") ; do
sed -i -e s:arm-none-linux-gnueabi-:${TARGET_PREFIX}:g $mak
done
# clear out old stuff
find Binaries/ | xargs rm -f || true
}
# Force in GNU_HASH and paths to libs
TARGET_CC_ARCH += " ${TARGET_LINK_HASH_STYLE} -Wl,-rpath-link,${BINLOCATION} -L${BINLOCATION} \
-L${STAGING_DIR_TARGET}${libdir} -Wl,-rpath-link,${STAGING_DIR_TARGET}${libdir}"
PARALLEL_MAKE = ""
PLATFORM ?= "LinuxOMAP3"
do_compile() {
export TOOLCHAIN="${TOOLCHAIN_PATH}"
export PLAT_CC="${CC}"
export PLAT_CPP="${CXX}"
export PLAR_AR="${AR}"
export X11ROOT="${STAGING_DIR_HOST}/usr"
mkdir -p ${S}/demos/x11
mkdir -p ${S}/trainingcourses/x11
mkdir -p ${S}/demos/raw
mkdir -p ${S}/trainingcourses/raw
# Rebuild demos
for demo in ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Demos/* ; do
cd $demo/OGLES/Build/LinuxGeneric
oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=1
rm $demo/OGLES/Build/${PLATFORM}/Release*/*.o
install -m 0755 $demo/OGLES/Build/${PLATFORM}/ReleaseX11/* ${S}/demos/x11 || true
sed -e s:NAME:$(basename $demo): \
-e s:EXEC:${bindir}/SGX/demos/X11/$(basename $demo/OGLES/Build/${PLATFORM}/ReleaseX11/*): \
${WORKDIR}/sample.desktop > ${WORKDIR}/$(basename $demo).desktop
done
for demo in ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Demos/* ; do
cd $demo/OGLES2/Build/LinuxGeneric
oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=1
rm -f $demo/OGLES2/Build/${PLATFORM}/Release*/*.o
install -m 0755 $demo/OGLES2/Build/${PLATFORM}/ReleaseX11/* ${S}/demos/x11 || true
sed -e s:NAME:$(basename $demo): \
-e s:EXEC:${bindir}/SGX/demos/X11/$(basename $demo/OGLES2/Build/${PLATFORM}/ReleaseX11/*): \
${WORKDIR}/sample.desktop > ${WORKDIR}/$(basename $demo).desktop
done
find ${S} -name "*_org" -delete
# Build OGLES2 Trainingcourses
for training in ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/TrainingCourse/* ; do
if [ -e $training/OGLES2/Build/LinuxGeneric/Makefile ] ; then
cd $training/OGLES2/Build/LinuxGeneric
fi
if [ -e $training/OGLES2/Build/${PLATFORM}/Makefile ] ; then
cd $training/OGLES2/Build/${PLATFORM}
fi
oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=1
rm -f $training/OGLES2/Build/${PLATFORM}/Release*/*.o
install -m 0755 $training/OGLES2/Build/${PLATFORM}/ReleaseX11/* ${S}/trainingcourses/x11 || true
done
}
do_install () {
install -d ${D}${libdir}
cp -pPR ${BINLOCATION}/*.so* ${D}${libdir}
install -m 0644 ${BINLOCATION}/*.a ${D}${libdir}
install -d ${D}${bindir}/
install -m 0755 ${WORKDIR}/cputype ${D}${bindir}/
install -m 0755 ${BINLOCATION}/*_test ${D}${bindir}/
install -m 0755 ${BINLOCATION}/gl* ${D}${bindir}/
install -m 0755 ${BINLOCATION}/${PVR_INIT} ${D}${bindir}/
install -m 0755 ${BINLOCATION}/xgles1test1 ${D}${bindir}/
install -d ${D}${includedir}
cp -pPR ${S}/GFX_Linux_KM/include4 ${D}${includedir}/
cp -pPR ${S}/GFX_Linux_KM/services4 ${D}${includedir}/
cp -pPR ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/Include/* ${D}${includedir}/
cp -pPR ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/* ${D}${includedir}/
cp -pPR ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/${PLATFORM}/Include/GLES/* ${D}${includedir}/GLES/ 2>/dev/null || true
cp -pPr ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/${PLATFORM}/Include/GLES/* ${D}${includedir}/GLES2/ 2>/dev/null || true
cp -pPr ${S}/include/wsegl/*.h ${D}${includedir} || true
install -d ${D}${sysconfdir}/init.d/
install -d ${D}${sysconfdir}
echo "[default]" > ${D}${sysconfdir}/powervr.ini
echo "WindowSystem=${LIBGLESWINDOWSYSTEM}" >> ${D}${sysconfdir}/powervr.ini
# The ES3.x, ES5.x and ES6.x CPUs have different SGX hardware, so we need to install multiple sets of userspace
install -d ${D}${libdir}/ES9.0
install -d ${D}${libdir}/ES8.0
install -d ${D}${libdir}/ES6.0
install -d ${D}${libdir}/ES5.0
install -d ${D}${libdir}/ES3.0
install -d ${D}${bindir}/ES9.0
install -d ${D}${bindir}/ES8.0
install -d ${D}${bindir}/ES6.0
install -d ${D}${bindir}/ES5.0
install -d ${D}${bindir}/ES3.0
x11_prog="eglinfo_x xgles1test1 xgles2test1 xmultiegltest"
for esrev in 3 5 6 8 9; do
ESLOCATION=$(eval echo $(echo \$\{ES${esrev}LOCATION\}))
if [ -e ${ESLOCATION} ] ; then
cp -pPR ${ESLOCATION}/lib*${IMGPV} ${ESLOCATION}/pvr_drv.so ${ESLOCATION}/*.a ${D}${libdir}/ES${esrev}.0/
for esprog in $x11_prog ; do
install -m 0755 ${ESLOCATION}/$esprog ${D}${bindir}/ES${esrev}.0/ 2>/dev/null || true
done
fi
done
rm ${D}${bindir}/ES*/*.h ${D}${bindir}/ES*/pdsasm ${D}${bindir}/pdsasm -f || true
install -d ${D}${prefix}/share/applications
cp ${WORKDIR}/*.desktop ${D}${prefix}/share/applications
rm ${D}${prefix}/share/applications/sample.desktop
install -d ${D}${bindir}/SGX/demos/X11/
install -m 0755 ${S}/demos/x11/* ${D}${bindir}/SGX/demos/X11/
install -d ${D}${bindir}/SGX/trainingcourses/X11 2>/dev/null || true
install -m 0755 ${S}/trainingcourses/x11/* ${D}${bindir}/SGX/trainingcourses/X11/ 2>/dev/null || true
# Delete objects and linker scripts hidden between the headers
find ${D} -name "*.o" -delete
find ${D} -name "*.o.cmd" -delete
install -d ${D}${sysconfdir}/udev/rules.d
install -m 0644 ${WORKDIR}/99-bufferclass.rules ${D}${sysconfdir}/udev/rules.d/
}
PACKAGES =+ "${PN}-x11demos ${PN}-x11trainingcourses xserver-kdrive-powervrsgx"
# Package the base libraries per silicon revision
PACKAGES =+ "${PN}-es3 ${PN}-es5 ${PN}-es6 ${PN}-es8 ${PN}-es9"
RRECOMMENDS_${PN} += "${PN}-es3 ${PN}-es5 ${PN}-es6 ${PN}-es8 ${PN}-es9"
FILES_${PN}-es3 = "${libdir}/ES3*/* ${bindir}/ES3*/*"
FILES_${PN}-es5 = "${libdir}/ES5*/* ${bindir}/ES5*/*"
FILES_${PN}-es6 = "${libdir}/ES6*/* ${bindir}/ES6*/*"
FILES_${PN}-es8 = "${libdir}/ES8*/* ${bindir}/ES8*/*"
FILES_${PN}-es9 = "${libdir}/ES9*/* ${bindir}/ES9*/*"
# Stop shlib code from picking a subpackage
PRIVATE_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"
PRIVATE_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"
PRIVATE_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"
PRIVATE_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"
PRIVATE_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"
PACKAGES =+ "${PN}-x11wsegl ${PN}-driwsegl"
FILES_${PN}-x11wsegl = "${libdir}/libpvrPVR2D_X11WSEGL.so* ${bindir}/x* ${bindir}/*x"
FILES_${PN}-driwsegl = "${libdir}/libpvrPVR2D_DRIWSEGL.so* ${libdir}/libsrv_um_dri*"
X11_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"
PACKAGES =+ "${X11_SEGL}"
FILES_${PN}-x11wsegl-es2 = "${libdir}/ES2*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES2*/x* ${bindir}/ES2*/*x"
FILES_${PN}-x11wsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES3*/x* ${bindir}/ES3*/*x"
FILES_${PN}-x11wsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES5*/x* ${bindir}/ES5*/*x"
FILES_${PN}-x11wsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES6*/x* ${bindir}/ES6*/*x"
FILES_${PN}-x11wsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES8*/x* ${bindir}/ES8*/*x"
FILES_${PN}-x11wsegl-es9 = "${libdir}/ES9*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES9*/x* ${bindir}/ES9*/*x"
RRECOMMENDS_${PN}-x11wsegl = " ${PN}-x11wsegl-es2 ${PN}-x11wsegl-es3 ${PN}-x11wsegl-es5 ${PN}-x11wsegl-es6 ${PN}-x11wsegl-es8 ${PN}-x11wsegl-es9"
FILES_${PN}-driwsegl-es2 = "${libdir}/ES2*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES2*/libsrv_um_dri*"
FILES_${PN}-driwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES3*/libsrv_um_dri*"
FILES_${PN}-driwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES5*/libsrv_um_dri*"
FILES_${PN}-driwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES6*/libsrv_um_dri*"
FILES_${PN}-driwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES8*/libsrv_um_dri*"
FILES_${PN}-driwsegl-es9 = "${libdir}/ES9*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES9*/libsrv_um_dri*"
RRECOMMENDS_${PN}-driwsegl = " ${PN}-driwsegl-es2 ${PN}-driwsegl-es3 ${PN}-driwsegl-es5 ${PN}-driwsegl-es6 ${PN}-driwsegl-es8 ${PN}-driwsegl-es9"
CONFFILES_${PN} = "${sysconfdir}/powervr.ini"
FILES_${PN} = "${sysconfdir} ${libdir}/*.so* ${bindir}/${PVR_INIT} ${bindir}/cputype ${bindir}/*"
FILES_xserver-kdrive-powervrsgx = "${bindir}/Xsgx"
FILES_${PN}-tests = "${bindir}/*test*"
FILES_${PN}-dbg = "${libdir}/.debug/* ${bindir}/.debug/* \
${libdir}/ES*/.debug ${bindir}/*/.debug\
${bindir}/SGX/demos/*/.debug/* \
${bindir}/SGX/trainingcourses/*/.debug/* \
"
FILES_${PN}-x11demos = "${bindir}/SGX/demos/X11/* ${prefix}/share/applications "
RRECOMMENDS_${PN}-x11demos = "${PN}-x11wsegl"
FILES_${PN}-x11trainingcourses = "${bindir}/SGX/trainingcourses/X11/*"
RRECOMMENDS_${PN}-x11trainingcourses = "${PN}-x11wsegl"
# The libs need the kernel-modules
RRECOMMENDS_${PN} += "omap3-sgx-modules-x11"
# The initscript calls fbset, cputype calls devmem2
RDEPENDS_${PN} += "fbset devmem2"
#HACK! These are binaries, so we can't guarantee that LDFLAGS match :(
INSANE_SKIP_${PN} = "ldflags dev-so"
INSANE_SKIP_${PN}-es3 = "ldflags dev-so staticdev"
INSANE_SKIP_${PN}-es5 = "ldflags dev-so staticdev"
INSANE_SKIP_${PN}-es6 = "ldflags dev-so staticdev"
INSANE_SKIP_${PN}-es8 = "ldflags dev-so staticdev"
INSANE_SKIP_${PN}-es9 = "ldflags dev-so staticdev"
INSANE_SKIP_${PN}-x11demos = "ldflags dev-so useless-rpaths"
INSANE_SKIP_${PN}-x11wsegl = "ldflags dev-so"
INSANE_SKIP_${PN}-x11wsegl-es3 = "ldflags dev-so"
INSANE_SKIP_${PN}-x11wsegl-es5 = "ldflags dev-so"
INSANE_SKIP_${PN}-x11wsegl-es6 = "ldflags dev-so"
INSANE_SKIP_${PN}-x11wsegl-es8 = "ldflags dev-so"
INSANE_SKIP_${PN}-x11wsegl-es9 = "ldflags dev-so"
INSANE_SKIP_${PN}-driwsegl = "ldflags dev-so"
INSANE_SKIP_${PN}-driwsegl-es3 = "ldflags dev-so"
INSANE_SKIP_${PN}-driwsegl-es5 = "ldflags dev-so"
INSANE_SKIP_${PN}-driwsegl-es6 = "ldflags dev-so"
INSANE_SKIP_${PN}-driwsegl-es8 = "ldflags dev-so"
INSANE_SKIP_${PN}-driwsegl-es9 = "ldflags dev-so"
INSANE_SKIP_${PN}-tests = "ldflags"
INSANE_SKIP_xserver-kdrive-powervrsgx = "ldflags"
INSANE_SKIP_${PN}-dev = "ldflags dev-so"
inherit update-rc.d
INITSCRIPT_NAME = "pvr-init"
INITSCRIPT_PARAMS = "start 30 5 2 . stop 40 0 1 6 ."
# Append to update-rc.d postinst
pkg_postinst_${PN}_append() {
rm -f $D${sysconfdir}/powervr-esrev
ln -sf /usr/lib/libXdmcp.so.6.0.0 /usr/lib/libXdmcp.so.0
ln -sf /usr/lib/libXau.so.6.0.0 /usr/lib/libXau.so.0
}
pkg_postinst_${PN}-x11wsegl() {
rm -f $D${sysconfdir}/powervr-esrev
echo "[default]" > $D${sysconfdir}/powervr.ini
echo "WindowSystem=libpvrPVR2D_X11WSEGL.so.1" >> $D${sysconfdir}/powervr.ini
}
pkg_postinst_${PN}-driwsegl() {
rm -f $D${sysconfdir}/powervr-esrev
}

View File

@@ -0,0 +1,90 @@
require libgles-omap3-x11.inc
LICENSE = "TI-TSPA"
PR = "${INC_PR}.3"
DEFAULT_PREFERENCE = "-1"
BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
PLATFORM = "LinuxARMV7"
PVR_INIT = "pvrsrvctl"
# download required binary distribution from:
# http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html
# see libgles-omap3.inc for detailed installation instructions
SGXPV = "4_09_00_01"
IMGPV = "1.9.2188537"
TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
# Select the corresponding hardfp/softfp filename and checksums based on tune flags
BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d"
SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin"
MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67"
SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b"
BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
file://cputype \
file://rc.pvr \
file://rc_dri.pvr \
file://sample.desktop \
file://99-bufferclass.rules \
"
SRC_URI[md5sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}"
SRC_URI[sha256sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}"
S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_DRIWSEGL.so"
do_configure_append() {
# Change PVR server's user mode library to point to DRI
for drifile in $(find ${S} -name "libsrv_um_dri.so"); do
if [ "$drifile" != "" ]
then
dir=$(dirname ${drifile})
if [ "$SUPPORT_XORG" = "1" ]
then
mv ${dir}/libsrv_um_dri.so ${dir}/libsrv_um.so
else
rm -rf ${dir}/libsrv_um_dri.so
fi
fi
done
}
do_install_append() {
# In this version of the graphics SDK the following directories do not exist:
# /GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/pvr2d.h (doesn't exist)
# /GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/GLES/egltypes.h (doesn't exist)
# Therefore, need to copy these files manually at the only location that they do exist
cp -pPr ${S}/include/pvr2d/*.h ${D}${includedir}
cp -pPr ${S}/include/OGLES/GLES ${D}${includedir}/
rm -f ${D}${sysconfdir}/init.d/pvr-init
if [ "$SUPPORT_XORG" = "1" ]; then
cp -pP ${WORKDIR}/rc_dri.pvr ${D}${sysconfdir}/init.d/pvr-init
else
cp -pP ${WORKDIR}/rc.pvr ${D}${sysconfdir}/init.d/pvr-init
fi
}
RRECOMMENDS_${PN}-x11demos = "${PN}-driwsegl"
RRECOMMENDS_${PN}-x11trainingcourses = "${PN}-driwsegl"

View File

@@ -437,4 +437,3 @@ echo "WindowSystem=libpvrPVR2D_X11WSEGL.so.1" >> $D${sysconfdir}/powervr.ini
pkg_postinst_${PN}-driwsegl() {
rm -f $D${sysconfdir}/powervr-esrev
}

View File

@@ -1,17 +1,25 @@
#!/bin/sh
machine_id() { # return the machine ID
legacy_machine_id() { # return the machine ID
awk 'BEGIN { FS=": " } /Hardware/ \
{ gsub(" ", "_", $2); print tolower($2) } ' </proc/cpuinfo
}
if [ "$(machine_id)" = "ti8168evm" ] ; then
machine_id() { # return the machine ID
cat /proc/cpuinfo | grep Hardware | awk -F" " '{ print $4 }'
}
if [ "$(machine_id)" = "ti8168evm" -o "$(legacy_machine_id)" = "ti8168evm" ] ; then
echo TI816x
elif [ "$(machine_id)" = "am335xevm" ] ; then
echo TI33XX
elif [ "$(machine_id)" = "AM33XX" -o "$(legacy_machine_id)" = "am335xevm" ] ; then
echo TI33XX
elif [ "$(machine_id)" = "AM43" ] ; then
echo TI43XX
else
devmem2 0x4800244c | \
grep 'Read at address' | \
sed -e 's/.*): //' | \
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/'
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/'
fi

View File

@@ -1,30 +0,0 @@
BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
ES2LOCATION = "${S}/gfx_rel_es2.x"
ES3LOCATION = "${S}/gfx_rel_es3.x"
ES5LOCATION = "${S}/gfx_rel_es5.x"
ES6LOCATION = "${S}/gfx_rel_es6.x"
require libgles-omap3.inc
# download required binary distribution from:
# http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html
# see libgles-omap3.inc for detailed installation instructions
SGXPV = "4_03_00_02"
IMGPV = "1.6.16.3977"
BINFILE := "Graphics_SDK_setuplinux_${SGXPV}.bin"
TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
file://cputype \
file://rc.pvr \
file://sample.desktop \
file://99-bufferclass.rules \
"
SRC_URI[md5sum] = "ff8c1f2b8e4cb42f4ced6a613b081ada"
SRC_URI[sha256sum] = "cdb0bd3964e107733d632aa8224e0537b05c1ffac34befc036423458c8d75255"
S = "${WORKDIR}/Graphics_SDK_${SGXPV}"

View File

@@ -5,6 +5,8 @@ BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
require libgles-omap3.inc
DEFAULT_PREFERENCE_omap3 = "99"
# download required binary distribution from:
# http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html
# see libgles-omap3.inc for detailed installation instructions

View File

@@ -1,8 +1,6 @@
require libgles-omap3.inc
LICENSE = "TSPA"
DEFAULT_PREFERENCE = "-1"
LICENSE = "TI-TSPA"
BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"

View File

@@ -1,8 +1,6 @@
require libgles-omap3.inc
LICENSE = "TSPA"
DEFAULT_PREFERENCE = "-1"
LICENSE = "TI-TSPA"
BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"

View File

@@ -1,10 +1,10 @@
require libgles-omap3.inc
require libgles-omap3-no-x.inc
LICENSE = "TSPA"
LICENSE = "TI-TSPA"
DEFAULT_PREFERENCE = "-1"
PR = "${INC_PR}.3"
BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
@@ -18,58 +18,29 @@ PVR_INIT = "pvrsrvctl"
SGXPV = "4_09_00_01"
IMGPV = "1.9.2188537"
BINFILE = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
# Select the corresponding hardfp/softfp filename and checksums based on tune flags
BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d"
SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin"
MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67"
SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b"
BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
file://cputype \
file://rc.pvr \
file://rc_dri.pvr \
file://sample.desktop \
file://99-bufferclass.rules \
"
SRC_URI[md5sum] = "bd35e9d8843aff3a2aca9d41e7db1c7d"
SRC_URI[sha256sum] = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
SRC_URI[md5sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}"
SRC_URI[sha256sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}"
S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
LIBGLESWINDOWSYSTEM ?= "${@base_contains('DISTRO_FEATURES', 'x11',"libpvrPVR2D_DRIWSEGL.so" ,"libpvrPVR2D_FRONTWSEGL.so.1", d)}"
do_configure_append() {
# Change PVR server's user mode library to point to DRI
for drifile in $(find ${S} -name "libsrv_um_dri.so"); do
if [ "$drifile" != "" ]
then
dir=$(dirname ${drifile})
if [ "$SUPPORT_XORG" = "1" ]
then
mv ${dir}/libsrv_um_dri.so ${dir}/libsrv_um.so
else
rm -rf ${dir}/libsrv_um_dri.so
fi
fi
done
}
do_install_append() {
# In this version of the graphics SDK the following directories do not exist:
# /GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/pvr2d.h (doesn't exist)
# /GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/GLES/egltypes.h (doesn't exist)
# Therefore, need to copy these files manually at the only location that they do exist
cp -pPr ${S}/include/pvr2d/*.h ${D}${includedir}
cp -pPr ${S}/include/OGLES/GLES ${D}${includedir}/
rm ${D}${sysconfdir}/init.d/pvr-init
if [ "$SUPPORT_XORG" = "1" ]; then
cp -pP ${WORKDIR}/rc_dri.pvr ${D}${sysconfdir}/init.d/pvr-init
else
cp -pP ${WORKDIR}/rc.pvr ${D}${sysconfdir}/init.d/pvr-init
fi
}
RRECOMMENDS_${PN}-x11demos = "${PN}-driwsegl"
RRECOMMENDS_${PN}-x11trainingcourses = "${PN}-driwsegl"
LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_FRONTWSEGL.so.1"

View File

@@ -0,0 +1,50 @@
require libgles-omap3-no-x.inc
LICENSE = "TI-TSPA"
PR = "${INC_PR}.2"
BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
BINLOCATION_ti43x = "${S}/gfx_rel_es9.x"
PLATFORM = "LinuxARMV7"
PVR_INIT = "pvrsrvctl"
SGXPV = "5_00_00_01"
IMGPV = "1.10.2359475"
TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_alpha_hardfp_minimal_demos.bin"
MD5SUM_HARDFP = "ae6125d7f8a313ea5c02afded893052d"
SHA256SUM_HARDFP = "c2782a2f85024741722b936ec9dca66b858ae8561aa71b693f11e12d8c0385e0"
# For now we only have hardfp version
python __anonymous() {
tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
if not tunes:
return
pkgn = bb.data.getVar("PN", d, 1)
pkgv = bb.data.getVar("PV", d, 1)
if "callconvention-hard" not in tunes:
bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
}
BINFILE := "${BINFILE_HARDFP}"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE} \
file://cputype \
file://rc.pvr \
file://99-bufferclass.rules \
"
SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_FRONTWSEGL.so.1"

View File

@@ -0,0 +1,50 @@
require libgles-omap3-no-x.inc
LICENSE = "TI-TSPA"
PR = "${INC_PR}.2"
BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
BINLOCATION_ti43x = "${S}/gfx_rel_es9.x"
PLATFORM = "LinuxARMV7"
PVR_INIT = "pvrsrvctl"
SGXPV = "5_01_00_01"
IMGPV = "1.10.2359475"
TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin"
MD5SUM_HARDFP = "0ee7d59808330d442a51c0990c2cb30e"
SHA256SUM_HARDFP = "769daae439677a7a85bbbced14cee4f85b19823e0b99560078d0a864c525c128"
# For now we only have hardfp version
python __anonymous() {
tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
if not tunes:
return
pkgn = bb.data.getVar("PN", d, 1)
pkgv = bb.data.getVar("PV", d, 1)
if "callconvention-hard" not in tunes:
bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
}
BINFILE := "${BINFILE_HARDFP}"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE} \
file://cputype \
file://rc.pvr \
file://99-bufferclass.rules \
"
SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_FRONTWSEGL.so.1"

View File

@@ -0,0 +1,50 @@
require libgles-omap3-no-x.inc
LICENSE = "TI-TSPA"
PR = "${INC_PR}.1"
BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
BINLOCATION_ti43x = "${S}/gfx_rel_es9.x"
PLATFORM = "LinuxARMV7"
PVR_INIT = "pvrsrvctl"
SGXPV = "5_01_01_01"
IMGPV = "1.10.2359475"
TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin"
MD5SUM_HARDFP = "94acdbd20152c905939c2448d5e80a72"
SHA256SUM_HARDFP = "7f647bf45a5ce8ba9aaa28c4afe85fced4275f9a4567a1886d4460b76c9051ae"
# For now we only have hardfp version
python __anonymous() {
tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
if not tunes:
return
pkgn = bb.data.getVar("PN", d, 1)
pkgv = bb.data.getVar("PV", d, 1)
if "callconvention-hard" not in tunes:
bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
}
BINFILE := "${BINFILE_HARDFP}"
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE} \
file://cputype \
file://rc.pvr \
file://99-bufferclass.rules \
"
SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_FRONTWSEGL.so.1"

View File

@@ -0,0 +1,28 @@
DESCRIPTION = "Userspace libraries for SGX"
HOMEPAGE = "http://downloads.ti.com/dsps/dsps_public_sw/gfxsdk"
LICENSE = "TI-TSPA"
LIC_FILES_CHKSUM = "file://OMAP5-Linux-Graphics-DDK-UM-Manifest.doc;md5=360d293df455e4f2d363bb4014a49603"
SRC_URI = "git://git.ti.com/graphics/omap5-sgx-ddk-um-linux.git;protocol=git"
SRCREV = "994922a5655c63b05343a9238cb30e6ef61744be"
PR = "r2"
PROVIDES += "virtual/egl virtual/libgles1 virtual/libgles2"
RREPLACES_${PN} = "libegl libgles1 libgles2"
RREPLACES_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
RREPLACES_${PN}-dbg = "libegl-dbg"
S = "${WORKDIR}/git"
do_install () {
oe_runmake install DESTDIR=${D}
}
FILES_${PN} = "${bindir}/*"
FILES_${PN} += " ${libdir}/*"
FILES_${PN} += "${includedir}/* /usr/share/sgx-lib/"
INHIBIT_PACKAGE_STRIP = "1"
INSANE_SKIP_${PN} += "dev-so"

View File

@@ -1,7 +0,0 @@
PRINC := "${@int(PRINC) + 1}"
# avoid providing conflicts for libgles-omap3 compatibles
PROVIDES_omap3 = "virtual/libgl"
PROVIDES_ti814x = "virtual/libgl"
PROVIDES_ti816x = "virtual/libgl"
PROVIDES_ti33x = "virtual/libgl"

View File

@@ -1 +0,0 @@
require mesa-omap3-common.inc

View File

@@ -1 +0,0 @@
require mesa-omap3-common.inc

View File

@@ -1,5 +1,2 @@
PRINC = "2"
THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}"
FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}"], d)}:"
PRINC := "${@int(PRINC) + 1}"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"

View File

@@ -1,340 +0,0 @@
From 3721255965a94417996df6f2402a288aa09cb5b2 Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Thu, 21 Jul 2011 14:29:42 +0200
Subject: [PATCH 1/3] UNFINISHED: OMAP3: beagle: add support for expansionboards
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
arch/arm/mach-omap2/board-omap3beagle.c | 266 +++++++++++++++++++++++++++++++
1 files changed, 266 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 32f5f89..f26a9a8 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -21,6 +21,7 @@
#include <linux/io.h>
#include <linux/leds.h>
#include <linux/gpio.h>
+#include <linux/irq.h>
#include <linux/input.h>
#include <linux/gpio_keys.h>
#include <linux/opp.h>
@@ -156,6 +157,167 @@ static void __init omap3_beagle_init_rev(void)
}
}
+char expansionboard_name[16];
+
+#if defined(CONFIG_WL12XX) || defined(CONFIG_WL12XX_MODULE)
+#include <linux/regulator/fixed.h>
+#include <linux/wl12xx.h>
+
+#define OMAP_BEAGLE_WLAN_EN_GPIO (139)
+#define OMAP_BEAGLE_BT_EN_GPIO (138)
+#define OMAP_BEAGLE_WLAN_IRQ_GPIO (137)
+#define OMAP_BEAGLE_FM_EN_BT_WU (136)
+
+struct wl12xx_platform_data omap_beagle_wlan_data __initdata = {
+ .irq = OMAP_GPIO_IRQ(OMAP_BEAGLE_WLAN_IRQ_GPIO),
+ .board_ref_clock = 2, /* 38.4 MHz */
+};
+
+static int gpios[] = {OMAP_BEAGLE_BT_EN_GPIO, OMAP_BEAGLE_FM_EN_BT_WU, -1};
+static struct platform_device wl12xx_device = {
+ .name = "kim",
+ .id = -1,
+ .dev.platform_data = &gpios,
+};
+
+static struct omap2_hsmmc_info mmcbbt[] = {
+ {
+ .mmc = 1,
+ .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
+ .gpio_wp = 29,
+ },
+ {
+ .name = "wl1271",
+ .mmc = 2,
+ .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_POWER_OFF_CARD,
+ .gpio_wp = -EINVAL,
+ .gpio_cd = -EINVAL,
+ .ocr_mask = MMC_VDD_165_195,
+ .nonremovable = true,
+ },
+ {} /* Terminator */
+ };
+
+static struct regulator_consumer_supply beagle_vmmc2_supply =
+ REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1");
+
+static struct regulator_init_data beagle_vmmc2 = {
+ .constraints = {
+ .min_uV = 1850000,
+ .max_uV = 1850000,
+ .apply_uV = true,
+ .valid_modes_mask = REGULATOR_MODE_NORMAL
+ | REGULATOR_MODE_STANDBY,
+ .valid_ops_mask = REGULATOR_CHANGE_MODE
+ | REGULATOR_CHANGE_STATUS,
+ },
+ .num_consumer_supplies = 1,
+ .consumer_supplies = &beagle_vmmc2_supply,
+};
+
+static struct fixed_voltage_config beagle_vwlan = {
+ .supply_name = "vwl1271",
+ .microvolts = 1800000, /* 1.8V */
+ .gpio = OMAP_BEAGLE_WLAN_EN_GPIO,
+ .startup_delay = 70000, /* 70ms */
+ .enable_high = 1,
+ .enabled_at_boot = 0,
+ .init_data = &beagle_vmmc2,
+};
+
+static struct platform_device omap_vwlan_device = {
+ .name = "reg-fixed-voltage",
+ .id = 1,
+ .dev = {
+ .platform_data = &beagle_vwlan,
+ },
+};
+#endif
+
+#if defined(CONFIG_ENC28J60) || defined(CONFIG_ENC28J60_MODULE)
+
+#include <plat/mcspi.h>
+#include <linux/spi/spi.h>
+
+#define OMAP3BEAGLE_GPIO_ENC28J60_IRQ 157
+
+static struct omap2_mcspi_device_config enc28j60_spi_chip_info = {
+ .turbo_mode = 0,
+ .single_channel = 1, /* 0: slave, 1: master */
+};
+
+static struct spi_board_info omap3beagle_zippy_spi_board_info[] __initdata = {
+ {
+ .modalias = "enc28j60",
+ .bus_num = 4,
+ .chip_select = 0,
+ .max_speed_hz = 20000000,
+ .controller_data = &enc28j60_spi_chip_info,
+ },
+};
+
+static void __init omap3beagle_enc28j60_init(void)
+{
+ if ((gpio_request(OMAP3BEAGLE_GPIO_ENC28J60_IRQ, "ENC28J60_IRQ") == 0) &&
+ (gpio_direction_input(OMAP3BEAGLE_GPIO_ENC28J60_IRQ) == 0)) {
+ gpio_export(OMAP3BEAGLE_GPIO_ENC28J60_IRQ, 0);
+ omap3beagle_zippy_spi_board_info[0].irq = OMAP_GPIO_IRQ(OMAP3BEAGLE_GPIO_ENC28J60_IRQ);
+ irq_set_irq_type(omap3beagle_zippy_spi_board_info[0].irq, IRQ_TYPE_EDGE_FALLING);
+ } else {
+ printk(KERN_ERR "could not obtain gpio for ENC28J60_IRQ\n");
+ return;
+ }
+
+ spi_register_board_info(omap3beagle_zippy_spi_board_info,
+ ARRAY_SIZE(omap3beagle_zippy_spi_board_info));
+}
+
+#else
+static inline void __init omap3beagle_enc28j60_init(void) { return; }
+#endif
+
+#if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE)
+
+#include <plat/mcspi.h>
+#include <linux/spi/spi.h>
+
+#define OMAP3BEAGLE_GPIO_KS8851_IRQ 157
+
+static struct omap2_mcspi_device_config ks8851_spi_chip_info = {
+ .turbo_mode = 0,
+ .single_channel = 1, /* 0: slave, 1: master */
+};
+
+static struct spi_board_info omap3beagle_zippy2_spi_board_info[] __initdata = {
+ {
+ .modalias = "ks8851",
+ .bus_num = 4,
+ .chip_select = 0,
+ .max_speed_hz = 36000000,
+ .controller_data = &ks8851_spi_chip_info,
+ },
+};
+
+static void __init omap3beagle_ks8851_init(void)
+{
+ if ((gpio_request(OMAP3BEAGLE_GPIO_KS8851_IRQ, "KS8851_IRQ") == 0) &&
+ (gpio_direction_input(OMAP3BEAGLE_GPIO_KS8851_IRQ) == 0)) {
+ gpio_export(OMAP3BEAGLE_GPIO_KS8851_IRQ, 0);
+ omap3beagle_zippy2_spi_board_info[0].irq = OMAP_GPIO_IRQ(OMAP3BEAGLE_GPIO_KS8851_IRQ);
+ irq_set_irq_type(omap3beagle_zippy2_spi_board_info[0].irq, IRQ_TYPE_EDGE_FALLING);
+ } else {
+ printk(KERN_ERR "could not obtain gpio for KS8851_IRQ\n");
+ return;
+ }
+
+ spi_register_board_info(omap3beagle_zippy2_spi_board_info,
+ ARRAY_SIZE(omap3beagle_zippy2_spi_board_info));
+}
+
+#else
+static inline void __init omap3beagle_ks8851_init(void) { return; }
+#endif
+
static struct mtd_partition omap3beagle_nand_partitions[] = {
/* All the partition sizes are listed in terms of NAND block size */
{
@@ -254,6 +416,12 @@ static struct omap2_hsmmc_info mmc[] = {
.caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
.gpio_wp = -EINVAL,
},
+ {
+ .mmc = 2,
+ .caps = MMC_CAP_4_BIT_DATA,
+ .transceiver = true,
+ .ocr_mask = 0x00100000, /* 3.3V */
+ },
{} /* Terminator */
};
@@ -277,7 +445,15 @@ static int beagle_twl_gpio_setup(struct device *dev,
mmc[0].gpio_wp = beagle_config.mmc1_gpio_wp;
/* gpio + 0 is "mmc0_cd" (input/IRQ) */
mmc[0].gpio_cd = gpio + 0;
+#if defined(CONFIG_WL12XX) || defined(CONFIG_WL12XX_MODULE)
+ if(!strcmp(expansionboard_name, "bbtoys-wifi")) {
+ omap2_hsmmc_init(mmcbbt);
+ } else {
+ omap2_hsmmc_init(mmc);
+ }
+#else
omap2_hsmmc_init(mmc);
+#endif
/*
* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active
@@ -375,6 +551,19 @@ static struct i2c_board_info __initdata beagle_i2c_eeprom[] = {
},
};
+#if defined(CONFIG_RTC_DRV_DS1307) || \
+ defined(CONFIG_RTC_DRV_DS1307_MODULE)
+
+static struct i2c_board_info __initdata beagle_i2c2_zippy[] = {
+ {
+ I2C_BOARD_INFO("eeprom", 0x50),
+ I2C_BOARD_INFO("ds1307", 0x68),
+ },
+};
+#else
+static struct i2c_board_info __initdata beagle_i2c2_zippy[] = {};
+#endif
+
static int __init omap3_beagle_i2c_init(void)
{
omap3_pmic_get_config(&beagle_twldata,
@@ -479,6 +668,15 @@ static struct omap_board_mux board_mux[] __initdata = {
};
#endif
+static int __init expansionboard_setup(char *str)
+{
+ if (!str)
+ return -EINVAL;
+ strncpy(expansionboard_name, str, 16);
+ printk(KERN_INFO "Beagle expansionboard: %s\n", expansionboard_name);
+ return 0;
+}
+
static void __init beagle_opp_init(void)
{
int r = 0;
@@ -542,6 +740,72 @@ static void __init omap3_beagle_init(void)
/* REVISIT leave DVI powered down until it's needed ... */
gpio_request_one(170, GPIOF_OUT_INIT_HIGH, "DVI_nPD");
+ if(!strcmp(expansionboard_name, "zippy"))
+ {
+ printk(KERN_INFO "Beagle expansionboard: initializing enc28j60\n");
+ omap3beagle_enc28j60_init();
+ printk(KERN_INFO "Beagle expansionboard: assigning GPIO 141 and 162 to MMC1\n");
+ mmc[1].gpio_wp = 141;
+ mmc[1].gpio_cd = 162;
+ printk(KERN_INFO "Beagle expansionboard: registering I2C2 for zippy board\n");
+ omap_register_i2c_bus(2, 400, beagle_i2c2_zippy,
+ ARRAY_SIZE(beagle_i2c2_zippy));
+
+ }
+
+ if(!strcmp(expansionboard_name, "zippy2"))
+ {
+ printk(KERN_INFO "Beagle expansionboard: initializing ks_8851\n");
+ omap3beagle_ks8851_init();
+ printk(KERN_INFO "Beagle expansionboard: assigning GPIO 141 and 162 to MMC1\n");
+ mmc[1].gpio_wp = 141;
+ mmc[1].gpio_cd = 162;
+ printk(KERN_INFO "Beagle expansionboard: registering I2C2 for zippy2 board\n");
+ omap_register_i2c_bus(2, 400, beagle_i2c2_zippy,
+ ARRAY_SIZE(beagle_i2c2_zippy));
+ }
+
+ if(!strcmp(expansionboard_name, "trainer"))
+ {
+ printk(KERN_INFO "Beagle expansionboard: exporting GPIOs 130-141,162 to userspace\n");
+ gpio_request(130, "sysfs");
+ gpio_export(130, 1);
+ gpio_request(131, "sysfs");
+ gpio_export(131, 1);
+ gpio_request(132, "sysfs");
+ gpio_export(132, 1);
+ gpio_request(133, "sysfs");
+ gpio_export(133, 1);
+ gpio_request(134, "sysfs");
+ gpio_export(134, 1);
+ gpio_request(135, "sysfs");
+ gpio_export(135, 1);
+ gpio_request(136, "sysfs");
+ gpio_export(136, 1);
+ gpio_request(137, "sysfs");
+ gpio_export(137, 1);
+ gpio_request(138, "sysfs");
+ gpio_export(138, 1);
+ gpio_request(139, "sysfs");
+ gpio_export(139, 1);
+ gpio_request(140, "sysfs");
+ gpio_export(140, 1);
+ gpio_request(141, "sysfs");
+ gpio_export(141, 1);
+ gpio_request(162, "sysfs");
+ gpio_export(162, 1);
+ }
+
+ if(!strcmp(expansionboard_name, "bbtoys-wifi"))
+ {
+ if (wl12xx_set_platform_data(&omap_beagle_wlan_data))
+ pr_err("error setting wl12xx data\n");
+ printk(KERN_INFO "Beagle expansionboard: registering wl12xx bt platform device\n");
+ platform_device_register(&wl12xx_device);
+ printk(KERN_INFO "Beagle expansionboard: registering wl12xx wifi platform device\n");
+ platform_device_register(&omap_vwlan_device);
+ }
+
usb_musb_init(NULL);
usbhs_init(&usbhs_bdata);
omap_nand_flash_init(NAND_BUSWIDTH_16, omap3beagle_nand_partitions,
@@ -558,6 +822,8 @@ static void __init omap3_beagle_init(void)
beagle_opp_init();
}
+early_param("buddy", expansionboard_setup);
+
MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
/* Maintainer: Syed Mohammed Khasim - http://beagleboard.org */
.boot_params = 0x80000100,
--
1.6.6.1

View File

@@ -1,26 +0,0 @@
From 6bdb8e890f8e5d11be3c4953d7d10f4a5f160cd4 Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Thu, 21 Jul 2011 12:59:20 +0200
Subject: [PATCH 2/3] HACK: OMAP3: beagle: switch to GPTIMER1
Breaks with B3 and older due to clock noise
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
arch/arm/mach-omap2/board-omap3beagle.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index f26a9a8..a04f5a0 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -832,5 +832,5 @@ MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
.init_early = omap3_beagle_init_early,
.init_irq = omap3_beagle_init_irq,
.init_machine = omap3_beagle_init,
- .timer = &omap3_secure_timer,
+ .timer = &omap3_timer,
MACHINE_END
--
1.6.6.1

View File

@@ -1,31 +0,0 @@
From 6667757c5f8a473b9cbbe5f6d64eee65a52aad54 Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Wed, 25 May 2011 08:57:40 +0200
Subject: [PATCH 3/3] OMAP3: beagle: HACK! add in 1GHz OPP
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
arch/arm/mach-omap2/board-omap3beagle.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index a04f5a0..5e1d9f9 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -701,11 +701,13 @@ static void __init beagle_opp_init(void)
/* Enable MPU 1GHz and lower opps */
dev = &mh->od->pdev.dev;
r = opp_enable(dev, 800000000);
+ r |= opp_enable(dev, 1000000000);
/* TODO: MPU 1GHz needs SR and ABB */
/* Enable IVA 800MHz and lower opps */
dev = &dh->od->pdev.dev;
r |= opp_enable(dev, 660000000);
+ r |= opp_enable(dev, 800000000);
/* TODO: DSP 800MHz needs SR and ABB */
if (r) {
pr_err("%s: failed to enable higher opp %d\n",
--
1.6.6.1

File diff suppressed because it is too large Load Diff

View File

@@ -1,79 +0,0 @@
Delivered-To: koen@dominion.thruhere.net
Received: by 10.236.157.72 with SMTP id n48cs4581yhk;
Fri, 5 Aug 2011 00:10:45 -0700 (PDT)
Received: by 10.147.146.12 with SMTP id y12mr1585882yan.12.1312528245335;
Fri, 05 Aug 2011 00:10:45 -0700 (PDT)
Return-Path: <archit@ti.com>
Received: from bear.ext.ti.com (bear.ext.ti.com [192.94.94.41])
by mx.google.com with ESMTPS id x20si3422127ani.205.2011.08.05.00.10.45
(version=TLSv1/SSLv3 cipher=OTHER);
Fri, 05 Aug 2011 00:10:45 -0700 (PDT)
Received-SPF: pass (google.com: domain of archit@ti.com designates 192.94.94.41 as permitted sender) client-ip=192.94.94.41;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of archit@ti.com designates 192.94.94.41 as permitted sender) smtp.mail=archit@ti.com
Received: from dlep33.itg.ti.com ([157.170.170.112])
by bear.ext.ti.com (8.13.7/8.13.7) with ESMTP id p757AiHb023389
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
Fri, 5 Aug 2011 02:10:44 -0500
Received: from dlep26.itg.ti.com (smtp-le.itg.ti.com [157.170.170.27])
by dlep33.itg.ti.com (8.13.7/8.13.8) with ESMTP id p757AiWp004418;
Fri, 5 Aug 2011 02:10:44 -0500 (CDT)
Received: from dlee73.ent.ti.com (localhost [127.0.0.1])
by dlep26.itg.ti.com (8.13.8/8.13.8) with ESMTP id p757AiBJ012377;
Fri, 5 Aug 2011 02:10:44 -0500 (CDT)
Received: from dlelxv23.itg.ti.com (172.17.1.198) by DLEE73.ent.ti.com
(157.170.170.88) with Microsoft SMTP Server id 8.3.106.1; Fri, 5 Aug 2011
02:10:44 -0500
Received: from legion.dal.design.ti.com (legion.dal.design.ti.com
[128.247.22.53]) by dlelxv23.itg.ti.com (8.13.8/8.13.8) with ESMTP id
p757Ai9V018852; Fri, 5 Aug 2011 02:10:44 -0500
Received: from localhost (a0393947pc.apr.dhcp.ti.com [172.24.137.144]) by
legion.dal.design.ti.com (8.11.7p1+Sun/8.11.7) with ESMTP id p757Aef10060;
Fri, 5 Aug 2011 02:10:41 -0500 (CDT)
From: Archit Taneja <archit@ti.com>
To: <hvaibhav@ti.com>, <linux-media@vger.kernel.org>
CC: <koen@dominion.thruhere.net>, <tomi.valkeinen@ti.com>,
<linux-omap@vger.kernel.org>, Archit Taneja <archit@ti.com>
Subject: [PATCH] [media] OMAP_VOUT: Fix build break caused by update_mode removal in DSS2
Date: Fri, 5 Aug 2011 12:49:21 +0530
Message-ID: <1312528761-18241-1-git-send-email-archit@ti.com>
X-Mailer: git-send-email 1.7.1
MIME-Version: 1.0
Content-Type: text/plain
The DSS2 driver does not support the configuration of the update_mode of a
panel anymore. Remove the setting of update_mode done in omap_vout_probe().
Ignore configuration of TE since omap_vout driver doesn't support manual update
displays anyway.
Signed-off-by: Archit Taneja <archit@ti.com>
---
drivers/media/video/omap/omap_vout.c | 13 -------------
1 files changed, 0 insertions(+), 13 deletions(-)
diff --git a/drivers/media/video/omap/omap_vout.c b/drivers/media/video/omap/omap_vout.c
index b5ef362..b3a5ecd 100644
--- a/drivers/media/video/omap/omap_vout.c
+++ b/drivers/media/video/omap/omap_vout.c
@@ -2194,19 +2194,6 @@ static int __init omap_vout_probe(struct platform_device *pdev)
"'%s' Display already enabled\n",
def_display->name);
}
- /* set the update mode */
- if (def_display->caps &
- OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE) {
- if (dssdrv->enable_te)
- dssdrv->enable_te(def_display, 0);
- if (dssdrv->set_update_mode)
- dssdrv->set_update_mode(def_display,
- OMAP_DSS_UPDATE_MANUAL);
- } else {
- if (dssdrv->set_update_mode)
- dssdrv->set_update_mode(def_display,
- OMAP_DSS_UPDATE_AUTO);
- }
}
}
--
1.7.1

View File

@@ -1,46 +0,0 @@
From 428afa6e7a96419f6f17158a9ac38ab24d664997 Mon Sep 17 00:00:00 2001
From: Keerthy <j-keerthy@ti.com>
Date: Wed, 4 May 2011 01:14:50 +0530
Subject: [PATCH 1/2] Enabling Hwmon driver for twl4030-madc
Signed-off-by: Keerthy <j-keerthy@ti.com>
---
drivers/mfd/twl-core.c | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
index a2eddc7..81fcf18 100644
--- a/drivers/mfd/twl-core.c
+++ b/drivers/mfd/twl-core.c
@@ -83,6 +83,13 @@
#define twl_has_madc() false
#endif
+#if defined(CONFIG_SENSORS_TWL4030_MADC) ||\
+ defined(CONFIG_SENSORS_TWL4030_MADC_MODULE)
+#define twl_has_madc_hwmon() true
+#else
+#define twl_has_madc_hwmon() false
+#endif
+
#ifdef CONFIG_TWL4030_POWER
#define twl_has_power() true
#else
@@ -669,6 +676,14 @@ add_children(struct twl4030_platform_data *pdata, unsigned long features)
return PTR_ERR(child);
}
+if (twl_has_madc_hwmon()) {
+ child = add_child(2, "twl4030_madc_hwmon",
+ NULL, 0,
+ true, pdata->irq_base + MADC_INTR_OFFSET, 0);
+ if (IS_ERR(child))
+ return PTR_ERR(child);
+ }
+
if (twl_has_rtc()) {
/*
* REVISIT platform_data here currently might expose the
--
1.6.6.1

View File

@@ -1,54 +0,0 @@
From fbfdf09f148219d48ee35e830923ca75bbd0b91b Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
Date: Sat, 23 Jan 2010 06:26:54 -0800
Subject: [PATCH 2/2] mfd: twl-core: enable madc clock
Now that the madc driver has been merged it is also necessary to enable the clock to the madc block
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
drivers/mfd/twl-core.c | 8 ++++++++
include/linux/i2c/twl.h | 1 +
2 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
index 81fcf18..08aa64f 100644
--- a/drivers/mfd/twl-core.c
+++ b/drivers/mfd/twl-core.c
@@ -217,6 +217,11 @@
/* Few power values */
#define R_CFG_BOOT 0x05
+#define R_GPBR1 0x0C
+
+/* MADC clock values for R_GPBR1 */
+#define MADC_HFCLK_EN 0x80
+#define DEFAULT_MADC_CLK_EN 0x10
/* some fields in R_CFG_BOOT */
#define HFCLK_FREQ_19p2_MHZ (1 << 0)
@@ -1151,6 +1156,9 @@ static void clocks_init(struct device *dev,
e |= unprotect_pm_master();
/* effect->MADC+USB ck en */
+ if (twl_has_madc())
+ e |= twl_i2c_write_u8(TWL_MODULE_INTBR,
+ MADC_HFCLK_EN | DEFAULT_MADC_CLK_EN, R_GPBR1);
e |= twl_i2c_write_u8(TWL_MODULE_PM_MASTER, ctrl, R_CFG_BOOT);
e |= protect_pm_master();
diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h
index 114c0f6..f060751 100644
--- a/include/linux/i2c/twl.h
+++ b/include/linux/i2c/twl.h
@@ -74,6 +74,7 @@
#define TWL_MODULE_USB TWL4030_MODULE_USB
#define TWL_MODULE_AUDIO_VOICE TWL4030_MODULE_AUDIO_VOICE
+#define TWL_MODULE_INTBR TWL4030_MODULE_INTBR
#define TWL_MODULE_PIH TWL4030_MODULE_PIH
#define TWL_MODULE_MADC TWL4030_MODULE_MADC
#define TWL_MODULE_MAIN_CHARGE TWL4030_MODULE_MAIN_CHARGE
--
1.6.6.1

View File

@@ -1,27 +0,0 @@
#!/bin/bash
# (c) 2009 - 2011 Koen Kooi <koen@dominion.thruhere.net>
# This script will take a set of directories with patches and make a git tree out of it
# After all the patches are applied it will output a SRC_URI fragment you can copy/paste into a recipe
TAG="mainline/master"
EXTRATAG="-3.1"
git fetch mainline
git am --abort
git reset --hard ${TAG}
rm export -rf
previous=${TAG}
PATCHSET="beagle madc sgx"
# apply patches
for patchset in ${PATCHSET} ; do
git am $patchset/* && git tag "${patchset}${EXTRATAG}" -f
done
# export patches and output SRC_URI for them
for patchset in ${PATCHSET} ; do
mkdir export/$patchset -p
( cd export/$patchset && git format-patch ${previous}..${patchset}${EXTRATAG} >& /dev/null && for i in *.patch ; do echo " file://${patchset}/$i \\" ; done )
previous=${patchset}${EXTRATAG}
done

View File

@@ -1,67 +0,0 @@
From 927d1d96b5c4d3439a301b73804ade67b8cdd81a Mon Sep 17 00:00:00 2001
From: Vikram Pandita <vikram.pandita@ti.com>
Date: Tue, 31 May 2011 09:24:58 +0100
Subject: [PATCH] ARM: L2: Add and export outer_clean_all
The Errata 588369 and 539766 demands that clean all operation be done
as clean each way at a time
This patch also raps the implementation under the CONFIG errata
macro so that for non-errata version silicon it can be disabled
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Woodruff, Richard <r-woodruff2@ti.com>
---
arch/arm/include/asm/outercache.h | 8 ++++++++
arch/arm/mm/cache-l2x0.c | 1 +
2 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/arch/arm/include/asm/outercache.h b/arch/arm/include/asm/outercache.h
index d838743..fa8cbd8 100644
--- a/arch/arm/include/asm/outercache.h
+++ b/arch/arm/include/asm/outercache.h
@@ -28,6 +28,7 @@ struct outer_cache_fns {
void (*clean_range)(unsigned long, unsigned long);
void (*flush_range)(unsigned long, unsigned long);
void (*flush_all)(void);
+ void (*clean_all)(void);
void (*inv_all)(void);
void (*disable)(void);
#ifdef CONFIG_OUTER_CACHE_SYNC
@@ -61,6 +62,11 @@ static inline void outer_flush_all(void)
if (outer_cache.flush_all)
outer_cache.flush_all();
}
+static inline void outer_clean_all(void)
+{
+ if (outer_cache.clean_all)
+ outer_cache.clean_all();
+}
static inline void outer_inv_all(void)
{
@@ -97,6 +103,8 @@ static inline void outer_sync(void)
#else
static inline void outer_sync(void)
{ }
+static inline void outer_clean_all(void)
+{ }
#endif
#endif /* __ASM_OUTERCACHE_H */
diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c
index 44c0867..10b79d6 100644
--- a/arch/arm/mm/cache-l2x0.c
+++ b/arch/arm/mm/cache-l2x0.c
@@ -346,6 +346,7 @@ void __init l2x0_init(void __iomem *base, __u32 aux_val, __u32 aux_mask)
outer_cache.inv_all = l2x0_inv_all;
outer_cache.disable = l2x0_disable;
outer_cache.set_debug = l2x0_set_debug;
+ outer_cache.clean_all = l2x0_clean_all;
printk(KERN_INFO "%s cache controller enabled\n", type);
printk(KERN_INFO "l2x0: %d ways, CACHE_ID 0x%08x, AUX_CTRL 0x%08x, Cache size: %d B\n",
--
1.6.6.1

View File

@@ -1,196 +0,0 @@
From ba3e97075ad35eeaf35191c4e5c2b90de5d96209 Mon Sep 17 00:00:00 2001
From: Fernandes, Joel A <joelagnel@ti.com>
Date: Tue, 7 Jun 2011 15:54:45 -0500
Subject: [PATCH 01/10] OMAP3: beagle: add support for beagleboard xM revision C
OMAP3: beagle: add support for beagleboard xM revision C
The USB enable GPIO has been in beagleboard xM revision C.
The USER button has been moved since beagleboard xM.
Also, board specific initialization has been moved to beagle_config struct
and initialized in omap3_beagle_init_rev. Default values in struct are for xMC.
Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
arch/arm/mach-omap2/board-omap3beagle.c | 78 ++++++++++++++++++++-----------
1 files changed, 51 insertions(+), 27 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 34f8411..32f5f89 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -60,7 +60,8 @@
* AXBX = GPIO173, GPIO172, GPIO171: 1 1 1
* C1_3 = GPIO173, GPIO172, GPIO171: 1 1 0
* C4 = GPIO173, GPIO172, GPIO171: 1 0 1
- * XM = GPIO173, GPIO172, GPIO171: 0 0 0
+ * XMA/XMB = GPIO173, GPIO172, GPIO171: 0 0 0
+ * XMC = GPIO173, GPIO172, GPIO171: 0 1 0
*/
enum {
OMAP3BEAGLE_BOARD_UNKN = 0,
@@ -68,14 +69,26 @@ enum {
OMAP3BEAGLE_BOARD_C1_3,
OMAP3BEAGLE_BOARD_C4,
OMAP3BEAGLE_BOARD_XM,
+ OMAP3BEAGLE_BOARD_XMC,
};
static u8 omap3_beagle_version;
-static u8 omap3_beagle_get_rev(void)
-{
- return omap3_beagle_version;
-}
+/*
+ * Board-specific configuration
+ * Defaults to BeagleBoard-xMC
+ */
+static struct {
+ int mmc1_gpio_wp;
+ int usb_pwr_level;
+ int reset_gpio;
+ int usr_button_gpio;
+} beagle_config = {
+ .mmc1_gpio_wp = -EINVAL,
+ .usb_pwr_level = GPIOF_OUT_INIT_LOW,
+ .reset_gpio = 129,
+ .usr_button_gpio = 4,
+};
static struct gpio omap3_beagle_rev_gpios[] __initdata = {
{ 171, GPIOF_IN, "rev_id_0" },
@@ -110,18 +123,32 @@ static void __init omap3_beagle_init_rev(void)
case 7:
printk(KERN_INFO "OMAP3 Beagle Rev: Ax/Bx\n");
omap3_beagle_version = OMAP3BEAGLE_BOARD_AXBX;
+ beagle_config.mmc1_gpio_wp = 29;
+ beagle_config.reset_gpio = 170;
+ beagle_config.usr_button_gpio = 7;
break;
case 6:
printk(KERN_INFO "OMAP3 Beagle Rev: C1/C2/C3\n");
omap3_beagle_version = OMAP3BEAGLE_BOARD_C1_3;
+ beagle_config.mmc1_gpio_wp = 23;
+ beagle_config.reset_gpio = 170;
+ beagle_config.usr_button_gpio = 7;
break;
case 5:
printk(KERN_INFO "OMAP3 Beagle Rev: C4\n");
omap3_beagle_version = OMAP3BEAGLE_BOARD_C4;
+ beagle_config.mmc1_gpio_wp = 23;
+ beagle_config.reset_gpio = 170;
+ beagle_config.usr_button_gpio = 7;
break;
case 0:
- printk(KERN_INFO "OMAP3 Beagle Rev: xM\n");
+ printk(KERN_INFO "OMAP3 Beagle Rev: xM Ax/Bx\n");
omap3_beagle_version = OMAP3BEAGLE_BOARD_XM;
+ beagle_config.usb_pwr_level = GPIOF_OUT_INIT_HIGH;
+ break;
+ case 2:
+ printk(KERN_INFO "OMAP3 Beagle Rev: xM C\n");
+ omap3_beagle_version = OMAP3BEAGLE_BOARD_XMC;
break;
default:
printk(KERN_INFO "OMAP3 Beagle Rev: unknown %hd\n", beagle_rev);
@@ -225,7 +252,7 @@ static struct omap2_hsmmc_info mmc[] = {
{
.mmc = 1,
.caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
- .gpio_wp = 29,
+ .gpio_wp = -EINVAL,
},
{} /* Terminator */
};
@@ -243,17 +270,11 @@ static struct gpio_led gpio_leds[];
static int beagle_twl_gpio_setup(struct device *dev,
unsigned gpio, unsigned ngpio)
{
- int r, usb_pwr_level;
-
- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
- mmc[0].gpio_wp = -EINVAL;
- } else if ((omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C1_3) ||
- (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C4)) {
- omap_mux_init_gpio(23, OMAP_PIN_INPUT);
- mmc[0].gpio_wp = 23;
- } else {
- omap_mux_init_gpio(29, OMAP_PIN_INPUT);
- }
+ int r;
+
+ if (beagle_config.mmc1_gpio_wp != -EINVAL)
+ omap_mux_init_gpio(beagle_config.mmc1_gpio_wp, OMAP_PIN_INPUT);
+ mmc[0].gpio_wp = beagle_config.mmc1_gpio_wp;
/* gpio + 0 is "mmc0_cd" (input/IRQ) */
mmc[0].gpio_cd = gpio + 0;
omap2_hsmmc_init(mmc);
@@ -263,9 +284,8 @@ static int beagle_twl_gpio_setup(struct device *dev,
* high / others active low)
* DVI reset GPIO is different between beagle revisions
*/
- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
- usb_pwr_level = GPIOF_OUT_INIT_HIGH;
- beagle_dvi_device.reset_gpio = 129;
+ /* Valid for all -xM revisions */
+ if (cpu_is_omap3630()) {
/*
* gpio + 1 on Xm controls the TFP410's enable line (active low)
* gpio + 2 control varies depending on the board rev as below:
@@ -283,8 +303,6 @@ static int beagle_twl_gpio_setup(struct device *dev,
pr_err("%s: unable to configure DVI_LDO_EN\n",
__func__);
} else {
- usb_pwr_level = GPIOF_OUT_INIT_LOW;
- beagle_dvi_device.reset_gpio = 170;
/*
* REVISIT: need ehci-omap hooks for external VBUS
* power switch and overcurrent detect
@@ -292,8 +310,10 @@ static int beagle_twl_gpio_setup(struct device *dev,
if (gpio_request_one(gpio + 1, GPIOF_IN, "EHCI_nOC"))
pr_err("%s: unable to configure EHCI_nOC\n", __func__);
}
+ beagle_dvi_device.reset_gpio = beagle_config.reset_gpio;
- gpio_request_one(gpio + TWL4030_GPIO_MAX, usb_pwr_level, "nEN_USB_PWR");
+ gpio_request_one(gpio + TWL4030_GPIO_MAX, beagle_config.usb_pwr_level,
+ "nEN_USB_PWR");
/* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
@@ -404,7 +424,8 @@ static struct platform_device leds_gpio = {
static struct gpio_keys_button gpio_buttons[] = {
{
.code = BTN_EXTRA,
- .gpio = 7,
+ /* Dynamically assigned depending on board */
+ .gpio = -EINVAL,
.desc = "user",
.wakeup = 1,
},
@@ -468,8 +489,8 @@ static void __init beagle_opp_init(void)
return;
}
- /* Custom OPP enabled for XM */
- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
+ /* Custom OPP enabled for all xM versions */
+ if (cpu_is_omap3630()) {
struct omap_hwmod *mh = omap_hwmod_lookup("mpu");
struct omap_hwmod *dh = omap_hwmod_lookup("iva");
struct device *dev;
@@ -509,6 +530,9 @@ static void __init omap3_beagle_init(void)
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
omap3_beagle_init_rev();
omap3_beagle_i2c_init();
+
+ gpio_buttons[0].gpio = beagle_config.usr_button_gpio;
+
platform_add_devices(omap3_beagle_devices,
ARRAY_SIZE(omap3_beagle_devices));
omap_display_init(&beagle_dss_data);
--
1.7.2.5

View File

@@ -1,340 +0,0 @@
From 73366785ad8400aa22ffc0822ecc701349477de9 Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Thu, 21 Jul 2011 14:29:42 +0200
Subject: [PATCH 02/10] UNFINISHED: OMAP3: beagle: add support for expansionboards
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
arch/arm/mach-omap2/board-omap3beagle.c | 266 +++++++++++++++++++++++++++++++
1 files changed, 266 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 32f5f89..f26a9a8 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -21,6 +21,7 @@
#include <linux/io.h>
#include <linux/leds.h>
#include <linux/gpio.h>
+#include <linux/irq.h>
#include <linux/input.h>
#include <linux/gpio_keys.h>
#include <linux/opp.h>
@@ -156,6 +157,167 @@ static void __init omap3_beagle_init_rev(void)
}
}
+char expansionboard_name[16];
+
+#if defined(CONFIG_WL12XX) || defined(CONFIG_WL12XX_MODULE)
+#include <linux/regulator/fixed.h>
+#include <linux/wl12xx.h>
+
+#define OMAP_BEAGLE_WLAN_EN_GPIO (139)
+#define OMAP_BEAGLE_BT_EN_GPIO (138)
+#define OMAP_BEAGLE_WLAN_IRQ_GPIO (137)
+#define OMAP_BEAGLE_FM_EN_BT_WU (136)
+
+struct wl12xx_platform_data omap_beagle_wlan_data __initdata = {
+ .irq = OMAP_GPIO_IRQ(OMAP_BEAGLE_WLAN_IRQ_GPIO),
+ .board_ref_clock = 2, /* 38.4 MHz */
+};
+
+static int gpios[] = {OMAP_BEAGLE_BT_EN_GPIO, OMAP_BEAGLE_FM_EN_BT_WU, -1};
+static struct platform_device wl12xx_device = {
+ .name = "kim",
+ .id = -1,
+ .dev.platform_data = &gpios,
+};
+
+static struct omap2_hsmmc_info mmcbbt[] = {
+ {
+ .mmc = 1,
+ .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
+ .gpio_wp = 29,
+ },
+ {
+ .name = "wl1271",
+ .mmc = 2,
+ .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_POWER_OFF_CARD,
+ .gpio_wp = -EINVAL,
+ .gpio_cd = -EINVAL,
+ .ocr_mask = MMC_VDD_165_195,
+ .nonremovable = true,
+ },
+ {} /* Terminator */
+ };
+
+static struct regulator_consumer_supply beagle_vmmc2_supply =
+ REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1");
+
+static struct regulator_init_data beagle_vmmc2 = {
+ .constraints = {
+ .min_uV = 1850000,
+ .max_uV = 1850000,
+ .apply_uV = true,
+ .valid_modes_mask = REGULATOR_MODE_NORMAL
+ | REGULATOR_MODE_STANDBY,
+ .valid_ops_mask = REGULATOR_CHANGE_MODE
+ | REGULATOR_CHANGE_STATUS,
+ },
+ .num_consumer_supplies = 1,
+ .consumer_supplies = &beagle_vmmc2_supply,
+};
+
+static struct fixed_voltage_config beagle_vwlan = {
+ .supply_name = "vwl1271",
+ .microvolts = 1800000, /* 1.8V */
+ .gpio = OMAP_BEAGLE_WLAN_EN_GPIO,
+ .startup_delay = 70000, /* 70ms */
+ .enable_high = 1,
+ .enabled_at_boot = 0,
+ .init_data = &beagle_vmmc2,
+};
+
+static struct platform_device omap_vwlan_device = {
+ .name = "reg-fixed-voltage",
+ .id = 1,
+ .dev = {
+ .platform_data = &beagle_vwlan,
+ },
+};
+#endif
+
+#if defined(CONFIG_ENC28J60) || defined(CONFIG_ENC28J60_MODULE)
+
+#include <plat/mcspi.h>
+#include <linux/spi/spi.h>
+
+#define OMAP3BEAGLE_GPIO_ENC28J60_IRQ 157
+
+static struct omap2_mcspi_device_config enc28j60_spi_chip_info = {
+ .turbo_mode = 0,
+ .single_channel = 1, /* 0: slave, 1: master */
+};
+
+static struct spi_board_info omap3beagle_zippy_spi_board_info[] __initdata = {
+ {
+ .modalias = "enc28j60",
+ .bus_num = 4,
+ .chip_select = 0,
+ .max_speed_hz = 20000000,
+ .controller_data = &enc28j60_spi_chip_info,
+ },
+};
+
+static void __init omap3beagle_enc28j60_init(void)
+{
+ if ((gpio_request(OMAP3BEAGLE_GPIO_ENC28J60_IRQ, "ENC28J60_IRQ") == 0) &&
+ (gpio_direction_input(OMAP3BEAGLE_GPIO_ENC28J60_IRQ) == 0)) {
+ gpio_export(OMAP3BEAGLE_GPIO_ENC28J60_IRQ, 0);
+ omap3beagle_zippy_spi_board_info[0].irq = OMAP_GPIO_IRQ(OMAP3BEAGLE_GPIO_ENC28J60_IRQ);
+ irq_set_irq_type(omap3beagle_zippy_spi_board_info[0].irq, IRQ_TYPE_EDGE_FALLING);
+ } else {
+ printk(KERN_ERR "could not obtain gpio for ENC28J60_IRQ\n");
+ return;
+ }
+
+ spi_register_board_info(omap3beagle_zippy_spi_board_info,
+ ARRAY_SIZE(omap3beagle_zippy_spi_board_info));
+}
+
+#else
+static inline void __init omap3beagle_enc28j60_init(void) { return; }
+#endif
+
+#if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE)
+
+#include <plat/mcspi.h>
+#include <linux/spi/spi.h>
+
+#define OMAP3BEAGLE_GPIO_KS8851_IRQ 157
+
+static struct omap2_mcspi_device_config ks8851_spi_chip_info = {
+ .turbo_mode = 0,
+ .single_channel = 1, /* 0: slave, 1: master */
+};
+
+static struct spi_board_info omap3beagle_zippy2_spi_board_info[] __initdata = {
+ {
+ .modalias = "ks8851",
+ .bus_num = 4,
+ .chip_select = 0,
+ .max_speed_hz = 36000000,
+ .controller_data = &ks8851_spi_chip_info,
+ },
+};
+
+static void __init omap3beagle_ks8851_init(void)
+{
+ if ((gpio_request(OMAP3BEAGLE_GPIO_KS8851_IRQ, "KS8851_IRQ") == 0) &&
+ (gpio_direction_input(OMAP3BEAGLE_GPIO_KS8851_IRQ) == 0)) {
+ gpio_export(OMAP3BEAGLE_GPIO_KS8851_IRQ, 0);
+ omap3beagle_zippy2_spi_board_info[0].irq = OMAP_GPIO_IRQ(OMAP3BEAGLE_GPIO_KS8851_IRQ);
+ irq_set_irq_type(omap3beagle_zippy2_spi_board_info[0].irq, IRQ_TYPE_EDGE_FALLING);
+ } else {
+ printk(KERN_ERR "could not obtain gpio for KS8851_IRQ\n");
+ return;
+ }
+
+ spi_register_board_info(omap3beagle_zippy2_spi_board_info,
+ ARRAY_SIZE(omap3beagle_zippy2_spi_board_info));
+}
+
+#else
+static inline void __init omap3beagle_ks8851_init(void) { return; }
+#endif
+
static struct mtd_partition omap3beagle_nand_partitions[] = {
/* All the partition sizes are listed in terms of NAND block size */
{
@@ -254,6 +416,12 @@ static struct omap2_hsmmc_info mmc[] = {
.caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
.gpio_wp = -EINVAL,
},
+ {
+ .mmc = 2,
+ .caps = MMC_CAP_4_BIT_DATA,
+ .transceiver = true,
+ .ocr_mask = 0x00100000, /* 3.3V */
+ },
{} /* Terminator */
};
@@ -277,7 +445,15 @@ static int beagle_twl_gpio_setup(struct device *dev,
mmc[0].gpio_wp = beagle_config.mmc1_gpio_wp;
/* gpio + 0 is "mmc0_cd" (input/IRQ) */
mmc[0].gpio_cd = gpio + 0;
+#if defined(CONFIG_WL12XX) || defined(CONFIG_WL12XX_MODULE)
+ if(!strcmp(expansionboard_name, "bbtoys-wifi")) {
+ omap2_hsmmc_init(mmcbbt);
+ } else {
+ omap2_hsmmc_init(mmc);
+ }
+#else
omap2_hsmmc_init(mmc);
+#endif
/*
* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active
@@ -375,6 +551,19 @@ static struct i2c_board_info __initdata beagle_i2c_eeprom[] = {
},
};
+#if defined(CONFIG_RTC_DRV_DS1307) || \
+ defined(CONFIG_RTC_DRV_DS1307_MODULE)
+
+static struct i2c_board_info __initdata beagle_i2c2_zippy[] = {
+ {
+ I2C_BOARD_INFO("eeprom", 0x50),
+ I2C_BOARD_INFO("ds1307", 0x68),
+ },
+};
+#else
+static struct i2c_board_info __initdata beagle_i2c2_zippy[] = {};
+#endif
+
static int __init omap3_beagle_i2c_init(void)
{
omap3_pmic_get_config(&beagle_twldata,
@@ -479,6 +668,15 @@ static struct omap_board_mux board_mux[] __initdata = {
};
#endif
+static int __init expansionboard_setup(char *str)
+{
+ if (!str)
+ return -EINVAL;
+ strncpy(expansionboard_name, str, 16);
+ printk(KERN_INFO "Beagle expansionboard: %s\n", expansionboard_name);
+ return 0;
+}
+
static void __init beagle_opp_init(void)
{
int r = 0;
@@ -542,6 +740,72 @@ static void __init omap3_beagle_init(void)
/* REVISIT leave DVI powered down until it's needed ... */
gpio_request_one(170, GPIOF_OUT_INIT_HIGH, "DVI_nPD");
+ if(!strcmp(expansionboard_name, "zippy"))
+ {
+ printk(KERN_INFO "Beagle expansionboard: initializing enc28j60\n");
+ omap3beagle_enc28j60_init();
+ printk(KERN_INFO "Beagle expansionboard: assigning GPIO 141 and 162 to MMC1\n");
+ mmc[1].gpio_wp = 141;
+ mmc[1].gpio_cd = 162;
+ printk(KERN_INFO "Beagle expansionboard: registering I2C2 for zippy board\n");
+ omap_register_i2c_bus(2, 400, beagle_i2c2_zippy,
+ ARRAY_SIZE(beagle_i2c2_zippy));
+
+ }
+
+ if(!strcmp(expansionboard_name, "zippy2"))
+ {
+ printk(KERN_INFO "Beagle expansionboard: initializing ks_8851\n");
+ omap3beagle_ks8851_init();
+ printk(KERN_INFO "Beagle expansionboard: assigning GPIO 141 and 162 to MMC1\n");
+ mmc[1].gpio_wp = 141;
+ mmc[1].gpio_cd = 162;
+ printk(KERN_INFO "Beagle expansionboard: registering I2C2 for zippy2 board\n");
+ omap_register_i2c_bus(2, 400, beagle_i2c2_zippy,
+ ARRAY_SIZE(beagle_i2c2_zippy));
+ }
+
+ if(!strcmp(expansionboard_name, "trainer"))
+ {
+ printk(KERN_INFO "Beagle expansionboard: exporting GPIOs 130-141,162 to userspace\n");
+ gpio_request(130, "sysfs");
+ gpio_export(130, 1);
+ gpio_request(131, "sysfs");
+ gpio_export(131, 1);
+ gpio_request(132, "sysfs");
+ gpio_export(132, 1);
+ gpio_request(133, "sysfs");
+ gpio_export(133, 1);
+ gpio_request(134, "sysfs");
+ gpio_export(134, 1);
+ gpio_request(135, "sysfs");
+ gpio_export(135, 1);
+ gpio_request(136, "sysfs");
+ gpio_export(136, 1);
+ gpio_request(137, "sysfs");
+ gpio_export(137, 1);
+ gpio_request(138, "sysfs");
+ gpio_export(138, 1);
+ gpio_request(139, "sysfs");
+ gpio_export(139, 1);
+ gpio_request(140, "sysfs");
+ gpio_export(140, 1);
+ gpio_request(141, "sysfs");
+ gpio_export(141, 1);
+ gpio_request(162, "sysfs");
+ gpio_export(162, 1);
+ }
+
+ if(!strcmp(expansionboard_name, "bbtoys-wifi"))
+ {
+ if (wl12xx_set_platform_data(&omap_beagle_wlan_data))
+ pr_err("error setting wl12xx data\n");
+ printk(KERN_INFO "Beagle expansionboard: registering wl12xx bt platform device\n");
+ platform_device_register(&wl12xx_device);
+ printk(KERN_INFO "Beagle expansionboard: registering wl12xx wifi platform device\n");
+ platform_device_register(&omap_vwlan_device);
+ }
+
usb_musb_init(NULL);
usbhs_init(&usbhs_bdata);
omap_nand_flash_init(NAND_BUSWIDTH_16, omap3beagle_nand_partitions,
@@ -558,6 +822,8 @@ static void __init omap3_beagle_init(void)
beagle_opp_init();
}
+early_param("buddy", expansionboard_setup);
+
MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
/* Maintainer: Syed Mohammed Khasim - http://beagleboard.org */
.boot_params = 0x80000100,
--
1.7.2.5

View File

@@ -1,26 +0,0 @@
From a7e1724833070f01b82381f40b084fd33e46836d Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Thu, 21 Jul 2011 12:59:20 +0200
Subject: [PATCH 03/10] HACK: OMAP3: beagle: switch to GPTIMER1
Breaks with B3 and older due to clock noise
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
arch/arm/mach-omap2/board-omap3beagle.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index f26a9a8..a04f5a0 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -832,5 +832,5 @@ MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
.init_early = omap3_beagle_init_early,
.init_irq = omap3_beagle_init_irq,
.init_machine = omap3_beagle_init,
- .timer = &omap3_secure_timer,
+ .timer = &omap3_timer,
MACHINE_END
--
1.7.2.5

View File

@@ -1,31 +0,0 @@
From 6ebc5081aba3428762e4e055a154fdda9ebe442e Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Wed, 25 May 2011 08:57:40 +0200
Subject: [PATCH 04/10] OMAP3: beagle: HACK! add in 1GHz OPP
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
arch/arm/mach-omap2/board-omap3beagle.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index a04f5a0..5e1d9f9 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -701,11 +701,13 @@ static void __init beagle_opp_init(void)
/* Enable MPU 1GHz and lower opps */
dev = &mh->od->pdev.dev;
r = opp_enable(dev, 800000000);
+ r |= opp_enable(dev, 1000000000);
/* TODO: MPU 1GHz needs SR and ABB */
/* Enable IVA 800MHz and lower opps */
dev = &dh->od->pdev.dev;
r |= opp_enable(dev, 660000000);
+ r |= opp_enable(dev, 800000000);
/* TODO: DSP 800MHz needs SR and ABB */
if (r) {
pr_err("%s: failed to enable higher opp %d\n",
--
1.7.2.5

View File

@@ -1,202 +0,0 @@
From f0a23fe6d3c8fc9bbb60a962114b64b923ca4515 Mon Sep 17 00:00:00 2001
From: Sanjeev Premi <premi@ti.com>
Date: Tue, 18 Jan 2011 13:19:55 +0530
Subject: [PATCH 05/10] omap3: Add basic support for 720MHz part
This patch adds support for new speed enhanced parts with ARM
and IVA running at 720MHz and 520MHz respectively. These parts
can be probed at run-time by reading PRODID.SKUID[3:0] at
0x4830A20C [1].
This patch specifically does following:
* Detect devices capable of 720MHz.
* Add new OPP
* Ensure that OPP is conditionally enabled.
* Check for presence of IVA before attempting to enable
the corresponding OPP.
[1] http://focus.ti.com/lit/ug/spruff1d/spruff1d.pdf
Signed-off-by: Sanjeev Premi <premi@ti.com>
---
arch/arm/mach-omap2/control.h | 7 ++++
arch/arm/mach-omap2/id.c | 10 +++++
arch/arm/mach-omap2/opp3xxx_data.c | 63 ++++++++++++++++++++++++++++++++-
arch/arm/plat-omap/include/plat/cpu.h | 2 +
4 files changed, 81 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-omap2/control.h b/arch/arm/mach-omap2/control.h
index a016c8b..69d0b9c 100644
--- a/arch/arm/mach-omap2/control.h
+++ b/arch/arm/mach-omap2/control.h
@@ -371,6 +371,13 @@
#define FEAT_NEON 0
#define FEAT_NEON_NONE 1
+/*
+ * Product ID register
+ */
+#define OMAP3_PRODID 0x020C
+
+#define OMAP3_SKUID_MASK 0x0f
+#define OMAP3_SKUID_720MHZ 0x08
#ifndef __ASSEMBLY__
#ifdef CONFIG_ARCH_OMAP2PLUS
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index 2537090..b6ed78a 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -210,6 +210,15 @@ static void __init omap3_check_features(void)
* TODO: Get additional info (where applicable)
* e.g. Size of L2 cache.
*/
+
+ /*
+ * Does it support 720MHz?
+ */
+ status = (OMAP3_SKUID_MASK & read_tap_reg(OMAP3_PRODID));
+
+ if (status & OMAP3_SKUID_720MHZ) {
+ omap3_features |= OMAP3_HAS_720MHZ;
+ }
}
static void __init ti816x_check_features(void)
@@ -490,6 +499,7 @@ static void __init omap3_cpuinfo(void)
OMAP3_SHOW_FEATURE(neon);
OMAP3_SHOW_FEATURE(isp);
OMAP3_SHOW_FEATURE(192mhz_clk);
+ OMAP3_SHOW_FEATURE(720mhz);
printk(")\n");
}
diff --git a/arch/arm/mach-omap2/opp3xxx_data.c b/arch/arm/mach-omap2/opp3xxx_data.c
index d95f3f9..44fbc84 100644
--- a/arch/arm/mach-omap2/opp3xxx_data.c
+++ b/arch/arm/mach-omap2/opp3xxx_data.c
@@ -18,8 +18,10 @@
* GNU General Public License for more details.
*/
#include <linux/module.h>
+#include <linux/opp.h>
#include <plat/cpu.h>
+#include <plat/omap_device.h>
#include "control.h"
#include "omap_opp_data.h"
@@ -98,6 +100,8 @@ static struct omap_opp_def __initdata omap34xx_opp_def_list[] = {
OPP_INITIALIZER("mpu", true, 550000000, OMAP3430_VDD_MPU_OPP4_UV),
/* MPU OPP5 */
OPP_INITIALIZER("mpu", true, 600000000, OMAP3430_VDD_MPU_OPP5_UV),
+ /* MPU OPP6 */
+ OPP_INITIALIZER("mpu", false, 720000000, 1350000),
/*
* L3 OPP1 - 41.5 MHz is disabled because: The voltage for that OPP is
@@ -123,6 +127,8 @@ static struct omap_opp_def __initdata omap34xx_opp_def_list[] = {
OPP_INITIALIZER("iva", true, 400000000, OMAP3430_VDD_MPU_OPP4_UV),
/* DSP OPP5 */
OPP_INITIALIZER("iva", true, 430000000, OMAP3430_VDD_MPU_OPP5_UV),
+ /* DSP OPP6 */
+ OPP_INITIALIZER("iva", false, 520000000, 1350000),
};
static struct omap_opp_def __initdata omap36xx_opp_def_list[] = {
@@ -150,6 +156,57 @@ static struct omap_opp_def __initdata omap36xx_opp_def_list[] = {
OPP_INITIALIZER("iva", false, 800000000, OMAP3630_VDD_MPU_OPP1G_UV),
};
+
+/**
+ * omap3_opp_enable_720Mhz() - Enable the OPP corresponding to 720MHz
+ *
+ * This function would be executed only if the silicon is capable of
+ * running at the 720MHz.
+ */
+static int __init omap3_opp_enable_720Mhz(void)
+{
+ int r = -ENODEV;
+ struct omap_hwmod *oh_mpu = omap_hwmod_lookup("mpu");
+ struct omap_hwmod *oh_iva;
+ struct platform_device *pdev;
+
+ if (!oh_mpu || !oh_mpu->od) {
+ goto err;
+ } else {
+ pdev = &oh_mpu->od->pdev;
+
+ r = opp_enable(&pdev->dev, 720000000);
+ if (r < 0) {
+ dev_err(&pdev->dev,
+ "opp_enable() failed for mpu@720MHz");
+ goto err;
+ }
+ }
+
+ if (omap3_has_iva()) {
+ oh_iva = omap_hwmod_lookup("iva");
+
+ if (!oh_iva || !oh_iva->od) {
+ r = -ENODEV;
+ goto err;
+ } else {
+ pdev = &oh_iva->od->pdev;
+
+ r = opp_enable(&pdev->dev, 520000000);
+ if (r < 0) {
+ dev_err(&pdev->dev,
+ "opp_enable() failed for iva@520MHz");
+ goto err;
+ }
+ }
+ }
+
+ dev_info(&pdev->dev, "Enabled OPP corresponding to 720MHz\n");
+
+err:
+ return r;
+}
+
/**
* omap3_opp_init() - initialize omap3 opp table
*/
@@ -163,10 +220,14 @@ int __init omap3_opp_init(void)
if (cpu_is_omap3630())
r = omap_init_opp_table(omap36xx_opp_def_list,
ARRAY_SIZE(omap36xx_opp_def_list));
- else
+ else {
r = omap_init_opp_table(omap34xx_opp_def_list,
ARRAY_SIZE(omap34xx_opp_def_list));
+ if (omap3_has_720mhz())
+ r = omap3_opp_enable_720Mhz();
+ }
+
return r;
}
device_initcall(omap3_opp_init);
diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h
index 8198bb6..5204c1e 100644
--- a/arch/arm/plat-omap/include/plat/cpu.h
+++ b/arch/arm/plat-omap/include/plat/cpu.h
@@ -478,6 +478,7 @@ extern u32 omap3_features;
#define OMAP3_HAS_192MHZ_CLK BIT(5)
#define OMAP3_HAS_IO_WAKEUP BIT(6)
#define OMAP3_HAS_SDRC BIT(7)
+#define OMAP3_HAS_720MHZ BIT(8)
#define OMAP3_HAS_FEATURE(feat,flag) \
static inline unsigned int omap3_has_ ##feat(void) \
@@ -493,5 +494,6 @@ OMAP3_HAS_FEATURE(isp, ISP)
OMAP3_HAS_FEATURE(192mhz_clk, 192MHZ_CLK)
OMAP3_HAS_FEATURE(io_wakeup, IO_WAKEUP)
OMAP3_HAS_FEATURE(sdrc, SDRC)
+OMAP3_HAS_FEATURE(720mhz, 720MHZ)
#endif
--
1.7.2.5

View File

@@ -1,32 +0,0 @@
From d9242a243b61059cacde8ce1241b84fc787c57d1 Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Thu, 20 Oct 2011 11:14:08 +0200
Subject: [PATCH 06/10] ARM: OMAP2+: beagleboard: make wilink init look more like pandaboard
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
arch/arm/mach-omap2/board-omap3beagle.c | 8 +-------
1 files changed, 1 insertions(+), 7 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 5e1d9f9..13fffb0 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -203,13 +203,7 @@ static struct regulator_consumer_supply beagle_vmmc2_supply =
static struct regulator_init_data beagle_vmmc2 = {
.constraints = {
- .min_uV = 1850000,
- .max_uV = 1850000,
- .apply_uV = true,
- .valid_modes_mask = REGULATOR_MODE_NORMAL
- | REGULATOR_MODE_STANDBY,
- .valid_ops_mask = REGULATOR_CHANGE_MODE
- | REGULATOR_CHANGE_STATUS,
+ .valid_ops_mask = REGULATOR_CHANGE_STATUS,
},
.num_consumer_supplies = 1,
.consumer_supplies = &beagle_vmmc2_supply,
--
1.7.2.5

View File

@@ -1,33 +0,0 @@
From 47be8c9046c22715ce646091dd9e98fa87fc86e1 Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
Date: Mon, 18 Jul 2011 23:13:41 -0500
Subject: [PATCH 07/10] omap_hsmmc: Set dto to max value of 14 to avoid SD Card timeouts
This fixes MMC errors due to timeouts on certain SD Cards following suggestions
to set dto to 14 by Jason Kridner and Steven Kipisz
Details of the issue:
http://talk.maemo.org/showthread.php?p=1000707#post1000707
This fix was originally proposed by Sukumar Ghoral of TI.
---
drivers/mmc/host/omap_hsmmc.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index dedf3da..a8a60d4 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -1441,6 +1441,9 @@ static void set_data_timeout(struct omap_hsmmc_host *host,
dto = 14;
}
+ /* Set dto to max value of 14 to avoid SD Card timeouts */
+ dto = 14;
+
reg &= ~DTO_MASK;
reg |= dto << DTO_SHIFT;
OMAP_HSMMC_WRITE(host->base, SYSCTL, reg);
--
1.7.2.5

View File

@@ -1,89 +0,0 @@
From 2a9282daf94e8b9a1c8dc6fdf5b97461eb15348d Mon Sep 17 00:00:00 2001
From: Andy Green <andy@warmcat.com>
Date: Thu, 24 Mar 2011 21:27:29 +0000
Subject: [PATCH 08/10] OMAP2+: add cpu id register to MAC address helper
Introduce a generic helper function that can set a MAC address using
data from the OMAP unique CPU ID register.
For comparison purposes this produces a MAC address of
2e:40:70:f0:12:06
for the ethernet device on my Panda.
Note that this patch requires the fix patch for CPU ID register
indexes previously posted to linux-omap, otherwise the CPU ID is
misread on Panda by the existing function to do it. This patch
is already on linux-omap.
"OMAP2+:Common CPU DIE ID reading code reads wrong registers for OMAP4430"
http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=b235e007831dbf57710e59cd4a120e2f374eecb9
Signed-off-by: Andy Green <andy.green@linaro.org>
---
arch/arm/mach-omap2/id.c | 39 +++++++++++++++++++++++++++++++++
arch/arm/mach-omap2/include/mach/id.h | 1 +
2 files changed, 40 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index b6ed78a..de993f1 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -567,3 +567,42 @@ void __init omap2_set_globals_tap(struct omap_globals *omap2_globals)
else
tap_prod_id = 0x0208;
}
+
+/*
+ * this uses the unique per-cpu info from the cpu fuses set at factory to
+ * generate a 6-byte MAC address. Two bits in the generated code are used
+ * to elaborate the generated address into four, so it can be used on multiple
+ * network interfaces.
+ */
+
+void omap2_die_id_to_ethernet_mac(u8 *mac, int subtype)
+{
+ struct omap_die_id odi;
+ u32 tap = read_tap_reg(OMAP_TAP_IDCODE);
+
+ omap_get_die_id(&odi);
+
+ mac[0] = odi.id_2;
+ mac[1] = odi.id_2 >> 8;
+ mac[2] = odi.id_1;
+ mac[3] = odi.id_1 >> 8;
+ mac[4] = odi.id_1 >> 16;
+ mac[5] = odi.id_1 >> 24;
+
+ /* XOR other chip-specific data with ID */
+
+ tap ^= odi.id_3;
+
+ mac[0] ^= tap;
+ mac[1] ^= tap >> 8;
+ mac[2] ^= tap >> 16;
+ mac[3] ^= tap >> 24;
+
+ /* allow four MACs from this same basic data */
+
+ mac[1] = (mac[1] & ~0xc0) | ((subtype & 3) << 6);
+
+ /* mark it as not multicast and outside official 80211 MAC namespace */
+
+ mac[0] = (mac[0] & ~1) | 2;
+}
diff --git a/arch/arm/mach-omap2/include/mach/id.h b/arch/arm/mach-omap2/include/mach/id.h
index 02ed3aa..373313a 100644
--- a/arch/arm/mach-omap2/include/mach/id.h
+++ b/arch/arm/mach-omap2/include/mach/id.h
@@ -18,5 +18,6 @@ struct omap_die_id {
};
void omap_get_die_id(struct omap_die_id *odi);
+void omap2_die_id_to_ethernet_mac(u8 *mac, int subtype);
#endif
--
1.7.2.5

View File

@@ -1,156 +0,0 @@
From d0212d089b62cd7ebcd53104717180482e35ec1a Mon Sep 17 00:00:00 2001
From: Jason Kridner <jdk@ti.com>
Date: Thu, 15 Sep 2011 18:23:02 -0400
Subject: [PATCH 09/10] HACK: OMAP2+: BeagleBoard: Fix up random or missing MAC addresses for eth0 and wlan0
This was borrowed from the Panda implementation at http://patches.linaro.org/777/
This patch registers a network device notifier callback to set the mac
addresses for the onboard network assets of the BeagleBoard correctly, despite the
drivers involved have used a random or all-zeros MAC address.
The technique was suggested by Alan Cox on lkml.
It works by device path so it corrects the MAC addresses even if the
drivers are in modules loaded in an order that changes their interface
name from usual (eg, the onboard module might be "wlan1" if there is a
USB wireless stick plugged in and its module is inserted first.)
Cc: Andy Green <andy@warmcat.com>
---
arch/arm/mach-omap2/board-omap3beagle.c | 90 +++++++++++++++++++++++++++++++
1 files changed, 90 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 13fffb0..5ffe185 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -33,6 +33,8 @@
#include <linux/regulator/machine.h>
#include <linux/i2c/twl.h>
+#include <linux/netdevice.h>
+#include <linux/if_ether.h>
#include <mach/hardware.h>
#include <asm/mach-types.h>
@@ -42,6 +44,7 @@
#include <plat/board.h>
#include <plat/common.h>
+#include <mach/id.h>
#include <video/omapdss.h>
#include <video/omap-panel-generic-dpi.h>
#include <plat/gpmc.h>
@@ -91,6 +94,90 @@ static struct {
.usr_button_gpio = 4,
};
+/*
+ * This device path represents the onboard USB <-> Ethernet bridge
+ * on the BeagleBoard-xM which needs a random or all-zeros
+ * mac address replaced with a per-cpu stable generated one
+ */
+
+static const char * const xm_fixup_mac_device_paths[] = {
+ "usb1/1-2/1-2.1/1-2.1:1.0",
+};
+
+static int beagle_device_path_need_mac(struct device *dev)
+{
+ const char **try = (const char **) xm_fixup_mac_device_paths;
+ const char *path;
+ int count = ARRAY_SIZE(xm_fixup_mac_device_paths);
+ const char *p;
+ int len;
+ struct device *devn;
+
+ while (count--) {
+
+ p = *try + strlen(*try);
+ devn = dev;
+
+ while (devn) {
+
+ path = dev_name(devn);
+ len = strlen(path);
+
+ if ((p - *try) < len) {
+ devn = NULL;
+ continue;
+ }
+
+ p -= len;
+
+ if (strncmp(path, p, len)) {
+ devn = NULL;
+ continue;
+ }
+
+ devn = devn->parent;
+ if (p == *try)
+ return count;
+
+ if (devn != NULL && (p - *try) < 2)
+ devn = NULL;
+
+ p--;
+ if (devn != NULL && *p != '/')
+ devn = NULL;
+ }
+
+ try++;
+ }
+
+ return -ENOENT;
+}
+
+static int omap_beagle_netdev_event(struct notifier_block *this,
+ unsigned long event, void *ptr)
+{
+ struct net_device *dev = ptr;
+ struct sockaddr sa;
+ int n;
+
+ if (event != NETDEV_REGISTER)
+ return NOTIFY_DONE;
+
+ n = beagle_device_path_need_mac(dev->dev.parent);
+ if (n >= 0) {
+ sa.sa_family = dev->type;
+ omap2_die_id_to_ethernet_mac(sa.sa_data, n);
+ dev->netdev_ops->ndo_set_mac_address(dev, &sa);
+ }
+
+ return NOTIFY_DONE;
+}
+
+static struct notifier_block omap_beagle_netdev_notifier = {
+ .notifier_call = omap_beagle_netdev_event,
+ .priority = 1,
+};
+
static struct gpio omap3_beagle_rev_gpios[] __initdata = {
{ 171, GPIOF_IN, "rev_id_0" },
{ 172, GPIOF_IN, "rev_id_1" },
@@ -146,14 +233,17 @@ static void __init omap3_beagle_init_rev(void)
printk(KERN_INFO "OMAP3 Beagle Rev: xM Ax/Bx\n");
omap3_beagle_version = OMAP3BEAGLE_BOARD_XM;
beagle_config.usb_pwr_level = GPIOF_OUT_INIT_HIGH;
+ register_netdevice_notifier(&omap_beagle_netdev_notifier);
break;
case 2:
printk(KERN_INFO "OMAP3 Beagle Rev: xM C\n");
omap3_beagle_version = OMAP3BEAGLE_BOARD_XMC;
+ register_netdevice_notifier(&omap_beagle_netdev_notifier);
break;
default:
printk(KERN_INFO "OMAP3 Beagle Rev: unknown %hd\n", beagle_rev);
omap3_beagle_version = OMAP3BEAGLE_BOARD_UNKN;
+ register_netdevice_notifier(&omap_beagle_netdev_notifier);
}
}
--
1.7.2.5

Some files were not shown because too many files have changed in this diff Show More