ANDROID RN 4 04 00 01

'''  Content is no longer maintained and is being kept for reference only! '''

Introduction
'''  Content is no longer maintained and is being kept for reference only! '''

This release includes the Android graphics drivers for the AM/DM 35x/37x/45x |AM 38xx family of chipsets. The Graphics SDK contains documentation and demo programs.

Important Note:


 * AM/DM 35x|37x have been tested with 2.6.32 and 2.6.37 kernel.
 * AM38xx has been tested with 2.6.37 kernel.
 * AM45x has been tested with 2.6.35 kernel.

Requirements, Pre-requisites and demo instructions
For software setup and pre-requisites and other instructions, refer to the main pages at, Android_Graphics_SDK_Getting_Started_Guide

Features in this release

 * Support for SGX-530 core revisions 1.2.1 (AM 35x)
 * Support for SGX-530 core revisions 1.2.5 (AM 37x, AM38xx)
 * Support for SGX-540 core revisions 1.2.0 (AM45x)
 * Updated IMG DDK version 1.7, that has improved Graphics performance
 * Support for AM38xx with 2.6.37 Kernel on Gingerbread.
 * Support for AM35x|37x with 2.6.32 and 2.6.37 Kernel on Gingerbread.
 * Support for AM45x with 2.6.35 kernel on Gingerbread.

Kernel, Toolchain used for validation
AM37x:


 * Tested with Android 2.6.32 and 2.6.37 kernel - GingerBread
 * Android toolchain - GingerBread
 * Android filesystem - GingerBread

AM38xx:


 * Tested with Android 2.6.37 kernel - Gingerbread
 * Android toolchain - Gingerbread
 * Android filesystem - Gingerbread

AM45x:


 * Tested with Android 2.6.35 kernel - Gingerbread
 * Android toolchain - Gingerbread
 * Android filesystem - Gingerbread

Khronos API support

 * OpenGL ES 1.1
 * OpenGL ES 2.0
 * OpenVG 1.1 (Using CPU for tessellation)
 * EGL
 * Limited 2D acceleration via PVR2D API

Window Systems

 * Android Window system is supported.

Extensions

 * Refer to eglinfo output (run eglinfo on Android terminal prompt to see the list of extensions supported).

What is not supported

 * Power Management features are not fully validated.
 * Automatic SGX core version detection, and target side install are not supported due to the limited command set available on Android.

Additional Packages
Benchmarking packages for SGX functionalities and APIs are available at,


 * https://gforge.ti.com/gf/project/gleslayer/

Fixed in this Release

 * Build system - to support multiple platforms builds viz. AM/DM 35x/37x, AM38xx, AM45x
 * Fixed system lockup issues on AM37x platforms.
 * Updated U-boot to set correct SGX clock frequency on AM37x devices.
 * Added S-video support.
 * Fixed powerdomain sleep issues.

Limitations/ Known Issues

 * Active Power Management(SGX) feature is not supported.

Build and Installation

 * SDK Build Procedure:

1) Edit Rules.make file and set appropriate paths

2) Build SDK Using -     $ make OMAPES=X.x (see make help for more info)

4) Install the SDK into File system using:     $ sudo make OMAPES=X.x install

(This copies the *.so and *.ko to file system pointed to by TARGETFS_INSTALL_DIR variable).

Note: In Case of AM389x/387x platforms Syslink and VPSS modules need to be built for Video/Display subsystem.

Building and Installing SysLink:
For AM389x: $ export ANDROID_ROOT=/path/to/android/source $ export SYSLINK_ROOT=/path/to/android/source/syslink/REL_SYSLINK_02.00.00.67/syslink_02_00_00_67_alpha2 $ export NFS_ROOT=/path/to/android/nfs/filesystem $ export IPCDIR=/path/to/android/source/syslink/ipc_1_22_03_23/packages


 * Building the SysLink module:

$ cd $SYSLINK_ROOT/ti/syslink/utils/hlos/knl/Linux $ make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX clean $ make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX


 * Building the SysLink user library:

$ cd $SYSLINK_ROOT/ti/syslink/utils/hlos/usr/Linux $ make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX clean $ make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX

$ cd $SYSLINK_ROOT/ti/syslink/samples/hlos/common/usr/Linux $ make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX clean $ make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX


 * Building the ProcMgr binary:

$ cd $SYSLINK_ROOT/ti/syslink/samples/hlos/procMgr/usr/Linux $ make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX clean $ make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX


 * Copy Kernel modules:

/path/to/android/source/syslink/REL_SYSLINK_02.00.00.67/syslink_02_00_00_67_alpha2/ti/syslink/bin/TI816X/syslink.ko /path/to/android/source/REL_SYSLINK_02.00.00.67/syslink_02_00_00_67_alpha2/ti/syslink/bin/TI816X/samples/procmgrapp_release

to

/path/to/android/nfs/filesystem/system/bin/syslink/

For AM387x: $ export ANDROID_ROOT=/path/to/android/source $ export SYSLINK_ROOT=/path/to/android/source/syslink/REL_SYSLINK_02.00.00.67/syslink_02_00_00_67_alpha2 $ export NFS_ROOT=/path/to/android/nfs/filesystem $ export IPCDIR=/path/to/android/source/syslink/ipc_1_22_03_23/packages


 * Building the SysLink module:

$ cd $SYSLINK_ROOT/ti/syslink/utils/hlos/knl/Linux $ make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX SYSLINK_VARIANT=TI814X clean $ make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX SYSLINK_VARIANT=TI814X


 * Building the SysLink user library:

$ cd $SYSLINK_ROOT/ti/syslink/utils/hlos/usr/Linux $ make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX SYSLINK_VARIANT=TI814X clean $ make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX SYSLINK_VARIANT=TI814X

$ cd $SYSLINK_ROOT/ti/syslink/samples/hlos/common/usr/Linux $ make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX SYSLINK_VARIANT=TI814X clean $ make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX SYSLINK_VARIANT=TI814X


 * Building the ProcMgr binary:

$ cd $SYSLINK_ROOT/ti/syslink/samples/hlos/procMgr/usr/Linux $ make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX SYSLINK_VARIANT=TI814X clean $ make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX SYSLINK_VARIANT=TI814X


 * Copy Kernel modules:

/path/to/android/source/syslink/REL_SYSLINK_02.00.00.67/syslink_02_00_00_67_alpha2/ti/syslink/bin/TI816X/syslink.ko /path/to/android/source/REL_SYSLINK_02.00.00.67/syslink_02_00_00_67_alpha2/ti/syslink/bin/TI816X/samples/procmgrapp_release

to

/path/to/android/nfs/filesystem/system/bin/syslink/

Build VPSS module:
$ cd 

$ make ARCH=arm CROSS_COMPILE=arm-eabi- KBUILD_EXTRA_SYMBOLS=$SYSLINK_ROOT/ti/syslink/utils/hlos/knl/Linux/Module.symvers modules


 * Installing VPSS/fb modules to Rootfs:

$ make ARCH=arm CROSS_COMPILE=arm-eabi- INSTALL_MOD_PATH=$NFS_ROOT/system/ KBUILD_EXTRA_SYMBOLS=$SYSLINK_ROOT/ti/syslink/utils/hlos/knl/Linux/Module.symvers modules_install

Note: Please refer Android release page for more details on building Syslink/VPSS modules.

Contents
The folders in the installed package contain binaries for several family of devices containing the SGX530/540 cores. Brief description of these folders is below.

{| ! ! Folder Name ! Description ! Used by ! style="background: #FFDDDD;"|1 ! style="background: #FFDDDD;"|1 ! style="background: #FFDDDD;"|2 ! style="background: #FFDDDD;"|2
 * + Graphics SDK folder contents
 * gfx_rel_es3.x_android
 * Release binaries for platforms having SGX-530 core revision 1.2.1
 * (AM35xx/DM35xx) GSG:_AM35x_and_OMAP35x_Rebuilding_the_Software
 * gfx_rel_es5.x_android
 * Release binaries for platforms having SGX-530 core revision 1.2.5
 * (AM37xx/DM37xx) GSG:_AM35x_and_OMAP35x_Rebuilding_the_Software
 * gfx_rel_es6.x_android
 * Release binaries for platforms having SGX-530 core revision 1.2.5
 * (AM38xx) GSG:_AM35x_and_OMAP35x_Rebuilding_the_Software
 * gfx_rel_es7.x_android
 * Release binaries for platforms having SGX-540 core revision 1.2.0
 * (AM38xx) GSG:_AM35x_and_OMAP35x_Rebuilding_the_Software

! style="background: #FFDDDD;"|3 }
 * TI_Android_Graphics_SDK
 * Source for Graphics Kernel Modules
 * Contains kernel dependent code, changes depending on Linux kernel used