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

Compare commits

..

136 Commits
dora ... danny

Author SHA1 Message Date
Denys Dmytriyenko
72d4c5d37d libdrm: restore libdrm-tests package that got missed with TI version
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-08-10 16:41:28 -04:00
Franklin S. Cooper Jr
5ff9feb881 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:59:00 -04:00
Franklin S. Cooper Jr
383266ca96 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:57 -04:00
Franklin S. Cooper Jr
d78b2c21c4 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 11:59:19 -04:00
Franklin S. Cooper Jr
cc36865809 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 11:59:19 -04:00
Franklin S. Cooper Jr
616f91bc32 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 11:59:19 -04:00
Franklin S. Cooper Jr
5f945012c9 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 11:59:19 -04:00
Franklin S. Cooper Jr
29719b15ee 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 11:59:19 -04:00
Franklin S. Cooper Jr
68c58484ab 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 11:59:19 -04:00
Siddharth Heroor
e2b3670c17 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:37:47 -04:00
Siddharth Heroor
ede7a353b9 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:37:23 -04:00
Siddharth Heroor
ac4d555544 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:54:25 -04:00
Siddharth Heroor
ef12440225 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:15:54 -04:00
Denys Dmytriyenko
1c09e95bef 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-24 21:50:46 -04:00
Denys Dmytriyenko
9826121536 linux-ti-staging: update to ti2013.04.02 release
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-12 12:21:08 -04:00
Chase Maupin
428c9db65f 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:38:16 -04:00
Chase Maupin
4f776c4560 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:30:31 -04:00
Denys Dmytriyenko
569af06fd2 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:54:36 -04:00
Chase Maupin
c49e7d4275 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:34:03 -04:00
Chase Maupin
e47e400d07 libdrm: Add support for dra7xx-evm
* Change the COMPATIBLE_MACHINE setting to use omap-a15 so that
  the dra7xx-evm machine type is also included.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-06-04 16:34:03 -04:00
Chase Maupin
3e1ab248af 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:34:03 -04:00
Denys Dmytriyenko
9772c16b8b 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-14 13:04:40 -04:00
Franklin S. Cooper Jr
2091fb4ea2 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:44:25 -04:00
Denys Dmytriyenko
03397a66d8 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-07 11:35:59 -04:00
Denys Dmytriyenko
f2afcfee58 linux-am335x-psp: fix typo in the filename to use underscore
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-26 17:24:37 -04:00
Denys Dmytriyenko
03fbb49000 u-boot-ti-staging: update to ti2013.04.00 release
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-26 16:54:33 -04:00
Denys Dmytriyenko
418403ee99 linux-ti-staging: update to ti2013.04.00 release
Also, remove do_deploy_append() fix, as it's in oe-core now.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-26 16:54:29 -04:00
Franklin S. Cooper Jr
22b2c79dd0 am33x-cm3: Update to latest cm3 release
Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-22 21:36:41 -04:00
Franklin S. Cooper Jr
8f5baa2153 u-boot: Add am3517 u-boot recipe
* Add correct u-boot recipe for am3517.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-22 21:36:37 -04:00
Franklin S. Cooper Jr
3b2d0910db u-boot-am33x: Update u-boot recipe to 2013.01.01
* Update to latest version of u-boot that supports the 3.2 kernel.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-22 16:23:35 -04:00
Franklin S. Cooper Jr
8a6d2d49dd linux-am335x: Update to latest 3.2 kernel release
* Update to the latest PSP release (version 04.06.00.10) of the 3.2 kernel.
* Rename recipe to match meta-ti kernel recipe naming convention.
* Use in tree defconfig instead of providing a separate defconfig. These
  defconfigs were the same anyway.
* Add additional crypto patches that were needed to fix suspend and resume
  issues.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-22 16:23:31 -04:00
Franklin S. Cooper Jr
bb6646fd96 linux-omap-psp: Update commit
* Update to latest supported release.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-22 16:23:27 -04:00
Denys Dmytriyenko
088a1dbea3 u-boot-ti-staging: update to the latest
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-18 20:14:41 -04:00
Denys Dmytriyenko
0bd05df9cf linux-ti-staging: update to the latest 3.8.8
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-18 20:14:31 -04:00
Chase Maupin
f817807842 linux-ti-staging: make cm3 firmware a run-time dependency
* Make the am33x-cm3 firmware a run-time dependency instead of
  build time since it is no longer required at build time.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-18 15:43:25 -04:00
Chase Maupin
2ad1fd65b8 am33x-cm3: use init script to load firmware
* The PM firmware is now loaded using an init script so make
  the init script installation part of the firmware package.
* Fix up the SRC_URI to the proper format.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-18 15:43:25 -04:00
Chase Maupin
7dc90eb9e2 u-boot-ti-staging: Add SRCPV to the PR
* Add the SRCPV to the PR to make it clear which revision of
  the sources are being built and to match the kernel
  versioning.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-17 20:18:57 -04:00
Chase Maupin
4b0d898ffd setup-defconfig: allow using KERNEL_LOCALVERSION
* Add capability to use KERNEL_LOCALVERSION to set an extra
  version string in the kernel.  This mimics functionality
  submitted to the kernel.bbclass but since this overwrites
  the do_configure it must be added here as well.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-17 20:18:57 -04:00
Denys Dmytriyenko
8f7d03e4a1 tune-cortexa{7,8,9,15}: update tunes from oe-core/master with fixes
Specifically interested in hardfp+thumb+neon

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-10 17:07:20 -04:00
Chase Maupin
aefef7fe95 ti-graphics: Add latest 4.09.00.01 version
* Add the latest 4.09.00.01 version of the graphis SDK.  This
  version will compile against the latest v3.8 kernel.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-05 19:34:00 -04:00
Denys Dmytriyenko
891eddf7a2 linux-ti-staging: update with the latest dss fixes in omap5 dts
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-05 14:31:16 -04:00
Denys Dmytriyenko
8cf7df4efc omap-a15.inc: also set TI staging preferred provider for u-boot
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-03 20:25:23 -04:00
Denys Dmytriyenko
abeba37a5f u-boot-ti-staging: update SRCREV for more omap5 changes, bump PR
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-03 20:25:13 -04:00
Franklin S. Cooper Jr
7c3ef24776 libgles-omap3: Add version 4.08.00.02 of the Graphics SDK
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-02 15:42:39 -04:00
Franklin S. Cooper Jr
372e20c544 omap3-sgx-modules: Add version 4.08.00.02 of the Graphics SDK kernel modules
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-02 15:42:33 -04:00
Franklin S. Cooper Jr
380d514d98 libgles-omap3.inc: Add tweaks needed for newer version of the Graphics SDK
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-02 15:42:27 -04:00
Chase Maupin
9fedd1c4d2 omap5-evm: update U-Boot machine to omap5 uevm
* The U-Boot config to be used in the latest code has been updated
  to use omap5_uevm instead of omap5_evm.
* Update to the latest code to pickup this change and modify the
  machine file as well.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-04-02 15:42:17 -04:00
Chase Maupin
f6fa9fe735 linux: Use setup-defconfig in kernel recipes
* Now that the setup-defconfig.inc file has been moved to the
  meta-ti layer the kernel recipes should include this file.
* This makes way to clear this inclusion from the bbappend files
  in meta-arago

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-29 13:35:17 -04:00
Chase Maupin
9f4cd9900f dra7xx-evm: Add DRA7xx machine type
* Add the dra7xx-evm machine type which is part of the omap-a15
  SOC_FAMILY

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-29 13:35:06 -04:00
Denys Dmytriyenko
913f722e9e linux-ti-staging: one more update to latest 3.8.5
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-28 16:48:54 -04:00
Denys Dmytriyenko
1735c59bb7 linux-ti-staging: rename to have version in name, update to latest
* Update to the latest kernel sources.  This also requires changing
  the dtb file names since the omap5 devices have changed to use
  uevm instead of panda and sevm instead of evm.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
2013-03-28 15:18:57 -04:00
Chase Maupin
233da46564 linux-ti-staging: Add panda dts file as supported DTS
* Add the omap5-panda.dts file as a supported DTS to be built.
  This file is for use on the panda and uEVM boards.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-26 14:35:24 -04:00
Chase Maupin
ca64840bab omap5-evm: Update serial console to proper value
* The serial console for the OMAP5 uEVM is ttyO2 not ttyO0

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-26 14:35:20 -04:00
Chase Maupin
2d10089a70 linux-ti-staging: Update to latest staging kernel
* Update to the latest 3.8.4 based staging kernel

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-26 14:35:17 -04:00
Chase Maupin
0e11ce3049 omap5-evm: Add OMAP5 EVM configuration
* Add the machine configuration for the OMAP5 EVM device.
* Create the omap-a15.inc file to be shared with all OMAP
  Cortex-A15 derivative devices.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-26 14:35:13 -04:00
Chase Maupin
881fcc9599 linux-ti-staging: Add OMAP5 support
* Add the KERNEL_DEVICETREE definitions for omap5-evm
* Add the omap-a15 SOC_FAMILY to the list of COMPATIBLE_MACHINEs

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-26 14:35:10 -04:00
Denys Dmytriyenko
6a02716519 beagleboard: switch default u-boot preference to machine-specific tree
SDKs or other users of meta-ti can still use one of the other recipes for
stability or featureset, by setting PREFERRED_PROVIDER in their config.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:42:00 -04:00
Denys Dmytriyenko
855ff4c8b0 am3517-evm: switch default u-boot preference to machine-specific tree
SDKs or other users of meta-ti can still use one of the other recipes for
stability or featureset, by setting PREFERRED_PROVIDER in their config.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:41:52 -04:00
Denys Dmytriyenko
6c4be0a29a am37x-evm: switch default u-boot preference to machine-specific tree
SDKs or other users of meta-ti can still use one of the other recipes for
stability or featureset, by setting PREFERRED_PROVIDER in their config.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:41:48 -04:00
Denys Dmytriyenko
45b73845d5 am180x: switch default u-boot preference to machine-specific tree
SDKs or other users of meta-ti can still use one of the other recipes for
stability or featureset, by setting PREFERRED_PROVIDER in their config.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:41:43 -04:00
Denys Dmytriyenko
8173631f17 keystone: switch default u-boot preference to machine-specific tree
SDKs or other users of meta-ti can still use one of the other recipes for
stability or featureset, by setting PREFERRED_PROVIDER in their config.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:41:38 -04:00
Denys Dmytriyenko
c670286002 ti33x: switch default u-boot preference to ti-staging tree
SDKs or other users of meta-ti can still use one of the other recipes for
stability or featureset, by setting PREFERRED_PROVIDER in their config.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:41:32 -04:00
Denys Dmytriyenko
6b8e4763e7 u-boot: modify mainline version to use the new .inc file
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:41:27 -04:00
Denys Dmytriyenko
e268e5ab46 u-boot-am33x: modify am33x specific version to use new namespace feature
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:41:22 -04:00
Denys Dmytriyenko
7a62fcc7db u-boot-am37x: modify am37x specific version to use new namespace feature
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:41:12 -04:00
Denys Dmytriyenko
11573bda76 u-boot 2011.12: modify multi-machine version for the new .inc file
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:41:01 -04:00
Denys Dmytriyenko
ae33b7ee8a u-boot-am33x: modify am33x specific version to use new namespace feature
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:40:56 -04:00
Denys Dmytriyenko
34063f07ec u-boot-beagleboard: modify beagleboard specific version to use new namespace feature
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:40:51 -04:00
Denys Dmytriyenko
a8a4e2b8b1 u-boot-am180x: modify am180x specific version to use new namespace feature
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:40:47 -04:00
Denys Dmytriyenko
814aefd0c1 u-boot-keystone: modify keystone specific version to use new namespace feature
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:40:42 -04:00
Denys Dmytriyenko
8a3f708383 u-boot-ti-staging: add new recipe for TI unified staging tree
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:40:35 -04:00
Denys Dmytriyenko
ceb0f4897c u-boot.inc: refactor local include file to base off core with TI customizations
* Introduce own namespace to allow multiple instances of the same base version,
  possibly pulled from different trees or patched/customized for specific SoC.
* Suffix-less variant u-boot_YYYY.MM.bb is reserved for mainline versions of the
  recipe with no or minimal patches, with broader machine selection.
* Recipes for machine- or SoC-specific trees should use corresponding suffix -
  either machine, SoC or the name of the tree.
* The .inc file lets the suffixed recipes to provide virtual/bootloader, u-boot,
  as well as generate conventional u-boot binary packages for direct run-time
  dependencies.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:40:31 -04:00
Denys Dmytriyenko
597e23588a u-boot 2011.09-psp: remove an older no longer used version
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:40:19 -04:00
Denys Dmytriyenko
61dee71e3a u-boot 2011.06: remove an older no longer used version
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:40:14 -04:00
Denys Dmytriyenko
f244c38393 u-boot-git: remove a very old no longer used version
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-25 20:39:51 -04:00
Denys Dmytriyenko
900893454c linux-ti33x-psp 3.1: remove an older outdated 3.1 kernel recipe for ti33x
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2013-03-18 19:24:26 -04:00
Denys Dmytriyenko
2843ce6357 ti33x: switch default preference to ti-staging tree
SDKs or other users of meta-ti can still use one of the older 3.2 recipes for
stability or featureset, by setting PREFERRED_PROVIDER in distro or local config.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2013-03-18 19:24:16 -04:00
Denys Dmytriyenko
164d09c5a6 linux-ti-staging: update to the latest merge of 3.8.3
Switch to using the official git.ti.com URL instead of temp gitorious.ti.com

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
2013-03-18 19:24:08 -04:00
Denys Dmytriyenko
a81353cabb linux-omapl138: fix alignment issue of 2.6.37 kernel with gcc-4.7
Patch by Steve Sakoman

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-18 14:41:27 -04:00
Denys Dmytriyenko
b585087534 linux-omap-psp: fix alignment issue of 2.6.37 kernel with gcc-4.7
Patch by Steve Sakoman

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-18 14:41:15 -04:00
Denys Dmytriyenko
adab80bfe5 machines: unify all machines to produce tar.gz instead of tar.bz2 by default
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-12 20:44:39 -04:00
Denys Dmytriyenko
8e7a3d837e linux-ti-staging: update SRCREV and bump MACHINE_KERNEL_PR
* Update SRCREV for the recent merges in TI staging tree, still 3.8.2
* Bump MACHINE_KERNEL_PR to trigger rebuilding out-of-tree components

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-11 17:35:28 -04:00
Chase Maupin
f5530f4905 linux-ti-staging: fix DTB deploy steps
* Until the permanent fix can be picked up in oe-core fix the
  do_deploy function to properly package the dtb files built
  as part of the kernel build.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-11 17:35:19 -04:00
Chase Maupin
7321c84e48 linux-ti-staging: package all dtb files for ti33x
* For the ti33x SOC_FAMILY device package the dtb files for all
  of the am335x boards instead of just the single EVM file.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-11 17:35:12 -04:00
Chase Maupin
dbc9679e93 linux-ti-staging: mark dependencies am335x specific
* The DEPENDS on am33x-cm3 and the installation of the cm3
  firmware is specific to ti33x SOC_FAMILY devices.  Mark those
  pieces as specific so that other devices to not depend on
  am335x cm3 firmware.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-11 17:35:04 -04:00
Chase Maupin
aa8bdcbeff linux-ti-staging: use setup-defconfig
* Use the setup-defconfig.inc functionality to specify the in
  kernel tree defconfig file to use rather than hard coding it
  in the do_configure step.
* This is to make it easier to modify which configs are use by
  other layers as well as supporting additional machines which
  may not use omap2plus_defconfig as needed.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-11 17:34:55 -04:00
Chase Maupin
24111d70d6 setup-defconfig: move from meta-arago to meta-ti
* Moved the setup-defconfig.inc file from meta-arago to meta-ti.
  This functionality is used by the SDKs to allow the option for
  using an in-tree configuration file for the kernel build.
* This option was chosen to make it easy for other layers to
  override the config with their own using the normal OE method
  of specifying a defconfig file in their layer rather than having
  to use some custom variable setting.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-11 17:34:45 -04:00
Denys Dmytriyenko
918faa12ec ti81x: remove platform configs, kernel, u-boot, since ti81x is not supported
* There is no support for these platforms from meta-ti.
* If someone is willing to maintain them, please let us know or feel free to
  take it to a separate layer.
* Therefore, remove SoC and machine configs, kernel, u-boot and X11 configs

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-11 16:48:15 -04:00
Denys Dmytriyenko
67493ea858 omap3-touchbook: remove machine definition, since it's unsupported
There is no support for this device from meta-ti. Plus I don't have the device.
If there's anyone willing to maintain it, please let me know or feel free to
take it to a separate layer.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-11 16:48:15 -04:00
Denys Dmytriyenko
14a20a715c hawkboard: remove machine definition, since it's unsupported
There is no support for this board from meta-ti. Plus I don't have the board.
If there's anyone willing to maintain it, please let me know.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-11 16:48:15 -04:00
Denys Dmytriyenko
5d0be86675 am180x: cleanup machine config, remove common SoC settings
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-08 16:17:36 -05:00
Denys Dmytriyenko
4c74132530 keystone: unify and cleanup configs
* Centralize common/SoC settings in keystone.inc SOC_FAMILY config.
* Set/override uncommon specifics in machine configs.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-08 16:17:22 -05:00
Denys Dmytriyenko
7251d2309b omap4, pandaboard: unify and cleanup configs
* Centralize common/SoC settings in omap4.inc SOC_FAMILY config.
* Set/override uncommon specifics in machine configs.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-08 16:17:11 -05:00
Denys Dmytriyenko
0c5a45b423 ti33x, am335x, beaglebone: unify and cleanup configs
* Centralize common/SoC settings in ti33x.inc SOC_FAMILY config.
* Set/override uncommon specifics in machine configs.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-08 16:16:56 -05:00
Denys Dmytriyenko
21ffcc7614 omap3, am37x, am3517, beagleboard: unify and cleanup configs
* Centralize common/SoC settings in omap3.inc SOC_FAMILY config.
* Set/override uncommon specifics in machine configs.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-08 16:16:38 -05:00
Denys Dmytriyenko
a7288a2712 linux-omapl138: correct recipe's DESCRIPTION
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-08 16:16:20 -05:00
Denys Dmytriyenko
7d68b3bd60 tune-cortexa{15,7}: update tunes files with recent changes in oe-core
* PACKAGE_EXTRA_ARCHS
* appending to TUNE_FEATURES
* TUNE for thumb+neon

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-05 17:06:47 -05:00
Robert P. J. Day
814a292394 u-boot: unify denx.de SRC_URIs to match all others
Every other u-boot git SRC_URI has a different value, so make the odd
ones out consistent with the rest, as in:

-SRC_URI = "git://www.denx.de/git/u-boot.git ...
+SRC_URI = "git://git.denx.de/u-boot.git ...

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-04 12:44:06 -05:00
Denys Dmytriyenko
159989762d multi-kernel: match oe-core for MODULE_IMAGE_BASE_NAME, set it conditionally
Thanks to Robert P. J. Day, MODULE_IMAGE_BASE_NAME was added to oe-core - only
~3.5 years after it got into Classic-OE and with a typo of MODULE_*, not plural
MODULES_*, so match it here and set conditionally.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-04 12:43:52 -05:00
Denys Dmytriyenko
36fde3ec41 linux-omap: replace use of FILESPATHPKG with FILESEXTRAPATHS
Thanks to Robert P. J. Day for reporting.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-04 12:14:48 -05:00
Denys Dmytriyenko
2e71db8625 u-boot: add latest mainline release 2013.01.01
* This is a pure _mainline_ version w/o any patches on top.
* Should work reasonably well for most platforms and is provided as an
  alternative to specialized pre-integrated and patched versions.
* It is not enabled by default, since specialized versions usually have
  more features and better support, although maybe slightly older.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-04 11:43:25 -05:00
Denys Dmytriyenko
e7c7da790f u-boot 2012.10: add the latest SDK 05.06 version from meta-arago
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-04 11:36:05 -05:00
Denys Dmytriyenko
3a000bd536 linux-ti-staging: add recipe for tracking TI latest staging tree
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-03-04 11:30:36 -05:00
Hao Zhang
db2b57fd14 keystone-evm config: add ubifs support
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-28 15:19:33 -05:00
Denys Dmytriyenko
724db5b366 Revert "linux-omap3: Add supported kernel recipe for am37x-evm and am3517-evm"
The same recipe already exists under linux-omap-psp name.

This reverts commit 153b5ed063.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-28 14:59:20 -05:00
Franklin S. Cooper Jr
e851afed41 machine configs: Add SGX to MACHINE_FEATURES
* Add sgx to MACHINE_FEATURES to indicate that a particular machine supports
  sgx.
* TI chips are available in multiple variants including some that supports sgx
  while others do not.
* By adding sgx as a machine feature other layers can create generic
  packagegroups or images for a particular soc but will only include sgx
  dependencies if the particular machine has sgx support.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-25 21:46:29 -05:00
Franklin S. Cooper Jr
233882aa2b linux: Add kernel version 3.3.7 for beagleboard
Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-25 15:36:02 -05:00
Franklin S. Cooper Jr
9ff3bd4b3d linux-omap3: Add supported kernel recipe for am37x-evm and am3517-evm
Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-25 15:35:42 -05:00
Peter A. Bigot
41159b9b78 libgles-omap3: ignore QA errors
This patch allows libgles-omap3 to build on the danny branch.  The following
warnings are not addressed:

 WARNING: libgles-omap3: No generic license file exists for: proprietary-binary in any provider
 WARNING: QA Issue: libgles-omap3: Files/directories were installed but not shipped
  /usr/lib/ES2.0
 WARNING: libgles-omap3: The compile log indicates that host include and/or library paths were used.
         Please check the log '/prj/oe/omap/build-gumstix-community-danny/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/libgles-omap3-4.05.00.03-r35/temp/log.do_compile' for more information.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-17 18:01:16 -05:00
Franklin S. Cooper Jr
1ac81a48bc omap3-sgx-modules: Add v4.08.00.01 of the SGX modules
* Add version 4.08.00.01 of the SGX modules.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-17 17:14:11 -05:00
Franklin S. Cooper Jr
81819baccb libgles-omap3: Add v4.08.00.01 of the Graphics SDK
* Add version v4.08.00.01 of the Graphics SDK.
* Add X11 support via DRI/DRM Xorg driver
* Replace pvrsrvinit with pvrsrvctl (Imagination Technologies based change)

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-17 17:14:11 -05:00
Denys Dmytriyenko
ae3d571f28 machines: set default virtual/bootloader for remaining machines
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-17 16:49:28 -05:00
Chase Maupin
bbf54c833d am335x-evm: Increase UBI max size to 500MB
* Based on the EVM and beaglebone + NAND memory cape we can
  increase the base file system size to 500MB since by default
  there is about 504MB of space allocated to the file system
  partition in the NAND.
* The max size in LEBs was determined using the formula at
  http://processors.wiki.ti.com/index.php/UBIFS_Support

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-17 16:23:00 -05:00
Peter A. Bigot
44c42244aa linux-mainline 3.2: update beagleboard defconfig
Link the TLC59108 driver statically so ULCD7 initialization occurs
automatically as it did before f0e2305c7e which removed the initialization
from u-boot.  (Angstrom-v2012.12 does not include this module by default.)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-17 15:38:52 -05:00
Franklin S. Cooper Jr
800056c5d5 u-boot_2012.04.01: Add latest u-boot recipe for am37x-evm
Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-12 18:25:02 -05:00
Franklin S. Cooper Jr
15420045f6 ti-ocf-crypto-module: Port ti-ocf-crypto-module from Arago
* Recipe pulls in ti-ocf-crypto-module from gforge
* For am37x, this module allows access to the crypto hardware accelerators
  through OCF-Linux.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-12 18:24:57 -05:00
Franklin S. Cooper Jr
f3057de84d u-boot_2010.12-psp03.21.00.04.sdk: Add latest u-boot recipe for am180x-evm
Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-12 18:24:53 -05:00
Franklin S. Cooper Jr
b8cbfa1437 ti-pru-sw-edma-driver: Port PRU SW edma driver from Arago
* Add PRU SW edma driver recipe for the omapl138 machines

* This recipe builds and installs an edma driver module that supports the
  edma user space libraries built by the ti-pru-sw-edma-library recipe.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-12 18:24:48 -05:00
Franklin S. Cooper Jr
746e85779b linux-omapl138-psp: Add latest linux-omapl138 patches
* Add latest patches to linux-omapl138 that were added since this recipe was
  added to meta-ti.
* Update to latest am180x-evm defconfig
* Mimic the following commits from arago:

  linux-davinci: update to add mmc patches

    * Optimizations to reduce overhead on weak platforms

  linux: disable DMA for MUSB

    * For the am3517, am180x, and am335x devices the CPPI 4.1 DMA
      should NOT be used for the MUSB controller.  Using this DMA
      can cause the controller to lockup.
    * Updated the defconfigs to set the use of PIO mode
    * Added a patch to updated the PIO mode description to make it
      easier to determine when it can be used.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-12 18:24:43 -05:00
Franklin S. Cooper Jr
4689b0e62c linux-omapl138-psp_2.6.37: Add MACHINE_KERNEL_PR and fix white space issues.
* Add MACHINE_KERNEL_PR variable to enable future tweaks to this recipe.
* Convert tabs to whitespaces

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-12 18:24:37 -05:00
Franklin S. Cooper Jr
e7c3920f9e machine config: Correct SERIAL_CONSOLE variable for am3517-evm and am37x-evm
* When testing on am37x-evm I noticed that no prompt to login was ever shown
  when connected via serial port.
* I finally noticed that the SERIAL_CONSOLE variable was set incorrectly and
  didn't match the value in the old Arago layer.
* After using the values specific in the machine file in the Arago layer I was
  able to login via serial port.
* This has been verified on both the am37x-evm and am3517-evm.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-12 14:56:19 -05:00
Denys Dmytriyenko
353bd874f2 am335x-evm, omap3*: drop remaining TARGET_ARCH, wrecking sstate
Bump MACHINE_KERNEL_PR to rebuild the correct sstate.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-12 14:50:49 -05:00
Murali Karicheri
a587b90f98 keystone: update defconfig with latest for mcsdk alpha7
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-01-29 14:44:32 -05:00
Murali Karicheri
a1934f3d95 keystone: update kernel and bootloaders recipes for mcsdk alpha7 release
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-01-29 14:44:20 -05:00
Murali Karicheri
e5875d9052 keystone: boot-monitor: add initial recipe
This adds recipe to build boot monitor image. Boot monitor is
a standalone image that is loaded and executed from u-boot to
replace the RBL provided monitor code in ARM with Linux boot
specific code.

Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-01-28 18:48:36 -05:00
Denys Dmytriyenko
7cdc415098 multi-kernel.inc: drop use of KERNEL_CCSUFFIX to match oe-core
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-01-28 18:48:13 -05:00
Denys Dmytriyenko
61ecacbdf3 multi-kernel.inc: repeat do_configure after do_compileconfigs
Populate default defconfig into .config and process with oldconfig target

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-01-28 18:47:40 -05:00
Cliff Brake
bf6acb5e04 beagleboard.conf: add additional sound modules
require for audio to function

Signed-off-by: Cliff Brake <cbrake@bec-systems.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-01-28 18:47:23 -05:00
Cliff Brake
2cc3f0ace5 linux_3.1: add extra '#' to multi-line comment
Bitbake is getting more particular:
ERROR: There is a confusing multiline, partially commented expression on
line 27 of file /scratch/oe/oe-build-core-3/sources/meta-ti/...
Please clarify whether this is all a comment or should be parsed.

Signed-off-by: Cliff Brake <cbrake@bec-systems.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-01-28 18:46:58 -05:00
Denys Dmytriyenko
47bc5e11ec linux-keystone: update to the latest dev release for keystone
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-01-24 14:01:17 -05:00
Denys Dmytriyenko
6f1ea750be u-boot: update to the latest dev release for keystone
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-01-24 14:01:13 -05:00
Denys Dmytriyenko
1e898d9b61 netbase: fix file search path for 'interfaces' file
This .bbappend file is used to override the 'interfaces' file for certain
targets. The current version is broken in that it does not search the correct
path(s).

Thanks to Robert P. J. Day and Gary Thomas for spotting the issue and providing
patches.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-01-16 13:03:59 -05:00
Denys Dmytriyenko
0a764d7336 linux-keystone: update from version 3.6-rc6 to 3.6.6
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2012-12-03 16:16:04 -05:00
Denys Dmytriyenko
ff74447a23 keystone: bump MACHINE_KERNEL_PR for previous changes
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2012-11-30 11:46:54 -05:00
Denys Dmytriyenko
c2f1b57a6c keystone-evm: update serial port and virtual terminal settings
Keystone uses the old ttyS0 serial name instead of the new ttyO0.
Also disable spawning gettys on virtual terminals.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2012-11-30 11:35:00 -05:00
Denys Dmytriyenko
b9276bfe02 keystone-evm.conf: enable cpio images by default
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2012-11-27 11:42:15 -05:00
654 changed files with 418048 additions and 4147 deletions

7
README
View File

@@ -11,6 +11,12 @@ 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.
@@ -21,3 +27,4 @@ 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

@@ -0,0 +1,156 @@
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,5 +7,3 @@ 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"
IMAGE_FSTYPES += "tar.gz ubi"
SERIAL_CONSOLE = "115200 ttyS2"

View File

@@ -1,35 +0,0 @@
#@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

@@ -8,6 +8,9 @@ IMAGE_FSTYPES += "ubi tar.gz"
SERIAL_CONSOLE = "115200 ttyO0"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-dra7xx"
PREFERRED_PROVIDER_u-boot = "u-boot-dra7xx"
UBOOT_MACHINE = "dra7xx_evm_config"
# UBI information. Note that this is board and kernel specific. Changes

View File

@@ -8,14 +8,16 @@ 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 = "r7"
MACHINE_KERNEL_PR = "r6"
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 pci"
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat"

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 = "r3"
MACHINE_KERNEL_PR = "r1"
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"
KERNEL_IMAGETYPE = "uImage"
UBOOT_ARCH = "arm"
UBOOT_ENTRYPOINT = "0x80008000"
@@ -24,7 +24,3 @@ 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

@@ -8,6 +8,9 @@ PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
XSERVER = "xserver-xorg \
xserver-xorg-extension-dri \
xserver-xorg-extension-dri2 \
xserver-xorg-extension-glx \
xserver-xorg-module-exa \
xf86-input-evdev \
xf86-video-omap"

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 = "r21"
MACHINE_KERNEL_PR = "r19"
# 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"
KERNEL_IMAGETYPE = "uImage"
UBOOT_ARCH = "arm"
UBOOT_MACHINE = "am335x_evm_config"
@@ -31,10 +31,6 @@ 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

@@ -1,41 +0,0 @@
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

@@ -0,0 +1,36 @@
DEFAULTTUNE ?= "armv7a-neon"
require conf/machine/include/arm/arch-armv7a.inc
TUNEVALID[cortexa15] = "Enable Cortex-A15 specific processor optimizations"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexa15", "-mtune=cortex-a15", "", d)}"
# Little Endian base configs
AVAILTUNES += "cortexa15 cortexa15t cortexa15-neon cortexa15t-neon"
ARMPKGARCH_tune-cortexa15 = "cortexa15"
ARMPKGARCH_tune-cortexa15t = "cortexa15"
ARMPKGARCH_tune-cortexa15-neon = "cortexa15"
ARMPKGARCH_tune-cortexa15t-neon = "cortexa15"
TUNE_FEATURES_tune-cortexa15 = "${TUNE_FEATURES_tune-armv7a} cortexa15"
TUNE_FEATURES_tune-cortexa15t = "${TUNE_FEATURES_tune-armv7at} cortexa15"
TUNE_FEATURES_tune-cortexa15-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa15"
TUNE_FEATURES_tune-cortexa15t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa15"
PACKAGE_EXTRA_ARCHS_tune-cortexa15 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa15-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa15t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa15-vfp cortexa15t2-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa15-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa15-vfp cortexa15-vfp-neon"
PACKAGE_EXTRA_ARCHS_tune-cortexa15t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa15-vfp cortexa15-vfp-neon cortexa15t2-vfp cortexa15t2-vfp-neon"
# VFP Tunes
AVAILTUNES += "cortexa15hf cortexa15thf cortexa15hf-neon cortexa15thf-neon"
ARMPKGARCH_tune-cortexa15hf = "cortexa15"
ARMPKGARCH_tune-cortexa15thf = "cortexa15"
ARMPKGARCH_tune-cortexa15hf-neon = "cortexa15"
ARMPKGARCH_tune-cortexa15thf-neon = "cortexa15"
TUNE_FEATURES_tune-cortexa15hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa15"
TUNE_FEATURES_tune-cortexa15thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa15"
TUNE_FEATURES_tune-cortexa15hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa15"
TUNE_FEATURES_tune-cortexa15thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa15"
PACKAGE_EXTRA_ARCHS_tune-cortexa15hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa15hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa15thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa15hf-vfp cortexa15t2hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa15hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa15hf-vfp cortexa15hf-vfp-neon"
PACKAGE_EXTRA_ARCHS_tune-cortexa15thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa15hf-vfp cortexa15hf-vfp-neon cortexa15t2hf-vfp cortexa15t2hf-vfp-neon"

View File

@@ -0,0 +1,36 @@
DEFAULTTUNE ?= "armv7a-neon"
require conf/machine/include/arm/arch-armv7a.inc
TUNEVALID[cortexa7] = "Enable Cortex-A7 specific processor optimizations"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexa7", "-mtune=cortex-a7", "", d)}"
# Little Endian base configs
AVAILTUNES += "cortexa7 cortexa7t cortexa7-neon cortexa7t-neon"
ARMPKGARCH_tune-cortexa7 = "cortexa7"
ARMPKGARCH_tune-cortexa7t = "cortexa7"
ARMPKGARCH_tune-cortexa7-neon = "cortexa7"
ARMPKGARCH_tune-cortexa7t-neon = "cortexa7"
TUNE_FEATURES_tune-cortexa7 = "${TUNE_FEATURES_tune-armv7a} cortexa7"
TUNE_FEATURES_tune-cortexa7t = "${TUNE_FEATURES_tune-armv7at} cortexa7"
TUNE_FEATURES_tune-cortexa7-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa7"
TUNE_FEATURES_tune-cortexa7t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa7"
PACKAGE_EXTRA_ARCHS_tune-cortexa7 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa7-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa7t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa7-vfp cortexa7t2-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa7-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa7-vfp cortexa7-vfp-neon"
PACKAGE_EXTRA_ARCHS_tune-cortexa7t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa7-vfp cortexa7-vfp-neon cortexa7t2-vfp cortexa7t2-vfp-neon"
# VFP Tunes
AVAILTUNES += "cortexa7hf cortexa7thf cortexa7hf-neon cortexa7thf-neon"
ARMPKGARCH_tune-cortexa7hf = "cortexa7"
ARMPKGARCH_tune-cortexa7thf = "cortexa7"
ARMPKGARCH_tune-cortexa7hf-neon = "cortexa7"
ARMPKGARCH_tune-cortexa7thf-neon = "cortexa7"
TUNE_FEATURES_tune-cortexa7hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa7"
TUNE_FEATURES_tune-cortexa7thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa7"
TUNE_FEATURES_tune-cortexa7hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa7"
TUNE_FEATURES_tune-cortexa7thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa7"
PACKAGE_EXTRA_ARCHS_tune-cortexa7hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa7hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa7thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa7hf-vfp cortexa7t2hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa7hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa7hf-vfp cortexa7hf-vfp-neon"
PACKAGE_EXTRA_ARCHS_tune-cortexa7thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa7hf-vfp cortexa7hf-vfp-neon cortexa7t2hf-vfp cortexa7t2hf-vfp-neon"

View File

@@ -0,0 +1,36 @@
DEFAULTTUNE ?= "armv7a-neon"
require conf/machine/include/arm/arch-armv7a.inc
TUNEVALID[cortexa8] = "Enable Cortex-A8 specific processor optimizations"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexa8", "-mtune=cortex-a8", "", d)}"
# Little Endian base configs
AVAILTUNES += "cortexa8 cortexa8t cortexa8-neon cortexa8t-neon"
ARMPKGARCH_tune-cortexa8 = "cortexa8"
ARMPKGARCH_tune-cortexa8t = "cortexa8"
ARMPKGARCH_tune-cortexa8-neon = "cortexa8"
ARMPKGARCH_tune-cortexa8t-neon = "cortexa8"
TUNE_FEATURES_tune-cortexa8 = "${TUNE_FEATURES_tune-armv7a} cortexa8"
TUNE_FEATURES_tune-cortexa8t = "${TUNE_FEATURES_tune-armv7at} cortexa8"
TUNE_FEATURES_tune-cortexa8-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa8"
TUNE_FEATURES_tune-cortexa8t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa8"
PACKAGE_EXTRA_ARCHS_tune-cortexa8 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa8-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa8t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa8-vfp cortexa8t2-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa8-vfp cortexa8-vfp-neon"
PACKAGE_EXTRA_ARCHS_tune-cortexa8t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa8-vfp cortexa8-vfp-neon cortexa8t2-vfp cortexa8t2-vfp-neon"
# VFP Tunes
AVAILTUNES += "cortexa8hf cortexa8thf cortexa8hf-neon cortexa8thf-neon"
ARMPKGARCH_tune-cortexa8hf = "cortexa8"
ARMPKGARCH_tune-cortexa8thf = "cortexa8"
ARMPKGARCH_tune-cortexa8hf-neon = "cortexa8"
ARMPKGARCH_tune-cortexa8thf-neon = "cortexa8"
TUNE_FEATURES_tune-cortexa8hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa8"
TUNE_FEATURES_tune-cortexa8thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa8"
TUNE_FEATURES_tune-cortexa8hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa8"
TUNE_FEATURES_tune-cortexa8thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa8"
PACKAGE_EXTRA_ARCHS_tune-cortexa8hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa8hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa8thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa8hf-vfp cortexa8t2hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa8hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa8hf-vfp cortexa8hf-vfp-neon"
PACKAGE_EXTRA_ARCHS_tune-cortexa8thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa8hf-vfp cortexa8hf-vfp-neon cortexa8t2hf-vfp cortexa8t2hf-vfp-neon"

View File

@@ -0,0 +1,36 @@
DEFAULTTUNE ?= "armv7a-neon"
require conf/machine/include/arm/arch-armv7a.inc
TUNEVALID[cortexa9] = "Enable Cortex-A9 specific processor optimizations"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexa9", "-mtune=cortex-a9", "", d)}"
# Little Endian base configs
AVAILTUNES += "cortexa9 cortexa9t cortexa9-neon cortexa9t-neon"
ARMPKGARCH_tune-cortexa9 = "cortexa9"
ARMPKGARCH_tune-cortexa9t = "cortexa9"
ARMPKGARCH_tune-cortexa9-neon = "cortexa9"
ARMPKGARCH_tune-cortexa9t-neon = "cortexa9"
TUNE_FEATURES_tune-cortexa9 = "${TUNE_FEATURES_tune-armv7a} cortexa9"
TUNE_FEATURES_tune-cortexa9t = "${TUNE_FEATURES_tune-armv7at} cortexa9"
TUNE_FEATURES_tune-cortexa9-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa9"
TUNE_FEATURES_tune-cortexa9t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa9"
PACKAGE_EXTRA_ARCHS_tune-cortexa9 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa9-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa9t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa9-vfp cortexa9t2-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa9-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa9-vfp cortexa9-vfp-neon"
PACKAGE_EXTRA_ARCHS_tune-cortexa9t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa9-vfp cortexa9-vfp-neon cortexa9t2-vfp cortexa9t2-vfp-neon"
# VFP Tunes
AVAILTUNES += "cortexa9hf cortexa9thf cortexa9hf-neon cortexa9thf-neon"
ARMPKGARCH_tune-cortexa9hf = "cortexa9"
ARMPKGARCH_tune-cortexa9thf = "cortexa9"
ARMPKGARCH_tune-cortexa9hf-neon = "cortexa9"
ARMPKGARCH_tune-cortexa9thf-neon = "cortexa9"
TUNE_FEATURES_tune-cortexa9hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa9"
TUNE_FEATURES_tune-cortexa9thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa9"
TUNE_FEATURES_tune-cortexa9hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa9"
TUNE_FEATURES_tune-cortexa9thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa9"
PACKAGE_EXTRA_ARCHS_tune-cortexa9hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa9hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa9thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa9hf-vfp cortexa9t2hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa9hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa9hf-vfp cortexa9hf-vfp-neon"
PACKAGE_EXTRA_ARCHS_tune-cortexa9thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa9hf-vfp cortexa9hf-vfp-neon cortexa9t2hf-vfp cortexa9t2hf-vfp-neon"

View File

@@ -1,30 +0,0 @@
#@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"

View File

@@ -1,30 +0,0 @@
#@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"

View File

@@ -1,13 +1,9 @@
#@TYPE: Machine
#@NAME: Keystone 2 K2E machine
#@DESCRIPTION: Machine configuration for the TI Keystone 2 K2E EVM
#@NAME: Keystone 2 machine
#@DESCRIPTION: Machine configuration for the TI Keystone 2
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"
@@ -19,8 +15,9 @@ SYSVINIT_ENABLED_GETTYS = ""
# 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"
# UBI device number 0, total 857 LEBs
# MKUBIFS_ARGS = "-m 2048 -e 129024 -c 857"
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 857"
# do ubiattach /dev/ubi_ctrl -m 4
# from dmesg:

View File

@@ -1,62 +0,0 @@
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.

View File

@@ -1,206 +0,0 @@
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

@@ -1,23 +0,0 @@
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"
COMPATIBLE_MACHINE = "keystone-evm"
SRC_URI = "git://git.ti.com/keystone-linux/boot-monitor.git;protocol=git;branch=${BRANCH}"
SRC_URI = "git://arago-project.org/git/projects/boot-monitor.git;protocol=git;branch=${BRANCH}"
PV = "2.0"
PV = "1.0"
PR = "r1+gitr${SRCPV}"
BRANCH = "master"
S = "${WORKDIR}/git"
#Tag "K2_BM_14.05"
SRCREV = "0e3ffe1ea4a0cee38ae2406901b7cf4d5324b5e9"
SRCREV = "DEV.MCSDK-03.00.00.07"
do_compile () {
unset LDFLAGS

View File

@@ -1,12 +0,0 @@
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"

View File

@@ -1,12 +0,0 @@
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

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

View File

@@ -1,81 +0,0 @@
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 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;
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;

View File

@@ -0,0 +1,45 @@
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,8 +13,6 @@ 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,6 +14,8 @@ 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,6 +14,8 @@ 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,29 +7,19 @@ 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 = "c"
MACHINE_KERNEL_PR_append = "a"
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] := "${@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)}"
SRC_URI[md5sum] = "bd35e9d8843aff3a2aca9d41e7db1c7d"
SRC_URI[sha256sum] = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
@@ -49,9 +39,9 @@ MODULESLOCATION_ti814x = "dc_ti81xx_linux"
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
MODULESLOCATION_ti33x = "dc_ti335x_linux"
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=0"
export SUPPORT_XORG ?= "${@base_contains('DISTRO_FEATURES', 'x11', '1', '0', d)}"
MAKE_TARGETS_append_ti33x = " PM_RUNTIME=1"
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
@@ -59,4 +49,8 @@ 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

@@ -1,67 +0,0 @@
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

@@ -1,67 +0,0 @@
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

@@ -1,67 +0,0 @@
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

@@ -1,26 +0,0 @@
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 = "b+svnr${SRCPV}"
MACHINE_KERNEL_PR_append = "a+svnr${SRCPV}"
PR = "${MACHINE_KERNEL_PR}"
SRC_URI = "svn://gforge.ti.com/svn/pru_sw/;module=trunk;protocol=https;user=anonymous;pswd=''"
@@ -28,3 +28,5 @@ 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 = "b+svnr${SRCPV}"
MACHINE_KERNEL_PR_append = "a+svnr${SRCPV}"
PR = "${MACHINE_KERNEL_PR}"
EXTRA_OEMAKE += "KERNEL_DIR=${STAGING_KERNEL_DIR}"
@@ -32,3 +32,5 @@ 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,6 +0,0 @@
#!/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,21 +1,15 @@
DESCRIPTION = "Cortex-M3 binary blob for suspend-resume"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://License.txt;md5=7bdc54a749ab7a7dea999d25d99a41b8"
LICENSE = "TI-BSD"
LIC_FILES_CHKSUM = "file://License.txt;md5=858099c817e47ea63559fc6b67ae8d91"
PV = "05.00.00.03"
PR = "r1"
PV = "04.06.00.11"
PR = "r4"
# Make package machine specific due to different init scripts
PACKAGE_ARCH = "${MACHINE_ARCH}"
# SRCREV corresponds to tag v05.00.00.03
SRCREV = "a0ddffb63147e2079a08944c0e399c75538201a9"
# SRCREV corresponds to tag "AM335xPSP_04.06.00.11"
SRCREV = "750362868d914702086187096ec2c67b68eac101"
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"
@@ -27,16 +21,12 @@ 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 CROSS_COMPILE="${TARGET_PREFIX}"
make CC="${TARGET_CC}" CROSS_COMPILE="${TARGET_PREFIX}"
}
do_install() {
@@ -45,7 +35,7 @@ do_install() {
# Install the init script to load the PM firmware at boot
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/${SCRIPT} ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
install -m 0755 ${WORKDIR}/init-am33x-cm3 ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
}
PACKAGES =+ "${PN}-initscript"

View File

@@ -1,29 +0,0 @@
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

@@ -0,0 +1,16 @@
require u-boot-ti.inc
DESCRIPTION = "u-boot bootloader for TI devices"
COMPATIBLE_MACHINE = "dra7xx-evm"
PR = "r1+gitr${SRCPV}"
SRC_URI = "git://git.ti.com/ti-u-boot/ti-u-boot.git;protocol=git;branch=${BRANCH}"
BRANCH ?= "ti-u-boot-2013.04+"
# This commit corresponds to ti2013.04.02 release tag
SRCREV = "ca435c914e069f5b74f05f667e2064784943a0ac"
SPL_BINARY = "MLO"

View File

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

View File

@@ -4,67 +4,13 @@ DESCRIPTION = "u-boot bootloader for Multi-Core BU devices"
COMPATIBLE_MACHINE = "keystone"
PR = "r5+gitr${SRCPV}"
PR = "r2+gitr${SRCPV}"
SRC_URI = "git://arago-project.org/git/projects/u-boot-keystone.git;protocol=git;branch=${BRANCH}"
# Tag "K2_UBOOT_2013_01_14.05_16"
SRCREV = "fee500417b989fc9906d86e377b4d3d96033d54e"
BRANCH = "master"
SRC_URI = "git://git.ti.com/keystone-linux/u-boot.git;protocol=git;branch=${BRANCH}"
S = "${WORKDIR}/git"
# DEV.MCSDK-03.00.00.07
SRCREV = "82f40e857d853165310d0753e79235aefb65d7ba"
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

@@ -1,18 +0,0 @@
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

@@ -1,22 +0,0 @@
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,3 @@
COMPATIBLE_MACHINE = "omap4|omap-a15"
EXTRA_OECONF += "--enable-omap-experimental-api"

View File

@@ -1,134 +0,0 @@
#!/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

@@ -1,145 +0,0 @@
#!/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

@@ -1,134 +0,0 @@
#!/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

@@ -1,145 +0,0 @@
#!/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

@@ -1,134 +0,0 @@
#!/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

@@ -1,145 +0,0 @@
#!/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

@@ -1,332 +0,0 @@
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

@@ -1,7 +0,0 @@
# 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

@@ -1,17 +0,0 @@
#!/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

@@ -1,125 +0,0 @@
#!/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

@@ -1,137 +0,0 @@
#!/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

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

View File

@@ -1,333 +0,0 @@
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

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

View File

@@ -1,25 +1,17 @@
#!/bin/sh
legacy_machine_id() { # return the machine ID
machine_id() { # return the machine ID
awk 'BEGIN { FS=": " } /Hardware/ \
{ gsub(" ", "_", $2); print tolower($2) } ' </proc/cpuinfo
}
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
if [ "$(machine_id)" = "ti8168evm" ] ; then
echo TI816x
elif [ "$(machine_id)" = "AM33XX" -o "$(legacy_machine_id)" = "am335xevm" ] ; then
echo TI33XX
elif [ "$(machine_id)" = "AM43" ] ; then
echo TI43XX
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/'
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,30 @@
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,8 +5,6 @@ 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,6 +1,8 @@
require libgles-omap3.inc
LICENSE = "TI-TSPA"
LICENSE = "TSPA"
DEFAULT_PREFERENCE = "-1"
BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"

View File

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

View File

@@ -1,10 +1,10 @@
require libgles-omap3-no-x.inc
require libgles-omap3.inc
LICENSE = "TI-TSPA"
LICENSE = "TSPA"
PR = "${INC_PR}.3"
DEFAULT_PREFERENCE = "-1"
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,29 +18,58 @@ 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] := "${@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)}"
SRC_URI[md5sum] = "bd35e9d8843aff3a2aca9d41e7db1c7d"
SRC_URI[sha256sum] = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_FRONTWSEGL.so.1"
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"

View File

@@ -1,50 +0,0 @@
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

@@ -1,50 +0,0 @@
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

@@ -1,50 +0,0 @@
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

@@ -1,28 +0,0 @@
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

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

View File

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

View File

@@ -0,0 +1,7 @@
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

@@ -0,0 +1,31 @@
require recipes-graphics/xorg-driver/xorg-driver-video.inc
SUMMARY = "X.Org X server -- TI OMAP integrated graphics chipsets driver"
DESCRIPTION = "Open-source X.org graphics driver for TI OMAP graphics \
Currently relies on a closed-source submodule for EXA acceleration on \
the following chipsets: \
+ OMAP3430 \
+ OMAP3630 \
+ OMAP4430 \
+ OMAP4460 \
+ OMAP5430 \
+ OMAP5432 \
\
NOTE: this driver is work in progress.. you probably don't want to try \
and use it yet. The API/ABI between driver and kernel, and driver and \
acceleration submodules is not stable yet. This driver requires the \
omapdrm kernel driver w/ GEM support. \
"
LIC_FILES_CHKSUM = "file://COPYING;md5=10ce5de3b111315ea652a5f74ec0c602"
DEPENDS += "virtual/libx11 drm xf86driproto udev"
SRCREV = "653ccadb38c87be565df3fbf2ff24a0cbe5a5e98"
PR = "${INC_PR}.1"
PV = "0.4.2+gitr${SRCPV}"
SRC_URI = "git://anongit.freedesktop.org/xorg/driver/xf86-video-omap;protocol=git"
S = "${WORKDIR}/git"

View File

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

View File

@@ -0,0 +1,340 @@
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

@@ -0,0 +1,26 @@
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

@@ -0,0 +1,31 @@
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

@@ -0,0 +1,79 @@
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

@@ -0,0 +1,46 @@
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

@@ -0,0 +1,54 @@
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

@@ -0,0 +1,27 @@
#!/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

@@ -0,0 +1,67 @@
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

@@ -0,0 +1,196 @@
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

@@ -0,0 +1,340 @@
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

@@ -0,0 +1,26 @@
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

@@ -0,0 +1,31 @@
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

@@ -0,0 +1,202 @@
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

@@ -0,0 +1,32 @@
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

@@ -0,0 +1,33 @@
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

@@ -0,0 +1,89 @@
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

@@ -0,0 +1,156 @@
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

View File

@@ -0,0 +1,26 @@
From 713c5b4ce910dacdd75e9616b0f989d643008536 Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Wed, 19 Oct 2011 12:44:14 +0200
Subject: [PATCH 10/10] ARM: OMAP2+: beagleboard: fix mmc write protect pin when using the wilink expansion board
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 5ffe185..0124060 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -274,7 +274,7 @@ static struct omap2_hsmmc_info mmcbbt[] = {
{
.mmc = 1,
.caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
- .gpio_wp = 29,
+ .gpio_wp = -EINVAL,
},
{
.name = "wl1271",
--
1.7.2.5

View File

@@ -0,0 +1,29 @@
From a2139a0efb9472a649465a1080799c73470fd201 Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Wed, 25 Jan 2012 15:48:36 +0100
Subject: [PATCH] beagleboard: reinstate usage of hi-speed PLL divider
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
arch/arm/mach-omap2/board-omap3beagle.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 016d0985..c4c7a99 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -467,6 +467,11 @@ static struct omap_dss_device beagle_dvi_device = {
.driver_name = "generic_dpi_panel",
.data = &dvi_panel,
.phy.dpi.data_lines = 24,
+ .clocks = {
+ .dispc = {
+ .dispc_fclk_src = OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC,
+ },
+ },
.reset_gpio = -EINVAL,
};
--
1.7.7.5

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