L25.INC2.5 Release Notes
From OMAPpedia
Contents |
[edit] Introduction
This release has been developed and tested in the following environment.
OS Kernel: Linux® 2.6.29. AndroidTM Éclair 2.1 public project. Toolchain: CodeSourcery compiler version 2008q3-72. Manifest: http://git.omapzoom.org/?p=repo/android/platform/omapmanifest.git;a=commit;h=bdee72ef50370e07aaa13b254a1ec7d2451796b8. U-boot Version: 248783f15092779da506801e97936aa2b7ed3783. X-loader version: 49f261c4e0bbc5d50e164f5fc58442dec68654b6.
[edit] Release Content
The release refers to the source code in git trees and the binary packages are distributed in different projects. The next section on how to build will help pull them into the correct directories to integrate the software system.
Documentation
OMAPpedia is an excellent source for details on the various components. There is a project listing in the main page on the various components. You may also go and check the following: Refer to BSP release notes at
https://gforge.ti.com/gf/project/omapandroid/docman/?subdir=11
Refer to Bridge release notes at
https://gforge.ti.com/gf/project/omapandroid/docman/?subdir=17
Power Management materials PM is enabled by default in the kernel, but for enabling any of the features we need to use some sysfs entries from user space:
http://omappedia.org/wiki/Linux_OMAP_Kernel_Main http://elinux.org/OMAP_Power_Management
Refer to OMX release notes at https://gforge.ti.com/gf/project/omapandroid/docman/?subdir=22
Source code
Release Manifest for open code source. Release Tag - RLS25.INC2.5rc2
Follow these instructions in order to download RLS25.INC2.5rc2 manifest:
mkdir RLS25.INC2.5RC2 cd RLS25.INC2.5RC2 repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b eclair cd .repo/manifests git reset --hard RLS25.INC2.5rc2 cd ../.. repo sync
Kernel cloning
git clone git://git.omapzoom.org/kernel/omap.git cd omap/ git checkout --track -b p-android-omap-2.6.29 origin/p-android-omap-2.6.29 git checkout 6bec52ae43198677467744befd6598ab19f5c041
Other Binary packages
DSP Binary Package - binaries Connectivity Package - project Graphics Package - Please refer to Build/Install instructions on details
[edit] Build and Installation Instructions
Building the Bootloader, Kernel and Android File System
The final Release RC tag from L25x manifest for the source should be used. Perform a clean build of u-boot, x-loader, kernel and the android file system. Instructions on how to build can also be obtained from Android Wiki
Pre-built binaries from this release can be obtained from Package. Please follow the below instructions to modify the file system to make it work.
DSP binaries package
Pull in the DSP binaries and install them following the instructions in the readme.txt in the package. Features supported can be referred at OpenMAX page
IMPORTANT: First you need to rename/move a couple of libraries to make them work. The libraries are in /system/lib:
- libOMX.TI.AMR.decode.so
- libOMX.TI.AMR.encode.so
Rename them to something else (e.g. libOMX.TI.AMR.decode.so.bak and libOMX.TI.AMR.encode.so.bak). By default, AMR libraries have been already renamed in available pre-compiled binaries RLS25.INC2.5 Package.
If you are booting from NAND then once you have booted your filesystem, on your terminal type the following:
cd /system/lib mv libOMX.TI.AMR.decode.so libOMX.TI.AMR.decode.so.bak mv libOMX.TI.AMR.encode.so libOMX.TI.AMR.encode.so.bak
then reboot.
Connectivity package
Connectivity package can be obtained from Wilink package. For instructions to build and test, refer to Wilink wiki
Graphics package
To access the graphics package - following steps are required
- Send an email to '' requesting access to the OMAP – Mobile Gaming extranet
- You will get an e-mail as a response to your request. Follow instructions in the e-mail to register at TI extranet site
- Go to OMAP Gaming website - https://www-a.ti.com/extranet/cm/product/wtbugaming/wtbuext/general/homepage.shtml and log in with your newly created credentials
- Download the file named: OMAP36xx_Android_SGX_SDK_zoom3_20100506.zip referred as OpenGL®ES Graphics Android SDK for OMAP3630 Zoom3 Development platform Supports OpenGLES v1.1 OpenGLES 2.0 and OpenVG 1.1 on the web-page. Please note you will need to accept the licensing terms before downloading the package.
- Copy to Linux PC, after unzipping the package you should get Linux installer with the file name OMAP36xx_Android_SGX_SDK_zoom3-1.5.15.2766.bin
- You may need to give execute permission with below command $ chmod +x OMAP36xx_Android_SGX_SDK_zoom3-1.5.15.2766.bin
- Now run this installer $ ./OMAP36xx_Android_SGX_SDK_zoom3-1.5.15.2766.bin
- Read the license terms and accept them to install the graphics SDK on to your system. After successful installation you will get a directory with name OMAP36xx_GFX_Android_SDK in a given path. Refer the readme.txt file in this package for using the SDK.
[edit] Booting with zoom2 (OMAP 3430):
RLS25.INC2.5rc2 release is supported by Zoom2 (OMAP 3430). Pre-compiled binaries are already available:
Rename the files above by removing '_zoom2' (e.g. uImage_zoom2 to uImage) and boot as usual using the following bootargs:
Bootargs
nand unlock nand ecc hw nand erase setenv bootargs console=ttyS3,115200n8 root=/dev/mmcblk0p2 rw rootdelay=1 mem=256M init=/init setenv videoout=omap24xxvout omap_vout.video1_numbuffers=6 omap_vout.vid1_static_vrfb_alloc=y omapfb.vram="0:4M" setenv bootcmd 'mmcinit 0; fatload mmc 0 0x81c00000 uImage; bootm 0x81c00000' saveenv boot
If you want to create your own build for zoom2; then consider the following updates to the build procedure.
Note that even when you do not need to re-compile the Android File System; if you plan to test Wifi you will need to clone (if it is not yet available in your environment) at least this particular project using the specified version within the manifest and re-compile as instructed below.
Uboot
cd $MYDROID/bootable/bootloader/u-boot make distclean make CROSS_COMPILE=arm-none-linux-gnueabi- omap3430zoom2_config make CROSS_COMPILE=arm-none-linux-gnueabi- cp $MYDROID/bootable/bootloader/u-boot/tools/mkimage ~/bin/
Xloader
cd $MYDROID/bootable/bootloader/x-loader make distclean make CROSS_COMPILE=arm-none-linux-gnueabi- omap3430zoom2_config make CROSS_COMPILE=arm-none-linux-gnueabi- ift
Kernel
Before the kernel compilation, you will need to download the RLS25.INC2.5rc2 patches for zoom2.
cdgit apply 0001-Page-flipping-frame-buffer-issue-FIXED.patch git apply 0001-Including-FM-during-kernel-modules-compilation-for-3.patch make CROSS_COMPILE= /arm-none-linux-gnueabi- distclean make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- zoom2_defconfig make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage
Kernel modules
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules cd $MYDROID/../myfs_25.INC2.5 cp -prf/drivers/misc/ti-st/*.ko .
WIFI
cd $MYDROID/system/wlan/ti/wilink_6_1/platforms/os/linux export ARCH=arm export HOST_PLATFORM=zoom2 export KERNEL_DIR=export CROSS_COMPILE=arm-none-linux-gnueabi- make cd $MYDROID/system/wlan/ti/wilink_6_2/platforms/os/linux make
Now you should have available:
- tiwlan_drv.ko
- tiwlan.ini
- tiap_drv.ko
- tiwlan_ap.ini
Copy these into your myfs folder. If you downloaded the pre-compiled binaries then by default is named as myfs_25.INC2.5.
cp $MYDROID/system/wlan/ti/wilink_6_1/config/tiwlan.ini $MYDROID/../myfs_25.INC2.5/system/etc/wifi cp $MYDROID/system/wlan/ti/wilink_6_1/platforms/os/linux/tiwlan_drv.ko $MYDROID/../myfs_25.INC2.5/system/etc/wifi cp $MYDROID/system/wlan/ti/wilink_6_2/platforms/os/linux/tiap_drv.ko $MYDROID/../myfs_25.INC2.5/system/etc/wifi/softap cp $MYDROID/system/wlan/ti/wilink_6_2/config/tiwlan_ap.ini $MYDROID/../myfs_25.INC2.5/system/etc/wifi/softap
Unless stated otherwise, ensure you have allocated firmware.bin included in Wilink package in the usual place ($MYDROID/../myfs_25.INC2.5/system/etc/wifi).
[edit] New in this Release
- This release was validated using "Éclair" public branch
- This release is on 2.6.29 Kernel.
- PV OpenCore® 2.02 and patches
- BSP
- MUSB DMA optimizations.
- MUSB and MMC PM Constraints update.
- EHCI PHY mode support.
- Support for pre-multiplied alpha blending.
- OFF mode fixed.
- TV out support.
- Remove the console dbg msgs from DISPC.
- Fix c-state constraint for HDMI GFX_FIFO_UNDERFLOW.
- Improving throughput using the constraints framework.
- Disable OTG AUTOIDLE feature to allow OMAP3630 to hit OFF mode.
- Update DMA buffer address between DMA/PIO transfers.
- Image/Video
- Support for Audio “crackle” sounds are heard in addition to the recorded sound for first 2-3 seconds of the recorded clip. During this time video is somewhat jumpy.
- Fixed: AV sync fails (delay of close to 1 sec is there, first audio is played followed by video).
- Fixed: Recorded fps is less than the set value (eg: records at 27fps for 30fps setting, 13 for 15fps).
- Robustness and Clean ups in Camera subsystem components.
- DSP Socket Nodes migration 3.11.
- Review comments defect fixes in OMX JPEG and CameraHAL.
- 128 Byte alignment.
- CameraHAL component test app, Added 43 new test cases as part of Unit test suite on for CameraHAL. "pal" and "ntsc" that can be used to tv out.
- omapfb.vram=
: [@ ][,...] VRAM allocated for a framebuffer. Normally omapfb allocates vram depending on the display size. With this you can manually allocate more or define the physical address of each framebuffer. For example, "1:4M" to allocate 4M for fb1. - omapfb.debug=
Enable debug printing. You have to have OMAPFB debug support enabled in kernel config. - omapfb.test=
Draw test pattern to framebuffer whenever framebuffer settings change. You need to have OMAPFB debug support enabled in kernel config. - omapfb.vrfb=
Use VRFB rotation for all framebuffer. - omapfb.rotate=
Default rotation applied to all framebuffer: 0 - 0 degree rotation. 1 - 90 degree rotation. 2 - 180 degree rotation. 3 - 270 degree rotation. - Refer to OMX release notes
- Bluetooth
- FM driver ST interface support added and FM works without Bluetooth being enabled from UI.
- Enabled OPP support from Android and now file transfer is possible from Android UI (From Gallery)/BlueFTP.
- FM stack version M5.03.
- UART2 DMA enabled.
- BT-FM service pack version 2.27.
- Supported Features:
- BT Scan, pair, connects.
- A2DP streaming to BT Stereo headset
- Audio streaming over HFP to BT mono/stereo headset
- AVRCP control of Music player
- FM Transmit
- FM Radio
- BT PM with OMAP PM
- File tranfer using BlueFTP application.
- Wi-Fi
- Upgraded wilink_6_1 version to M5.04 (WiLink_Driver_6.1.0.0.130)
- Random MAC address for wifi interface.
- Following WLAN features are supported (through UI and WLAN TI CLI Utility)
- Scanning for AP's and listing the devices with SSID
- Connecting to the available AP's
- Web browsing
- WLAN security (WEP40, WEP128, WPA, WPA2)
- Roaming
- Ad-hoc networking
- QoS
- Host power management
- BT & WLAN Coexistence
- PPM SmartReflex™
- SmartReflex™ is an adaptive voltage scaling technology, in which the supply voltage can be adapted to the silicon performance either from the static sense (e.g. adapted to the manufacturing process of a given device) or the dynamic sense (e.g. adapted to the temperature induced current performance of the device). This allows dynamically adapting the VDD1 & VDD2 voltages to the silicon characteristics and temperature to minimize active power consumption. It can operate under manual or automatic mode to suit PM SW needs. Though it is recommended to run the system at specified voltage & frequency as per selected OPP, the optimal voltage for a given frequency varies with the manufacturing process of the device and temperature. Thus, the optimal voltage for a given frequency is different for every silicon chip based on its silicon characteristics (hot vs. cold samples) and current temperature.
Note: SmartReflex™ does tuning around the recommended OPP voltage and never changes the OPP
To enable/disable SmartReflexН for VDD1 & VDD2, use the following commands, respectively:
# echo –n> /sys/power/sr_vdd1_autocomp
The valuecan be
0 – To disable
1 – To enable
# echo –n> /sys/power/sr_vdd2_autocomp
The valuecan be
0 – To disable
1 – To enable
[edit] Limitations/Known Issues
IMPORTANT:
- Currently we support only MPEG4 video encoding. To test it open the camera (or camcorder) app. Once it is open, press
. Select "Settings" from the menu. Once this menu loads, choose "Select Video Quality" and "Select Video Encoder" and set them to DVD-Video NTSC and MPEG4 respectively. See Test Execution Instructions
Random white screen issue
This is a known issue which happens due to change in GPIO pin muxing in beta and production boards. Reading the gpio_94 to determine production vs pilot units has shown not to be a reliable method. Now we will check the silicon version of the zoom2 unit based on the following:
If Silicon rev is ES3.1 or greater => Zoom2 Production Units. If Silicon rev is ES3.0 or lesser => Zoom2 Pilot Units
With this information we can determine the gpio value required for the lcd reset:
Zoom2 Production Unit => LCD panel reset gpio = 96
Zoom2 Pilot Unit => LCD panel reset gpio = 55
Refer to the commit ID 571770a16d95a0eaae9740ee0c58246700b345c7 for a fix.[edit] Use Case Test Results
Test Case ID Test Case Name Validation Criteria Sample file Test Result Comments 1 Boot from SD Android boots from SD card N/A Pass Android boots up and the Home screen is displayed on the LCD (no need of any DSP binary) 2 Audio Playback - AAC Play - Audio shall play without audible glitches. A_000396_AAC_48kHz_128kbps_hint.mp4 Pass Audio plays without audible glitches. 3 A/V Playback - MPEG4 Audio can be mute; video can be distorted until play is resumed. AV_000370_MPEG4_Visual_Simple_Profile_Level_5_D1NTSC_30fps_8Mbps_short_version_AAC_48Khz_128Kbps_stereo.3gp Pass Video is heard and rendered without distortion. 4 A/V Playback - H264 Play - Shall play synchronized audio/video without audible/visible distortion. AV_000523_H264_BL30_D1NTSC_30fps_4Mbps_AAC_48kHz_128kbps_stereo_4m30s.mp4 Pass Video is heard and rendered without distortion. 5 A/V Record - MPEG4 Shall record synchronized audio/video without audible/visible distortion. Digital zoom applies to viewfinder and capture. NA Pass Need to rename libOMX.TI.AMR.encode.so and libOMX.TI.AMR.decode.so in /system/lib to make Camcorder use Android's audio encoder since there is no TI AMR encoder. 6 Image Capture - JPEG Image should be capture without any distortion. NA Pass Image is displayed without distortion. You can switch to Camcorder and then go back to Camera to keep taking pictures. 7 Bluetooth Pass if pairing is succesful. NA Pass BT device is paired without issues. 8 FM FM station should be listened properly. N/A. Pass. FM station listened correctly. 9 Bluetooth File Transfer Sent and received file should be uncurrupted. N/A. Pass. Files sent and received OK. 10 WLAN File shall be downloaded and rendered successfully by the browser. NA Pass. URL is downloaded and displayed correctly on browser. 11 GFX SDK OGLES2HelloTriangle GFX should be displayed properly. NA Pass. GFX displayed OK. [edit] Resources
OMAPZoom.org and OMAPpedia.org may be good starting places.
IRC Chat - #linux-omap
Googlegroups - OmapZoom
Mailing List - OMAPAndroid Discussion list[edit] Related Links
lcd tv - SmartReflex™ is an adaptive voltage scaling technology, in which the supply voltage can be adapted to the silicon performance either from the static sense (e.g. adapted to the manufacturing process of a given device) or the dynamic sense (e.g. adapted to the temperature induced current performance of the device). This allows dynamically adapting the VDD1 & VDD2 voltages to the silicon characteristics and temperature to minimize active power consumption. It can operate under manual or automatic mode to suit PM SW needs. Though it is recommended to run the system at specified voltage & frequency as per selected OPP, the optimal voltage for a given frequency varies with the manufacturing process of the device and temperature. Thus, the optimal voltage for a given frequency is different for every silicon chip based on its silicon characteristics (hot vs. cold samples) and current temperature.